mirror of
https://gitlab.com/mobicoop/v3/service/matcher.git
synced 2026-01-01 02:22:40 +00:00
64 lines
1.5 KiB
TypeScript
64 lines
1.5 KiB
TypeScript
import { GetDetailedRouteController } from '@modules/geography/interface/controllers/get-detailed-route.controller';
|
|
import { RouteMapper } from '@modules/geography/route.mapper';
|
|
import { QueryBus } from '@nestjs/cqrs';
|
|
import { Test, TestingModule } from '@nestjs/testing';
|
|
|
|
const mockQueryBus = {
|
|
execute: jest.fn(),
|
|
};
|
|
|
|
const mockRouteMapper = {
|
|
toPersistence: jest.fn(),
|
|
toDomain: jest.fn(),
|
|
toResponse: jest.fn(),
|
|
};
|
|
|
|
describe('Get Detailed Route Controller', () => {
|
|
let getDetailedRouteController: GetDetailedRouteController;
|
|
|
|
beforeAll(async () => {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
providers: [
|
|
{
|
|
provide: QueryBus,
|
|
useValue: mockQueryBus,
|
|
},
|
|
{
|
|
provide: RouteMapper,
|
|
useValue: mockRouteMapper,
|
|
},
|
|
GetDetailedRouteController,
|
|
],
|
|
}).compile();
|
|
|
|
getDetailedRouteController = module.get<GetDetailedRouteController>(
|
|
GetDetailedRouteController,
|
|
);
|
|
});
|
|
|
|
afterEach(async () => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
it('should be defined', () => {
|
|
expect(getDetailedRouteController).toBeDefined();
|
|
});
|
|
|
|
it('should get a route', async () => {
|
|
jest.spyOn(mockQueryBus, 'execute');
|
|
await getDetailedRouteController.get({
|
|
waypoints: [
|
|
{
|
|
lat: 48.689445,
|
|
lon: 6.17651,
|
|
},
|
|
{
|
|
lat: 48.8566,
|
|
lon: 2.3522,
|
|
},
|
|
],
|
|
});
|
|
expect(mockQueryBus.execute).toHaveBeenCalledTimes(1);
|
|
});
|
|
});
|