integration-test-db.ts 971 B

12345678910111213141516171819202122232425262728293031323334
  1. import { DataSource } from "typeorm";
  2. import { UnifiedFile } from "../../src/entities";
  3. /**
  4. * 测试数据工厂类
  5. */
  6. export class TestDataFactory {
  7. /**
  8. * 创建测试文件数据
  9. */
  10. static createFileData(overrides: Partial<UnifiedFile> = {}): Partial<UnifiedFile> {
  11. const timestamp = Date.now();
  12. return {
  13. fileName: `testfile_${timestamp}.txt`,
  14. mimeType: "text/plain",
  15. fileSize: 1024,
  16. filePath: `/uploads/testfile_${timestamp}.txt`,
  17. description: `Test file ${timestamp}`,
  18. createdAt: new Date(),
  19. ...overrides
  20. };
  21. }
  22. /**
  23. * 在数据库中创建测试文件
  24. */
  25. static async createTestFile(dataSource: DataSource, overrides: Partial<UnifiedFile> = {}): Promise<UnifiedFile> {
  26. const fileData = this.createFileData(overrides);
  27. const fileRepository = dataSource.getRepository(UnifiedFile);
  28. const file = fileRepository.create(fileData);
  29. return await fileRepository.save(file);
  30. }
  31. }