Ver código fonte

✅ test(file): fix file service test cases

- remove unnecessary mockMinioService variable initialization
- fix MinioService mock implementation to properly test error scenarios
- ensure test cases correctly verify error handling paths
yourname 2 meses atrás
pai
commit
4b30e28a8c

+ 4 - 5
src/server/modules/files/__tests__/file.service.test.ts

@@ -15,16 +15,12 @@ vi.mock('uuid', () => ({
 describe('FileService', () => {
   let fileService: FileService;
   let mockDataSource: DataSource;
-  let mockMinioService: MinioService;
 
   beforeEach(() => {
     mockDataSource = {
       getRepository: vi.fn()
     } as unknown as DataSource;
 
-    mockMinioService = new MinioService();
-    (MinioService as any).mockClear();
-
     fileService = new FileService(mockDataSource);
   });
 
@@ -84,7 +80,10 @@ describe('FileService', () => {
         uploadUserId: 1
       };
 
-      vi.mocked(mockMinioService.generateUploadPolicy).mockRejectedValue(new Error('MinIO error'));
+      const mockGenerateUploadPolicy = vi.fn().mockRejectedValue(new Error('MinIO error'));
+      vi.mocked(MinioService).mockImplementation(() => ({
+        generateUploadPolicy: mockGenerateUploadPolicy
+      } as unknown as MinioService));
 
       await expect(fileService.createFile(mockFileData)).rejects.toThrow('文件创建失败');
       expect(logger.error).toHaveBeenCalled();