|
|
@@ -27,20 +27,16 @@ vi.mock('../../middleware/auth.middleware', () => ({
|
|
|
}));
|
|
|
|
|
|
// Mock 通用CRUD服务
|
|
|
-const mockGetList = vi.fn().mockResolvedValue([[], 0]);
|
|
|
-const mockGetById = vi.fn().mockResolvedValue(null);
|
|
|
-const mockCreate = vi.fn().mockResolvedValue({ id: 1, username: 'testuser' });
|
|
|
-const mockUpdate = vi.fn().mockResolvedValue({ affected: 1 });
|
|
|
-const mockDelete = vi.fn().mockResolvedValue({ affected: 1 });
|
|
|
+const mockCrudService = {
|
|
|
+ getList: vi.fn(),
|
|
|
+ getById: vi.fn(),
|
|
|
+ create: vi.fn(),
|
|
|
+ update: vi.fn(),
|
|
|
+ delete: vi.fn()
|
|
|
+};
|
|
|
|
|
|
vi.mock('../../utils/generic-crud.service', () => ({
|
|
|
- GenericCrudService: vi.fn().mockImplementation(() => ({
|
|
|
- getList: mockGetList,
|
|
|
- getById: mockGetById,
|
|
|
- create: mockCreate,
|
|
|
- update: mockUpdate,
|
|
|
- delete: mockDelete
|
|
|
- }))
|
|
|
+ GenericCrudService: vi.fn().mockImplementation(() => mockCrudService)
|
|
|
}));
|
|
|
|
|
|
describe('Users API Integration Tests', () => {
|
|
|
@@ -54,6 +50,13 @@ describe('Users API Integration Tests', () => {
|
|
|
const { authMiddleware } = await import('../../middleware/auth.middleware');
|
|
|
vi.mocked(authMiddleware).mockImplementation((_c: any, next: any) => next());
|
|
|
|
|
|
+ // 重置CRUD服务mock
|
|
|
+ mockCrudService.getList.mockResolvedValue([[], 0]);
|
|
|
+ mockCrudService.getById.mockResolvedValue(null);
|
|
|
+ mockCrudService.create.mockResolvedValue({ id: 1, username: 'testuser' });
|
|
|
+ mockCrudService.update.mockResolvedValue({ affected: 1 });
|
|
|
+ mockCrudService.delete.mockResolvedValue({ affected: 1 });
|
|
|
+
|
|
|
// 动态导入用户路由
|
|
|
const userRoutes = await import('../users/index');
|
|
|
|
|
|
@@ -104,7 +107,8 @@ describe('Users API Integration Tests', () => {
|
|
|
updatedAt: new Date('2024-01-02T00:00:00.000Z')
|
|
|
}
|
|
|
];
|
|
|
- mockGetList.mockResolvedValue([mockUsers, 2]);
|
|
|
+
|
|
|
+ mockCrudService.getList.mockResolvedValue([mockUsers, 2]);
|
|
|
|
|
|
const response = await apiClient.get('/?page=1&pageSize=10');
|
|
|
|
|
|
@@ -130,7 +134,7 @@ describe('Users API Integration Tests', () => {
|
|
|
});
|
|
|
|
|
|
it('应该验证分页参数', async () => {
|
|
|
- mockGetList.mockResolvedValue([[], 0]);
|
|
|
+ mockCrudService.getList.mockResolvedValue([[], 0]);
|
|
|
const response = await apiClient.get('/?page=0&pageSize=0');
|
|
|
|
|
|
expect(response.status).toBe(400);
|