Ver Fonte

✅ test(file-module): add user test data factory methods

- 添加createUserData方法生成测试用户数据
- 添加createTestUser方法在数据库中创建测试用户
- 支持通过overrides参数自定义用户属性
yourname há 4 semanas atrás
pai
commit
e5fee3c723
1 ficheiros alterados com 30 adições e 0 exclusões
  1. 30 0
      packages/file-module/tests/utils/integration-test-db.ts

+ 30 - 0
packages/file-module/tests/utils/integration-test-db.ts

@@ -1,5 +1,6 @@
 import { DataSource } from 'typeorm';
 import { File } from '../../src/entities';
+import { UserEntity } from '@d8d/user-module';
 
 /**
  * 测试数据工厂类
@@ -22,6 +23,24 @@ export class TestDataFactory {
     };
   }
 
+  /**
+   * 创建测试用户数据
+   */
+  static createUserData(overrides: Partial<UserEntity> = {}): Partial<UserEntity> {
+    const timestamp = Date.now();
+    return {
+      username: `testuser_${timestamp}`,
+      password: 'TestPassword123!',
+      email: `test_${timestamp}@example.com`,
+      phone: `138${timestamp.toString().slice(-8)}`,
+      nickname: `Test User ${timestamp}`,
+      name: `Test Name ${timestamp}`,
+      isDisabled: 0,
+      isDeleted: 0,
+      ...overrides
+    };
+  }
+
   /**
    * 在数据库中创建测试文件
    */
@@ -32,4 +51,15 @@ export class TestDataFactory {
     const file = fileRepository.create(fileData);
     return await fileRepository.save(file);
   }
+
+  /**
+   * 在数据库中创建测试用户
+   */
+  static async createTestUser(dataSource: DataSource, overrides: Partial<UserEntity> = {}): Promise<UserEntity> {
+    const userData = this.createUserData(overrides);
+    const userRepository = dataSource.getRepository(UserEntity);
+
+    const user = userRepository.create(userData);
+    return await userRepository.save(user);
+  }
 }