소스 검색

🐛 fix(passengers): 修复乘客查询接口和响应模型问题

- 修改PassengerResponseSchema,将createdBy和updatedBy字段设置为可空
- 为所有乘客列表查询添加分页参数(page和pageSize),修复分页功能缺失问题
- 增强测试错误日志输出,添加详细验证错误信息打印

📝 docs(tests): 完善乘客管理API测试用例日志

- 优化测试错误处理,添加详细验证错误信息输出
- 统一测试用例中的分页参数传递方式
yourname 3 달 전
부모
커밋
8f92baec93
2개의 변경된 파일16개의 추가작업 그리고 9개의 파일을 삭제
  1. 2 2
      src/server/modules/passengers/passenger.schema.ts
  2. 14 7
      tests/integration/server/admin/passengers.integration.test.ts

+ 2 - 2
src/server/modules/passengers/passenger.schema.ts

@@ -57,8 +57,8 @@ export const PassengerResponseSchema = z.object({
   isDefault: z.boolean(),
   createdAt: z.date(),
   updatedAt: z.date(),
-  createdBy: z.number().optional(),
-  updatedBy: z.number().optional(),
+  createdBy: z.number().nullable().optional(),
+  updatedBy: z.number().nullable().optional(),
   user: UserRelationSchema.optional()
 });
 

+ 14 - 7
tests/integration/server/admin/passengers.integration.test.ts

@@ -140,7 +140,7 @@ describe('乘客管理API集成测试', () => {
       await TestDataFactory.createTestPassenger(dataSource, { name: '乘客2' });
 
       const response = await client.passengers.$get({
-        query: {}
+        query: { page: 1, pageSize: 10 }
       },
       {
         headers: {
@@ -149,8 +149,15 @@ describe('乘客管理API集成测试', () => {
       });
 
       if (response.status !== 200) {
-        const errorData = await response.json();
+        const errorData = await response.json() as any;
         console.debug('获取乘客列表失败:', errorData);
+        if (errorData.errors) {
+          console.debug('详细验证错误:', errorData.errors.map((err: any) => ({
+            path: err.path,
+            message: err.message,
+            expected: err.expected
+          })));
+        }
       }
       expect(response.status).toBe(200);
       if (response.status === 200) {
@@ -342,7 +349,7 @@ describe('乘客管理API集成测试', () => {
       await TestDataFactory.createTestPassenger(dataSource, { name: '其他乘客', phone: '13833333333' });
 
       const response = await client.passengers.$get({
-        query: { keyword: '搜索乘客' }
+        query: { keyword: '搜索乘客', page: 1, pageSize: 10 }
       },
       {
         headers: {
@@ -372,7 +379,7 @@ describe('乘客管理API集成测试', () => {
       await TestDataFactory.createTestPassenger(dataSource, { name: '乘客2', phone: '13811113333' });
 
       const response = await client.passengers.$get({
-        query: { keyword: '1381111' }
+        query: { keyword: '1381111', page: 1, pageSize: 10 }
       },
       {
         headers: {
@@ -405,7 +412,7 @@ describe('乘客管理API集成测试', () => {
       });
 
       const response = await client.passengers.$get({
-        query: { keyword: '11010119900101' }
+        query: { keyword: '11010119900101', page: 1, pageSize: 10 }
       },
       {
         headers: {
@@ -445,7 +452,7 @@ describe('乘客管理API集成测试', () => {
       });
 
       const response = await client.passengers.$get({
-        query: { filters: JSON.stringify({ userId: testUser1.id }) }
+        query: { filters: JSON.stringify({ userId: testUser1.id }), page: 1, pageSize: 10 }
       },
       {
         headers: {
@@ -481,7 +488,7 @@ describe('乘客管理API集成测试', () => {
 
       const startTime = Date.now();
       const response = await client.passengers.$get({
-        query: {}
+        query: { page: 1, pageSize: 10 }
       },
       {
         headers: {