ソースを参照

♻️ refactor(test): 优化测试地址工厂方法

- 为createTestArea方法添加tenantId参数并设默认值1
- 添加code、isDisabled、isDeleted、createdBy和updatedBy字段
- 修改parentId类型为number | null并设默认值null
- 重构地区创建逻辑,使用变量接收创建结果确保关联关系正确
- 使用创建的地区实体ID而非硬编码值设置收货地址的地区信息
yourname 1 ヶ月 前
コミット
a238d7fc5d

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

@@ -78,15 +78,20 @@ export class PaymentTestFactory {
   /**
    * 创建测试地区记录
    */
-  async createTestArea(id: number, name: string, level: number, parentId: number = 0): Promise<AreaEntityMt> {
+  async createTestArea(id: number, name: string, level: number, tenantId: number = 1, parentId: number | null = null): Promise<AreaEntityMt> {
     const areaRepository = this.dataSource.getRepository(AreaEntityMt);
 
     const area = areaRepository.create({
       id,
+      tenantId,
       name,
       level,
+      code: id.toString(),
       parentId,
-      state: 1
+      isDisabled: 0,
+      isDeleted: 0,
+      createdBy: 1,
+      updatedBy: 1
     });
 
     return await areaRepository.save(area);
@@ -98,21 +103,21 @@ export class PaymentTestFactory {
   async createTestDeliveryAddress(tenantId: number = 1, userId: number, options: Partial<DeliveryAddressMt> = {}): Promise<DeliveryAddressMt> {
     const addressRepository = this.dataSource.getRepository(DeliveryAddressMt);
 
-    // 创建地区记录
-    await this.createTestArea(110000, '北京市', 1);
-    await this.createTestArea(110100, '北京市', 2, 110000);
-    await this.createTestArea(110101, '东城区', 3, 110100);
-    await this.createTestArea(110101001, '东华门街道', 4, 110101);
+    // 创建地区记录 - 先创建父级,再创建子级
+    const province = await this.createTestArea(110000, '北京市', 1, tenantId, null);
+    const city = await this.createTestArea(110100, '北京市', 2, tenantId, province.id);
+    const district = await this.createTestArea(110101, '东城区', 3, tenantId, city.id);
+    const town = await this.createTestArea(110101001, '东华门街道', 4, tenantId, district.id);
 
     const address = addressRepository.create({
       tenantId,
       userId,
       name: '测试收货人',
       phone: '13800138000',
-      receiverProvince: 110000,
-      receiverCity: 110100,
-      receiverDistrict: 110101,
-      receiverTown: 110101001,
+      receiverProvince: province.id,
+      receiverCity: city.id,
+      receiverDistrict: district.id,
+      receiverTown: town.id,
       address: '测试地址',
       isDefault: 1,
       state: 1,