2
0

integration-test-db.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. name: `testfile_${timestamp}.txt`,
  14. type: 'text/plain',
  15. size: 1024,
  16. path: `/uploads/testfile_${timestamp}.txt`,
  17. description: `Test file ${timestamp}`,
  18. uploadUserId: 1, // 默认使用超级管理员ID
  19. uploadTime: new Date(),
  20. createdAt: new Date(),
  21. updatedAt: new Date(),
  22. ...overrides
  23. };
  24. }
  25. /**
  26. * 在数据库中创建测试文件
  27. */
  28. static async createTestFile(dataSource: DataSource, overrides: Partial<UnifiedFile> = {}): Promise<UnifiedFile> {
  29. const fileData = this.createFileData(overrides);
  30. const fileRepository = dataSource.getRepository(UnifiedFile);
  31. const file = fileRepository.create(fileData);
  32. return await fileRepository.save(file);
  33. }
  34. }