// 已读取AGENTS.md import * as fs from 'fs'; import * as path from 'path'; /** * 第四十八批回归闸门:大神入驻申请不得同名抢占他人档案 */ describe('第四十八批大神入驻归属闸门', () => { const rootDir = path.resolve(__dirname, '../../'); const repoCode = fs.readFileSync(path.join(rootDir, 'server/src/db/repository.ts'), 'utf-8'); const block = () => { const start = repoCode.indexOf('async applyCompanion('); expect(start).toBeGreaterThan(-1); return repoCode.slice(start, start + 3000); }; it('重新提交仅按 user_id 匹配本人档案', () => { const b = block(); expect(b).toContain('WHERE user_id IS NOT NULL AND user_id = ?'); expect(b).not.toContain('OR name = ?`, [userId, name]'); expect(b).not.toContain('SET user_id = ?, name = ?'); }); it('昵称与他人档案冲突时拒绝提交', () => { expect(block()).toContain('该大神昵称已被占用,请更换昵称后重新提交'); }); });