| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { DataSource } from 'typeorm';
- import { UserEntityMt } from '@d8d/core-module-mt/user-module-mt/entities';
- import { JWTUtil } from '@d8d/shared-utils';
- /**
- * 信用额度模块测试数据工厂类
- */
- export class CreditBalanceTestDataFactory {
- /**
- * 创建测试用户数据
- */
- static createUserData(overrides: Partial<UserEntityMt> = {}): Partial<UserEntityMt> {
- const timestamp = Math.floor(Math.random() * 100000);
- return {
- username: `test_user_${timestamp}`,
- password: 'test_password',
- nickname: '测试用户',
- registrationSource: 'web',
- state: 1,
- ...overrides
- };
- }
- /**
- * 在数据库中创建测试用户
- */
- static async createTestUser(dataSource: DataSource, tenantId: number, overrides: Partial<UserEntityMt> = {}): Promise<UserEntityMt> {
- const userData = this.createUserData({ tenantId, ...overrides });
- const userRepository = dataSource.getRepository(UserEntityMt);
- const user = userRepository.create(userData);
- return await userRepository.save(user);
- }
- /**
- * 为测试用户生成JWT token
- */
- static generateUserToken(user: UserEntityMt): string {
- return JWTUtil.generateToken({
- id: user.id,
- username: user.username,
- tenantId: user.tenantId
- });
- }
- /**
- * 为管理员生成JWT token
- */
- static generateAdminToken(tenantId: number): string {
- return JWTUtil.generateToken({
- id: 1,
- username: 'admin',
- tenantId
- });
- }
- }
|