mirror of
https://gitlab.com/mobicoop/v3/service/ad.git
synced 2026-01-11 04:22:39 +00:00
feat(pause ad): emit update event after pause ad
This commit is contained in:
42
tests/unit/ad/core/pause-ad.service.spec.ts
Normal file
42
tests/unit/ad/core/pause-ad.service.spec.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { AD_REPOSITORY } from '@modules/ad/ad.di-tokens';
|
||||
import { PauseAdCommand } from '@modules/ad/core/application/commands/pause-ad/pause-ad.command';
|
||||
import { PauseAdService } from '@modules/ad/core/application/commands/pause-ad/pause-ad.service';
|
||||
import { AdEntity } from '@modules/ad/core/domain/ad.entity';
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { punctualPassengerCreateAdProps } from './ad.fixtures';
|
||||
|
||||
const ad: AdEntity = AdEntity.create(punctualPassengerCreateAdProps());
|
||||
jest.spyOn(ad, 'pause');
|
||||
|
||||
const mockAdRepository = {
|
||||
findOneById: jest.fn().mockImplementation(() => ad),
|
||||
update: jest.fn(),
|
||||
};
|
||||
|
||||
describe('pause-ad.service', () => {
|
||||
let pauseAdService: PauseAdService;
|
||||
|
||||
beforeAll(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [
|
||||
{
|
||||
provide: AD_REPOSITORY,
|
||||
useValue: mockAdRepository,
|
||||
},
|
||||
PauseAdService,
|
||||
],
|
||||
}).compile();
|
||||
|
||||
pauseAdService = module.get<PauseAdService>(PauseAdService);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(pauseAdService).toBeDefined();
|
||||
});
|
||||
|
||||
it('should trigger the pause logic and pause the ad from the repository', async () => {
|
||||
await pauseAdService.execute(new PauseAdCommand({ id: ad.id }));
|
||||
expect(ad.pause).toHaveBeenCalled();
|
||||
expect(mockAdRepository.update).toHaveBeenCalledWith(ad);
|
||||
});
|
||||
});
|
||||
42
tests/unit/ad/interface/pause-ad.grpc.controller.spec.ts
Normal file
42
tests/unit/ad/interface/pause-ad.grpc.controller.spec.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { PauseAdGrpcController } from '@modules/ad/interface/grpc-controllers/pause-ad.grpc.controller';
|
||||
import { CommandBus } from '@nestjs/cqrs';
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
|
||||
const mockCommandBus = {
|
||||
execute: jest.fn(),
|
||||
};
|
||||
|
||||
describe('Pause Ad Grpc Controller', () => {
|
||||
let pauseAdGrpcController: PauseAdGrpcController;
|
||||
|
||||
beforeAll(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [
|
||||
{
|
||||
provide: CommandBus,
|
||||
useValue: mockCommandBus,
|
||||
},
|
||||
PauseAdGrpcController,
|
||||
],
|
||||
}).compile();
|
||||
|
||||
pauseAdGrpcController = module.get<PauseAdGrpcController>(
|
||||
PauseAdGrpcController,
|
||||
);
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(pauseAdGrpcController).toBeDefined();
|
||||
});
|
||||
|
||||
it('should execute the pause ad command', async () => {
|
||||
await pauseAdGrpcController.pause({
|
||||
id: '200d61a8-d878-4378-a609-c19ea71633d2',
|
||||
});
|
||||
expect(mockCommandBus.execute).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user