forked from finos/architecture-as-code
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroutes.spec.ts
More file actions
56 lines (47 loc) · 1.39 KB
/
routes.spec.ts
File metadata and controls
56 lines (47 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { Router } from 'express';
import { CLIServerRoutes } from './routes';
import { ValidationRouter } from './validation-route';
import { HealthRouter } from './health-route';
import { SchemaDirectory } from '@finos/calm-shared';
const mockUse = vi.fn();
const mockRouter = {
use: mockUse
};
vi.mock('express', () => ({
Router: vi.fn(() => mockRouter)
}));
vi.mock('./validation-route', () => {
return {
ValidationRouter: vi.fn()
};
});
vi.mock('./health-route', () => {
return {
HealthRouter: vi.fn()
};
});
vi.mock('@finos/calm-shared', () =>{
return {
SchemaDirectory: vi.fn()
};
});
describe('CLIServerRoutes', () => {
const schemaDirectory = {} as SchemaDirectory;
let cliServerRoutes: CLIServerRoutes;
let mockRouter: Router;
beforeEach(() => {
cliServerRoutes = new CLIServerRoutes(schemaDirectory);
mockRouter = cliServerRoutes.router;
});
it('should initialize router', () => {
expect(Router).toHaveBeenCalled();
});
it('should set up validate route', () => {
expect(mockRouter.use).toHaveBeenCalledWith('/calm/validate', mockRouter);
expect(ValidationRouter).toHaveBeenCalled();
});
it('should set up health route', () => {
expect(mockRouter.use).toHaveBeenCalledWith('/health', mockRouter);
expect(HealthRouter).toHaveBeenCalled();
});
});