This commit is contained in:
hailin 2025-11-24 03:11:05 -08:00
parent 0e9dc61961
commit ff2bbbc977
1 changed files with 36 additions and 8 deletions

View File

@ -57,6 +57,20 @@ describe('Identity Service E2E Tests', () => {
prisma = app.get<PrismaService>(PrismaService);
await app.init();
// 清理数据库,为测试准备干净的环境
await prisma.userDevice.deleteMany();
await prisma.walletAddress.deleteMany();
await prisma.userAccount.deleteMany();
// 初始化账户序列号生成器
await prisma.accountSequenceGenerator.deleteMany();
await prisma.accountSequenceGenerator.create({
data: {
id: 1,
currentSequence: BigInt(100000),
},
});
});
afterAll(async () => {
@ -233,16 +247,30 @@ describe('Identity Service E2E Tests', () => {
});
it('应该限制设备数量为5个', async () => {
// 添加5个设备
for (let i = 0; i < 5; i++) {
// 创建新的独立账户用于测试设备限制包含1个初始设备
const newAccount = await request(app.getHttpServer())
.post('/api/v1/user/auto-create')
.send({
deviceId: `limit-test-initial-${Date.now()}`,
deviceName: 'Initial Device',
provinceCode: '110000',
cityCode: '110100',
})
.expect(201);
const testAccountSequence = newAccount.body.data.accountSequence;
const testMnemonic = newAccount.body.data.mnemonic;
// 再添加4个设备达到5个限制
for (let i = 0; i < 4; i++) {
const testDeviceId = `test-device-limit-${Date.now()}-${i}`;
const response = await request(app.getHttpServer())
.post('/api/v1/user/recover-by-mnemonic')
.send({
accountSequence,
mnemonic,
accountSequence: testAccountSequence,
mnemonic: testMnemonic,
newDeviceId: testDeviceId,
deviceName: `设备${i + 1}`,
deviceName: `设备${i + 2}`, // 从设备2开始命名设备1是初始设备
});
if (response.status !== 201) {
@ -255,13 +283,13 @@ describe('Identity Service E2E Tests', () => {
expect(response.status).toBe(201);
}
// 尝试添加第6个设备应该失败
// 现在已经有5个设备了尝试添加第6个设备应该失败
const sixthDeviceId = `test-device-sixth-${Date.now()}`;
await request(app.getHttpServer())
.post('/api/v1/user/recover-by-mnemonic')
.send({
accountSequence,
mnemonic,
accountSequence: testAccountSequence,
mnemonic: testMnemonic,
newDeviceId: sixthDeviceId,
deviceName: '第6个设备',
})