74 lines
2.1 KiB
TypeScript
74 lines
2.1 KiB
TypeScript
import { Test, TestingModule } from '@nestjs/testing';
|
|
import { AbsencesGardeController } from './absences-garde.controller';
|
|
import { AbsencesGardeService } from './absences-garde.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 { TypeAbsenceGardeType } from 'src/entities/absences_garde.entity';
|
|
|
|
describe('AbsencesGardeController (#172)', () => {
|
|
let controller: AbsencesGardeController;
|
|
const serviceMock = {
|
|
lister: jest.fn(),
|
|
creer: jest.fn(),
|
|
maj: jest.fn(),
|
|
supprimer: jest.fn(),
|
|
};
|
|
|
|
beforeEach(async () => {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
controllers: [AbsencesGardeController],
|
|
providers: [{ provide: AbsencesGardeService, useValue: serviceMock }],
|
|
})
|
|
.overrideGuard(AuthGuard)
|
|
.useValue({ canActivate: () => true })
|
|
.overrideGuard(RolesGuard)
|
|
.useValue({ canActivate: () => true })
|
|
.compile();
|
|
|
|
controller = module.get(AbsencesGardeController);
|
|
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: TypeAbsenceGardeType.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,
|
|
);
|
|
});
|
|
});
|