fix: 修复测试用例中的问题 #13
@@ -72,7 +72,7 @@ describe('EmailService', () => {
|
|||||||
configService.get.mockReturnValue(undefined);
|
configService.get.mockReturnValue(undefined);
|
||||||
|
|
||||||
// 重新创建服务实例来测试测试模式
|
// 重新创建服务实例来测试测试模式
|
||||||
const testService = new EmailService(configService);
|
new EmailService(configService);
|
||||||
|
|
||||||
expect(mockedNodemailer.createTransport).toHaveBeenCalledWith({
|
expect(mockedNodemailer.createTransport).toHaveBeenCalledWith({
|
||||||
streamTransport: true,
|
streamTransport: true,
|
||||||
@@ -89,7 +89,7 @@ describe('EmailService', () => {
|
|||||||
.mockReturnValueOnce('test@gmail.com') // EMAIL_USER
|
.mockReturnValueOnce('test@gmail.com') // EMAIL_USER
|
||||||
.mockReturnValueOnce('password'); // EMAIL_PASS
|
.mockReturnValueOnce('password'); // EMAIL_PASS
|
||||||
|
|
||||||
const testService = new EmailService(configService);
|
new EmailService(configService);
|
||||||
|
|
||||||
expect(mockedNodemailer.createTransport).toHaveBeenCalledWith({
|
expect(mockedNodemailer.createTransport).toHaveBeenCalledWith({
|
||||||
host: 'smtp.gmail.com',
|
host: 'smtp.gmail.com',
|
||||||
@@ -393,7 +393,7 @@ describe('EmailService', () => {
|
|||||||
.mockReturnValueOnce(undefined) // EMAIL_USER
|
.mockReturnValueOnce(undefined) // EMAIL_USER
|
||||||
.mockReturnValueOnce(undefined); // EMAIL_PASS
|
.mockReturnValueOnce(undefined); // EMAIL_PASS
|
||||||
|
|
||||||
const testService = new EmailService(configService);
|
new EmailService(configService);
|
||||||
|
|
||||||
expect(configService.get).toHaveBeenCalledWith('EMAIL_HOST', 'smtp.gmail.com');
|
expect(configService.get).toHaveBeenCalledWith('EMAIL_HOST', 'smtp.gmail.com');
|
||||||
expect(configService.get).toHaveBeenCalledWith('EMAIL_PORT', 587);
|
expect(configService.get).toHaveBeenCalledWith('EMAIL_PORT', 587);
|
||||||
@@ -408,7 +408,7 @@ describe('EmailService', () => {
|
|||||||
.mockReturnValueOnce('custom@163.com') // EMAIL_USER
|
.mockReturnValueOnce('custom@163.com') // EMAIL_USER
|
||||||
.mockReturnValueOnce('custompass'); // EMAIL_PASS
|
.mockReturnValueOnce('custompass'); // EMAIL_PASS
|
||||||
|
|
||||||
const testService = new EmailService(configService);
|
new EmailService(configService);
|
||||||
|
|
||||||
expect(mockedNodemailer.createTransport).toHaveBeenCalledWith({
|
expect(mockedNodemailer.createTransport).toHaveBeenCalledWith({
|
||||||
host: 'smtp.163.com',
|
host: 'smtp.163.com',
|
||||||
|
|||||||
@@ -272,6 +272,7 @@ describe('VerificationService', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
mockRedis.get.mockResolvedValue(JSON.stringify(codeInfo));
|
mockRedis.get.mockResolvedValue(JSON.stringify(codeInfo));
|
||||||
|
mockRedis.ttl.mockResolvedValue(300); // 设置正常的TTL值
|
||||||
|
|
||||||
await expect(service.verifyCode(email, type, '654321')).rejects.toThrow(
|
await expect(service.verifyCode(email, type, '654321')).rejects.toThrow(
|
||||||
new BadRequestException('验证码错误,剩余尝试次数: 1')
|
new BadRequestException('验证码错误,剩余尝试次数: 1')
|
||||||
@@ -298,6 +299,7 @@ describe('VerificationService', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
mockRedis.get.mockResolvedValue(JSON.stringify(codeInfo));
|
mockRedis.get.mockResolvedValue(JSON.stringify(codeInfo));
|
||||||
|
mockRedis.ttl.mockResolvedValue(300); // 设置正常的TTL值
|
||||||
|
|
||||||
await expect(service.verifyCode(email, type, '654321')).rejects.toThrow(
|
await expect(service.verifyCode(email, type, '654321')).rejects.toThrow(
|
||||||
new BadRequestException('验证码错误,剩余尝试次数: 0')
|
new BadRequestException('验证码错误,剩余尝试次数: 0')
|
||||||
@@ -375,7 +377,7 @@ describe('VerificationService', () => {
|
|||||||
it('应该返回存在的验证码统计信息', async () => {
|
it('应该返回存在的验证码统计信息', async () => {
|
||||||
const codeInfo = {
|
const codeInfo = {
|
||||||
code: '123456',
|
code: '123456',
|
||||||
createdAt: Date.now(),
|
createdAt: 1766035834340,
|
||||||
attempts: 1,
|
attempts: 1,
|
||||||
maxAttempts: 3,
|
maxAttempts: 3,
|
||||||
};
|
};
|
||||||
@@ -391,18 +393,20 @@ describe('VerificationService', () => {
|
|||||||
ttl: 240,
|
ttl: 240,
|
||||||
attempts: 1,
|
attempts: 1,
|
||||||
maxAttempts: 3,
|
maxAttempts: 3,
|
||||||
|
code: '123456',
|
||||||
|
createdAt: 1766035834340,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('应该在验证码不存在时返回基本信息', async () => {
|
it('应该在验证码不存在时返回基本信息', async () => {
|
||||||
mockRedis.exists.mockResolvedValue(false);
|
mockRedis.exists.mockResolvedValue(false);
|
||||||
mockRedis.ttl.mockResolvedValue(-1);
|
mockRedis.ttl.mockResolvedValue(-2);
|
||||||
|
|
||||||
const result = await service.getCodeStats(email, type);
|
const result = await service.getCodeStats(email, type);
|
||||||
|
|
||||||
expect(result).toEqual({
|
expect(result).toEqual({
|
||||||
exists: false,
|
exists: false,
|
||||||
ttl: -1,
|
ttl: -2,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user