Files
petitspas/backend/src/modules/evenements-agenda/evenements-agenda.controller.spec.ts
T
jmartinandCursor 2114748d44 feat(#205): renommer absences_garde → evenements_agenda
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>
2026-10-01 17:07:54 +02:00

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,
);
});
});