test-data-factory.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { DataSource } from 'typeorm';
  2. import { UserEntityMt } from '@d8d/core-module-mt/user-module-mt';
  3. import { RoleMt } from '@d8d/core-module-mt/user-module-mt';
  4. /**
  5. * 测试数据工厂类
  6. */
  7. export class TestDataFactory {
  8. /**
  9. * 创建测试用户数据
  10. */
  11. static createUserData(overrides: Partial<UserEntityMt> = {}): Partial<UserEntityMt> {
  12. const timestamp = Date.now();
  13. return {
  14. username: `testuser_${timestamp}`,
  15. password: 'TestPassword123!',
  16. email: `test_${timestamp}@example.com`,
  17. phone: `138${timestamp.toString().slice(-8)}`,
  18. nickname: `Test User ${timestamp}`,
  19. name: `Test Name ${timestamp}`,
  20. isDisabled: 0,
  21. isDeleted: 0,
  22. tenantId: 1, // 默认租户ID
  23. ...overrides
  24. };
  25. }
  26. /**
  27. * 创建测试角色数据
  28. */
  29. static createRoleData(overrides: Partial<RoleMt> = {}): Partial<RoleMt> {
  30. const timestamp = Date.now();
  31. return {
  32. name: `test_role_${timestamp}`,
  33. description: `Test role description ${timestamp}`,
  34. tenantId: 1, // 默认租户ID
  35. ...overrides
  36. };
  37. }
  38. /**
  39. * 在数据库中创建测试用户
  40. */
  41. static async createTestUser(dataSource: DataSource, overrides: Partial<UserEntityMt> = {}): Promise<UserEntityMt> {
  42. const userData = this.createUserData(overrides);
  43. const userRepository = dataSource.getRepository(UserEntityMt);
  44. const user = userRepository.create(userData);
  45. return await userRepository.save(user);
  46. }
  47. /**
  48. * 在数据库中创建测试角色
  49. */
  50. static async createTestRole(dataSource: DataSource, overrides: Partial<RoleMt> = {}): Promise<RoleMt> {
  51. const roleData = this.createRoleData(overrides);
  52. const roleRepository = dataSource.getRepository(RoleMt);
  53. const role = roleRepository.create(roleData);
  54. return await roleRepository.save(role);
  55. }
  56. }