2
0

integration-test-db.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { DataSource } from 'typeorm';
  2. import { FileMt } from '../../src/entities';
  3. import { UserEntityMt } from '@d8d/core-module-mt/user-module-mt';
  4. /**
  5. * 测试数据工厂类
  6. */
  7. export class TestDataFactory {
  8. /**
  9. * 创建测试文件数据
  10. */
  11. static createFileData(overrides: Partial<FileMt> = {}): Partial<FileMt> {
  12. const timestamp = Date.now();
  13. return {
  14. name: `testfile_${timestamp}.txt`,
  15. type: 'text/plain',
  16. size: 1024,
  17. path: `/uploads/testfile_${timestamp}.txt`,
  18. description: `Test file ${timestamp}`,
  19. uploadUserId: 1,
  20. tenantId: 1, // 为多租户文件设置默认租户ID
  21. uploadTime: new Date(),
  22. ...overrides
  23. };
  24. }
  25. /**
  26. * 创建测试用户数据
  27. */
  28. static createUserData(overrides: Partial<UserEntityMt> = {}): Partial<UserEntityMt> {
  29. const timestamp = Date.now();
  30. return {
  31. username: `testuser_${timestamp}`,
  32. password: 'TestPassword123!',
  33. email: `test_${timestamp}@example.com`,
  34. phone: `138${timestamp.toString().slice(-8)}`,
  35. nickname: `Test User ${timestamp}`,
  36. name: `Test Name ${timestamp}`,
  37. isDisabled: 0,
  38. isDeleted: 0,
  39. tenantId: 1, // 为多租户用户设置默认租户ID
  40. ...overrides
  41. };
  42. }
  43. /**
  44. * 在数据库中创建测试文件
  45. */
  46. static async createTestFile(dataSource: DataSource, overrides: Partial<FileMt> = {}): Promise<FileMt> {
  47. const fileData = this.createFileData(overrides);
  48. const fileRepository = dataSource.getRepository(FileMt);
  49. const file = fileRepository.create(fileData);
  50. return await fileRepository.save(file);
  51. }
  52. /**
  53. * 在数据库中创建测试用户
  54. */
  55. static async createTestUser(dataSource: DataSource, overrides: Partial<UserEntityMt> = {}): Promise<UserEntityMt> {
  56. const userData = this.createUserData(overrides);
  57. const userRepository = dataSource.getRepository(UserEntityMt);
  58. const user = userRepository.create(userData);
  59. return await userRepository.save(user);
  60. }
  61. }