2
0
Эх сурвалжийг харах

✅ fix(goods-module): 修复测试文件导入错误和数字类型转换

- 修复测试文件中路由导入错误,从默认导入改为命名导入
- 移除不必要的parseFloat调用,直接比较数字类型
- 修复类型注解缺失问题
- 确保商品价格更新后的数字类型转换正确处理

🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 сар өмнө
parent
commit
33eec16ab3

+ 3 - 3
packages/goods-module/tests/integration/admin-goods-categories.integration.test.ts

@@ -4,21 +4,21 @@ import { IntegrationTestDatabase, setupIntegrationDatabaseHooksWithEntities } fr
 import { JWTUtil } from '@d8d/shared-utils';
 import { UserEntity, Role } from '@d8d/user-module';
 import { File } from '@d8d/file-module';
-import adminGoodsCategories from '../../src/routes/admin-goods-categories.js';
+import { adminGoodsCategoriesRoutes } from '../../src/routes/admin-goods-categories';
 import { GoodsCategory } from '../../src/entities';
 
 // 设置集成测试钩子
 setupIntegrationDatabaseHooksWithEntities([UserEntity, Role, GoodsCategory, File])
 
 describe('管理员商品分类管理API集成测试', () => {
-  let client: ReturnType<typeof testClient<typeof adminGoodsCategories>>;
+  let client: ReturnType<typeof testClient<typeof adminGoodsCategoriesRoutes>>;
   let adminToken: string;
   let testUser: UserEntity;
   let testAdmin: UserEntity;
 
   beforeEach(async () => {
     // 创建测试客户端
-    client = testClient(adminGoodsCategories);
+    client = testClient(adminGoodsCategoriesRoutes);
 
     // 获取数据源
     const dataSource = await IntegrationTestDatabase.getDataSource();

+ 3 - 3
packages/goods-module/tests/integration/admin-goods-routes.integration.test.ts

@@ -204,7 +204,7 @@ describe('管理员商品管理API集成测试', () => {
         const data = await response.json();
         expect(data).toHaveProperty('id');
         expect(data.name).toBe(createData.name);
-        expect(parseFloat(data.price)).toBe(Number(createData.price));
+        expect(data.price).toBe(Number(createData.price));
         expect(data.createdBy).toBe(testUser.id); // 验证可以指定创建人
       }
     });
@@ -327,7 +327,7 @@ describe('管理员商品管理API集成测试', () => {
       if (response.status === 200) {
         const data = await response.json();
         expect(data.name).toBe(updateData.name);
-        expect(parseFloat(data.price)).toBe(Number(updateData.price));
+        expect(data.price).toBe(Number(updateData.price));
         expect(data.state).toBe(updateData.state);
         expect(data.updatedBy).toBe(testAdmin.id); // 验证可以指定更新人
       }
@@ -478,7 +478,7 @@ describe('管理员商品管理API集成测试', () => {
 
       if (response.status === 200) {
         const data = await response.json();
-        expect(parseInt(data.stock)).toBe(Number(updateData.stock));
+        expect(data.stock).toBe(Number(updateData.stock));
       }
     });
   });

+ 4 - 4
packages/goods-module/tests/integration/public-goods-random.integration.test.ts

@@ -6,7 +6,7 @@ import { UserEntity, Role } from '@d8d/user-module';
 import { File } from '@d8d/file-module';
 import { Supplier } from '@d8d/supplier-module';
 import { Merchant } from '@d8d/merchant-module';
-import publicGoodsRandom from '../../src/routes/public-goods-random.js';
+import { publicGoodsRandomRoutes } from '../../src/routes/public-goods-random';
 import { Goods, GoodsCategory } from '../../src/entities';
 
 // 设置集成测试钩子
@@ -15,7 +15,7 @@ setupIntegrationDatabaseHooksWithEntities([
 ])
 
 describe('公开随机商品API集成测试', () => {
-  let client: ReturnType<typeof testClient<typeof publicGoodsRandom>>;
+  let client: ReturnType<typeof testClient<typeof publicGoodsRandomRoutes>>;
   let testUser: UserEntity;
   let testSupplier: Supplier;
   let testMerchant: Merchant;
@@ -24,7 +24,7 @@ describe('公开随机商品API集成测试', () => {
 
   beforeEach(async () => {
     // 创建测试客户端
-    client = testClient(publicGoodsRandom);
+    client = testClient(publicGoodsRandomRoutes);
 
     // 获取数据源
     const dataSource = await IntegrationTestDatabase.getDataSource();
@@ -294,7 +294,7 @@ describe('公开随机商品API集成测试', () => {
       ]);
 
       // 验证所有请求都成功
-      responses.forEach(response => {
+      responses.forEach((response: any) => {
         expect(response.status).toBe(200);
       });
 

+ 2 - 2
packages/goods-module/tests/integration/user-goods-routes.integration.test.ts

@@ -259,7 +259,7 @@ describe('用户商品管理API集成测试', () => {
         const data = await response.json();
         expect(data).toHaveProperty('id');
         expect(data.name).toBe(createData.name);
-        expect(parseFloat(data.price)).toBe(Number(createData.price));
+        expect(data.price).toBe(Number(createData.price));
         expect(data.createdBy).toBe(testUser.id); // 验证自动设置当前用户权限
       }
     });
@@ -417,7 +417,7 @@ describe('用户商品管理API集成测试', () => {
       if (response.status === 200) {
         const data = await response.json();
         expect(data.name).toBe(updateData.name);
-        expect(parseFloat(data.price)).toBe(Number(updateData.price));
+        expect(data.price).toBe(Number(updateData.price));
         expect(data.state).toBe(updateData.state);
         expect(data.updatedBy).toBe(testUser.id); // 验证自动设置更新用户
       }