Migration live + BDD.sql from-scratch, module Nest / API /evenements-agenda, FK cartes id_evenement. Front stub path aligné. Co-authored-by: Cursor <cursoragent@cursor.com>
74 lines
2.2 KiB
TypeScript
74 lines
2.2 KiB
TypeScript
import { Test, TestingModule } from '@nestjs/testing';
|
|
import { EvenementsAgendaController } from './evenements-agenda.controller';
|
|
import { EvenementsAgendaService } from './evenements-agenda.service';
|
|
import { AuthGuard } from 'src/common/guards/auth.guard';
|
|
import { RolesGuard } from 'src/common/guards/roles.guard';
|
|
import { RoleType } from 'src/entities/users.entity';
|
|
import { TypeEvenementAgendaType } from 'src/entities/evenements_agenda.entity';
|
|
|
|
describe('EvenementsAgendaController (#172)', () => {
|
|
let controller: EvenementsAgendaController;
|
|
const serviceMock = {
|
|
lister: jest.fn(),
|
|
creer: jest.fn(),
|
|
maj: jest.fn(),
|
|
supprimer: jest.fn(),
|
|
};
|
|
|
|
beforeEach(async () => {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
controllers: [EvenementsAgendaController],
|
|
providers: [{ provide: EvenementsAgendaService, useValue: serviceMock }],
|
|
})
|
|
.overrideGuard(AuthGuard)
|
|
.useValue({ canActivate: () => true })
|
|
.overrideGuard(RolesGuard)
|
|
.useValue({ canActivate: () => true })
|
|
.compile();
|
|
|
|
controller = module.get(EvenementsAgendaController);
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
it('should be defined', () => {
|
|
expect(controller).toBeDefined();
|
|
});
|
|
|
|
it('lister délègue au service', async () => {
|
|
serviceMock.lister.mockResolvedValue({ items: [] });
|
|
const res = await controller.lister(
|
|
'u1',
|
|
RoleType.PARENT,
|
|
'pl-1',
|
|
undefined,
|
|
undefined,
|
|
'2026-01-01',
|
|
'2026-12-31',
|
|
);
|
|
expect(serviceMock.lister).toHaveBeenCalledWith('u1', RoleType.PARENT, {
|
|
placementId: 'pl-1',
|
|
type: undefined,
|
|
statut: undefined,
|
|
from: '2026-01-01',
|
|
to: '2026-12-31',
|
|
});
|
|
expect(res.items).toEqual([]);
|
|
});
|
|
|
|
it('creer délègue au service', async () => {
|
|
serviceMock.creer.mockResolvedValue({ id: 'a1' });
|
|
const dto = {
|
|
id_placement: 'pl-1',
|
|
type: TypeEvenementAgendaType.ABSENCE_ENFANT,
|
|
date_debut: '2026-10-01',
|
|
date_fin: '2026-10-02',
|
|
};
|
|
await controller.creer('u1', RoleType.PARENT, dto);
|
|
expect(serviceMock.creer).toHaveBeenCalledWith(
|
|
'u1',
|
|
RoleType.PARENT,
|
|
dto,
|
|
);
|
|
});
|
|
});
|