feat(#159/#160): suppressions métier dashboard — API + UI (squash develop).
Matrice PO #154 : supprimer dossiers famille/AM, parents, enfants et comptes staff avec règles métier (placements clôturés, sans_enfant, cascade foyer, droits gestionnaire/admin). Poubelle en liste, dialogues de confirmation, garde-fou gestionnaire→gestionnaire. Inclut polish hauteur modale fiche AM.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { DossiersController } from './dossiers.controller';
|
||||
import { DossiersService } from './dossiers.service';
|
||||
import { SuppressionService } from '../suppressions/suppression.service';
|
||||
import { AuthGuard } from 'src/common/guards/auth.guard';
|
||||
import { RolesGuard } from 'src/common/guards/roles.guard';
|
||||
import { StatutUtilisateurType } from 'src/entities/users.entity';
|
||||
@@ -11,11 +12,17 @@ describe('DossiersController', () => {
|
||||
listDossiers: jest.fn(),
|
||||
getDossierByNumero: jest.fn(),
|
||||
};
|
||||
const suppressionServiceMock = {
|
||||
deleteDossier: jest.fn(),
|
||||
};
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [DossiersController],
|
||||
providers: [{ provide: DossiersService, useValue: dossiersServiceMock }],
|
||||
providers: [
|
||||
{ provide: DossiersService, useValue: dossiersServiceMock },
|
||||
{ provide: SuppressionService, useValue: suppressionServiceMock },
|
||||
],
|
||||
})
|
||||
.overrideGuard(AuthGuard)
|
||||
.useValue({ canActivate: () => true })
|
||||
@@ -60,4 +67,19 @@ describe('DossiersController', () => {
|
||||
expect(dossiersServiceMock.getDossierByNumero).toHaveBeenCalledWith('2026-000001');
|
||||
expect(res.type).toBe('family');
|
||||
});
|
||||
|
||||
it('remove delegates to suppressionService.deleteDossier', async () => {
|
||||
const user = { id: 'u1', role: 'gestionnaire' } as never;
|
||||
suppressionServiceMock.deleteDossier.mockResolvedValue({
|
||||
type: 'famille',
|
||||
deleted_user_ids: [],
|
||||
deleted_enfant_ids: [],
|
||||
message: 'ok',
|
||||
});
|
||||
await controller.remove('2026-000001', user);
|
||||
expect(suppressionServiceMock.deleteDossier).toHaveBeenCalledWith(
|
||||
'2026-000001',
|
||||
user,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user