Explorar el Código

✅ test(crud): 添加ConcreteCrudService测试环境初始化

- 导入AppDataSource和initializeDataSource工具函数
- 在测试环境中初始化AppDataSource并注册TestEntity
- 模拟AppDataSource的getRepository方法以使用测试数据源
yourname hace 4 semanas
padre
commit
270b11dcef

+ 6 - 0
packages/shared-crud/tests/unit/concrete-crud.service.test.ts

@@ -1,6 +1,7 @@
 import { describe, it, expect, vi, beforeEach } from 'vitest';
 import { describe, it, expect, vi, beforeEach } from 'vitest';
 import { DataSource, ObjectLiteral } from 'typeorm';
 import { DataSource, ObjectLiteral } from 'typeorm';
 import { ConcreteCrudService } from '../../src/services/concrete-crud.service';
 import { ConcreteCrudService } from '../../src/services/concrete-crud.service';
+import { AppDataSource, initializeDataSource } from '@d8d/shared-utils';
 
 
 // 测试实体类
 // 测试实体类
 class TestEntity implements ObjectLiteral {
 class TestEntity implements ObjectLiteral {
@@ -31,6 +32,11 @@ describe('ConcreteCrudService', () => {
       })
       })
     } as any;
     } as any;
 
 
+    // 在测试环境中初始化 AppDataSource
+    initializeDataSource([TestEntity]);
+    // 模拟 AppDataSource 的 getRepository 方法
+    vi.spyOn(AppDataSource, 'getRepository').mockImplementation(mockDataSource.getRepository);
+
     concreteService = new ConcreteCrudService(TestEntity);
     concreteService = new ConcreteCrudService(TestEntity);
   });
   });