Selaa lähdekoodia

📝 docs(schemas): export新增的手机号解密相关schema

- 导出PhoneDecryptSchema和PhoneDecryptResponseSchema供外部使用

✅ test(phone-decrypt): 完善手机号解密API测试

- 使用JWTUtil生成真实测试token替代占位符
- 添加调试日志输出,便于问题排查
- 补充响应状态非200时的错误信息打印逻辑
yourname 3 viikkoa sitten
vanhempi
sitoutus
36cc1ee2a9

+ 3 - 1
packages/auth-module/src/schemas/index.ts

@@ -5,5 +5,7 @@ export {
   UserResponseSchema,
   TokenResponseSchema,
   MiniLoginResponseSchema,
-  SuccessSchema
+  SuccessSchema,
+  PhoneDecryptSchema,
+  PhoneDecryptResponseSchema
 } from './auth.schema';

+ 12 - 3
packages/auth-module/tests/integration/phone-decrypt.integration.test.ts

@@ -3,7 +3,7 @@ import { testClient } from 'hono/testing';
 import { authRoutes } from '../../src/routes';
 import { IntegrationTestDatabase, setupIntegrationDatabaseHooksWithEntities } from '@d8d/shared-test-util';
 import { Role, UserEntity } from '@d8d/user-module';
-import { redisUtil } from '@d8d/shared-utils';
+import { redisUtil, JWTUtil } from '@d8d/shared-utils';
 import { File } from '@d8d/file-module';
 
 // Mock MiniAuthService 的 decryptPhoneNumber 方法
@@ -55,8 +55,11 @@ describe('手机号解密API集成测试', () => {
     await userRepository.save(testUser);
 
     // 生成测试用户的token
-    // 这里简化处理,实际项目中应该使用正确的JWT生成方法
-    testToken = 'test_jwt_token';
+    testToken = JWTUtil.generateToken({
+      id: testUser.id,
+      username: testUser.username,
+      roles: [{name:'user'}]
+    });
 
     // 使用 spyOn 来 mock getSessionKey 方法
     getSessionKeySpy = vi.spyOn(redisUtil, 'getSessionKey').mockResolvedValue('mock-session-key');
@@ -85,6 +88,12 @@ describe('手机号解密API集成测试', () => {
         }
       });
 
+      console.debug('响应状态:', response.status);
+      if (response.status !== 200) {
+        const errorData = await response.json();
+        console.debug('错误响应:', errorData);
+      }
+
       expect(response.status).toBe(200);
 
       if (response.status === 200) {