This commit is contained in:
parent
0e9dc61961
commit
ff2bbbc977
|
|
@ -57,6 +57,20 @@ describe('Identity Service E2E Tests', () => {
|
||||||
prisma = app.get<PrismaService>(PrismaService);
|
prisma = app.get<PrismaService>(PrismaService);
|
||||||
|
|
||||||
await app.init();
|
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 () => {
|
afterAll(async () => {
|
||||||
|
|
@ -233,16 +247,30 @@ describe('Identity Service E2E Tests', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('应该限制设备数量为5个', async () => {
|
it('应该限制设备数量为5个', async () => {
|
||||||
// 添加5个设备
|
// 创建新的独立账户用于测试设备限制(包含1个初始设备)
|
||||||
for (let i = 0; i < 5; i++) {
|
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 testDeviceId = `test-device-limit-${Date.now()}-${i}`;
|
||||||
const response = await request(app.getHttpServer())
|
const response = await request(app.getHttpServer())
|
||||||
.post('/api/v1/user/recover-by-mnemonic')
|
.post('/api/v1/user/recover-by-mnemonic')
|
||||||
.send({
|
.send({
|
||||||
accountSequence,
|
accountSequence: testAccountSequence,
|
||||||
mnemonic,
|
mnemonic: testMnemonic,
|
||||||
newDeviceId: testDeviceId,
|
newDeviceId: testDeviceId,
|
||||||
deviceName: `设备${i + 1}`,
|
deviceName: `设备${i + 2}`, // 从设备2开始命名(设备1是初始设备)
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.status !== 201) {
|
if (response.status !== 201) {
|
||||||
|
|
@ -255,13 +283,13 @@ describe('Identity Service E2E Tests', () => {
|
||||||
expect(response.status).toBe(201);
|
expect(response.status).toBe(201);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 尝试添加第6个设备,应该失败
|
// 现在已经有5个设备了,尝试添加第6个设备,应该失败
|
||||||
const sixthDeviceId = `test-device-sixth-${Date.now()}`;
|
const sixthDeviceId = `test-device-sixth-${Date.now()}`;
|
||||||
await request(app.getHttpServer())
|
await request(app.getHttpServer())
|
||||||
.post('/api/v1/user/recover-by-mnemonic')
|
.post('/api/v1/user/recover-by-mnemonic')
|
||||||
.send({
|
.send({
|
||||||
accountSequence,
|
accountSequence: testAccountSequence,
|
||||||
mnemonic,
|
mnemonic: testMnemonic,
|
||||||
newDeviceId: sixthDeviceId,
|
newDeviceId: sixthDeviceId,
|
||||||
deviceName: '第6个设备',
|
deviceName: '第6个设备',
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue