Просмотр исходного кода

✨ feat(test): 增强测试工厂方法的灵活性

- 为createCompleteTestData方法添加userOptions参数,支持自定义用户属性
- 在createMultiTenantTestData中使用时间戳生成唯一用户名和openid,避免测试数据冲突
- 优化测试数据创建流程,确保多租户测试环境的数据隔离性
yourname 1 месяц назад
Родитель
Сommit
c9d1920f72
1 измененных файлов с 11 добавлено и 4 удалено
  1. 11 4
      packages/mini-payment-mt/tests/factories/payment-test.factory.ts

+ 11 - 4
packages/mini-payment-mt/tests/factories/payment-test.factory.ts

@@ -195,7 +195,7 @@ export class PaymentTestFactory {
   /**
    * 创建完整的测试环境数据
    */
-  async createCompleteTestData(tenantId: number = 1): Promise<{
+  async createCompleteTestData(tenantId: number = 1, userOptions: Partial<UserEntityMt> = {}): Promise<{
     user: UserEntityMt;
     merchant: MerchantMt;
     supplier: SupplierMt;
@@ -203,7 +203,7 @@ export class PaymentTestFactory {
     order: OrderMt;
     payment: PaymentMtEntity;
   }> {
-    const user = await this.createTestUser(tenantId);
+    const user = await this.createTestUser(tenantId, userOptions);
     const merchant = await this.createTestMerchant(tenantId, user.id);
     const supplier = await this.createTestSupplier(tenantId, user.id);
     const address = await this.createTestDeliveryAddress(tenantId, user.id);
@@ -241,8 +241,15 @@ export class PaymentTestFactory {
       payment: PaymentMtEntity;
     };
   }> {
-    const tenant1 = await this.createCompleteTestData(1);
-    const tenant2 = await this.createCompleteTestData(2);
+    const timestamp = Date.now();
+    const tenant1 = await this.createCompleteTestData(1, {
+      username: `tenant1_user_${timestamp}`,
+      openid: `tenant1_openid_${timestamp}`
+    });
+    const tenant2 = await this.createCompleteTestData(2, {
+      username: `tenant2_user_${timestamp}`,
+      openid: `tenant2_openid_${timestamp}`
+    });
 
     return {
       tenant1,