mirror of
https://gitlab.com/mobicoop/v3/service/ad.git
synced 2026-02-01 06:30:46 +00:00
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { OUTPUT_DATETIME_TRANSFORMER } from '@modules/ad/ad.di-tokens';
|
|
import { AdMapper } from '@modules/ad/ad.mapper';
|
|
import { DateTimeTransformerPort } from '@modules/ad/core/application/ports/datetime-transformer.port';
|
|
import { AdRepository } from '@modules/ad/infrastructure/ad.repository';
|
|
import { PrismaService } from '@modules/ad/infrastructure/prisma.service';
|
|
import { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter';
|
|
import { Test, TestingModule } from '@nestjs/testing';
|
|
|
|
const mockMessagePublisher = {
|
|
publish: jest.fn().mockImplementation(),
|
|
};
|
|
|
|
const mockOutputDatetimeTransformer: DateTimeTransformerPort = {
|
|
fromDate: jest.fn(),
|
|
toDate: jest.fn(),
|
|
day: jest.fn(),
|
|
time: jest.fn(),
|
|
};
|
|
|
|
describe('Ad repository', () => {
|
|
let prismaService: PrismaService;
|
|
let adMapper: AdMapper;
|
|
let eventEmitter: EventEmitter2;
|
|
|
|
beforeAll(async () => {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
imports: [EventEmitterModule.forRoot()],
|
|
providers: [
|
|
PrismaService,
|
|
AdMapper,
|
|
{
|
|
provide: OUTPUT_DATETIME_TRANSFORMER,
|
|
useValue: mockOutputDatetimeTransformer,
|
|
},
|
|
],
|
|
}).compile();
|
|
|
|
prismaService = module.get<PrismaService>(PrismaService);
|
|
adMapper = module.get<AdMapper>(AdMapper);
|
|
eventEmitter = module.get<EventEmitter2>(EventEmitter2);
|
|
});
|
|
it('should be defined', () => {
|
|
expect(
|
|
new AdRepository(
|
|
prismaService,
|
|
adMapper,
|
|
eventEmitter,
|
|
mockMessagePublisher,
|
|
),
|
|
).toBeDefined();
|
|
});
|
|
});
|