integration-test-db.ts 936 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { DataSource } from 'typeorm';
  2. import { File } from '../../src/entities';
  3. /**
  4. * 测试数据工厂类
  5. */
  6. export class TestDataFactory {
  7. /**
  8. * 创建测试文件数据
  9. */
  10. static createFileData(overrides: Partial<File> = {}): Partial<File> {
  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,
  19. uploadTime: new Date(),
  20. ...overrides
  21. };
  22. }
  23. /**
  24. * 在数据库中创建测试文件
  25. */
  26. static async createTestFile(dataSource: DataSource, overrides: Partial<File> = {}): Promise<File> {
  27. const fileData = this.createFileData(overrides);
  28. const fileRepository = dataSource.getRepository(File);
  29. const file = fileRepository.create(fileData);
  30. return await fileRepository.save(file);
  31. }
  32. }