47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { MatcherAdCreatedMessageHandler } from '@modules/ad/interface/message-handlers/matcher-ad-created.message-handler';
|
|
import { CommandBus } from '@nestjs/cqrs';
|
|
import { Test, TestingModule } from '@nestjs/testing';
|
|
|
|
const matcherAdCreatedMessage =
|
|
'{"id":"4eb6a6af-ecfd-41c3-9118-473a507014d4","driverDuration":"3512","driverDistance":"65845","fwdAzimuth":"90","backAzimuth":"270"}';
|
|
|
|
const mockCommandBus = {
|
|
execute: jest.fn(),
|
|
};
|
|
|
|
describe('Matcher Ad Created Message Handler', () => {
|
|
let matcherAdCreatedMessageHandler: MatcherAdCreatedMessageHandler;
|
|
|
|
beforeAll(async () => {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
providers: [
|
|
{
|
|
provide: CommandBus,
|
|
useValue: mockCommandBus,
|
|
},
|
|
MatcherAdCreatedMessageHandler,
|
|
],
|
|
}).compile();
|
|
|
|
matcherAdCreatedMessageHandler = module.get<MatcherAdCreatedMessageHandler>(
|
|
MatcherAdCreatedMessageHandler,
|
|
);
|
|
});
|
|
|
|
afterEach(async () => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
it('should be defined', () => {
|
|
expect(matcherAdCreatedMessageHandler).toBeDefined();
|
|
});
|
|
|
|
it('should validate an ad', async () => {
|
|
jest.spyOn(mockCommandBus, 'execute');
|
|
await matcherAdCreatedMessageHandler.matcherAdCreated(
|
|
matcherAdCreatedMessage,
|
|
);
|
|
expect(mockCommandBus.execute).toHaveBeenCalledTimes(1);
|
|
});
|
|
});
|