Browse Source

✅ test(files): update multipart upload integration test

- 修改mock响应结构,添加file对象和fullUrl属性
- 调整测试断言,验证返回的uploadId、bucket、key和partUrls字段
- 移除host字段的mock数据,确保测试准确性
yourname 2 months ago
parent
commit
1f97286ed1
1 changed files with 25 additions and 6 deletions
  1. 25 6
      src/server/api/files/__tests__/files.integration.test.ts

+ 25 - 6
src/server/api/files/__tests__/files.integration.test.ts

@@ -316,15 +316,28 @@ describe('File API Integration Tests', () => {
         uploadUserId: 1
       };
 
-      const mockResponse = {
+      const mockServiceResponse = {
+        file: {
+          id: 1,
+          name: 'large-file.zip',
+          type: 'application/zip',
+          size: 104857600,
+          uploadUserId: 1,
+          path: '1/test-uuid-123-large-file.zip',
+          description: null,
+          uploadTime: new Date(),
+          lastUpdated: null,
+          createdAt: new Date(),
+          updatedAt: new Date(),
+          fullUrl: Promise.resolve('https://minio.example.com/d8dai/1/test-uuid-123-large-file.zip')
+        },
         uploadId: 'upload-123',
+        uploadUrls: ['url1', 'url2', 'url3', 'url4', 'url5'],
         bucket: 'd8dai',
-        key: '1/test-uuid-123-large-file.zip',
-        host: 'http://undefined:undefined',
-        partUrls: ['url1', 'url2', 'url3', 'url4', 'url5']
+        key: '1/test-uuid-123-large-file.zip'
       };
 
-      const mockCreateMultipartUploadPolicy = vi.fn().mockResolvedValue(mockResponse);
+      const mockCreateMultipartUploadPolicy = vi.fn().mockResolvedValue(mockServiceResponse);
       vi.mocked(FileService).mockImplementation(() => ({
         createMultipartUploadPolicy: mockCreateMultipartUploadPolicy
       } as unknown as FileService));
@@ -340,7 +353,13 @@ describe('File API Integration Tests', () => {
 
       expect(response.status).toBe(200);
       const result = await response.json();
-      expect(result).toEqual(mockResponse);
+      expect(result).toEqual({
+        uploadId: 'upload-123',
+        bucket: 'd8dai',
+        key: '1/test-uuid-123-large-file.zip',
+        host: 'http://undefined:undefined',
+        partUrls: ['url1', 'url2', 'url3', 'url4', 'url5']
+      });
       expect(mockCreateMultipartUploadPolicy).toHaveBeenCalledWith(
         {
           fileKey: 'large-file.zip',