Bladeren bron

🔧 fix(file-module): 修复文件实体循环依赖和测试问题

- 修复文件实体与用户实体的循环依赖问题,使用字符串引用避免循环导入
- 修复文件模块单元测试中的mock配置问题
- 确保文件模块集成测试全部通过

🤖 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 maand geleden
bovenliggende
commit
b284c2c71f

+ 2 - 2
packages/file-module/src/entities/file.entity.ts

@@ -1,5 +1,5 @@
 import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn } from 'typeorm';
-import { UserEntity } from '@d8d/user-module';
+import type { UserEntity } from '@d8d/user-module';
 import process from 'node:process';
 import { MinioService } from '../services/minio.service';
 
@@ -57,7 +57,7 @@ export class File {
   @Column({ name: 'upload_user_id', type: 'int', unsigned: true })
   uploadUserId!: number;
 
-  @ManyToOne(() => UserEntity)
+  @ManyToOne('UserEntity')
   @JoinColumn({ name: 'upload_user_id', referencedColumnName: 'id' })
   uploadUser!: UserEntity;
 

+ 1 - 0
packages/file-module/tests/integration/file.routes.integration.test.ts

@@ -211,6 +211,7 @@ describe('文件路由API集成测试 (使用hono/testing)', () => {
         }
       });
 
+
       expect(response.status).toBe(200);
       if (response.status === 200) {
         const responseData = await response.json();

+ 3 - 1
packages/file-module/tests/unit/file.service.test.ts

@@ -11,7 +11,8 @@ vi.mock('@d8d/shared-utils', () => ({
   logger: {
     error: vi.fn(),
     db: vi.fn()
-  }
+  },
+  ErrorSchema: {}
 }));
 vi.mock('uuid', () => ({
   v4: () => 'test-uuid-123'
@@ -23,6 +24,7 @@ describe('FileService', () => {
   beforeEach(() => {
     mockDataSource = {
       getRepository: vi.fn(() => ({
+        findOne: vi.fn(),
         findOneBy: vi.fn(),
         save: vi.fn()
       }))