| TC-250-01 | ✅ | src/modules/destruction/__tests__/eligibility.service.spec.ts | Présent, mais couverture combinatoire 9 cas non reproduite explicitement. |
| TC-250-02 | ✅ | src/modules/destruction/__tests__/eligibility.service.spec.ts | Vérifie le filtre status=EXPIRED. |
| TC-250-03 | ✅ | src/modules/destruction/__tests__/eligibility.service.spec.ts | Vérifie clause legal_lock, pas un jeu de données actif/expiré bout-en-bout. |
| TC-250-04 | ✅ | src/modules/destruction/__tests__/bordereau.service.spec.ts | Fail-closed signature bien testé (non-persistance). |
| TC-250-05 | ✅ | src/modules/destruction/__tests__/bordereau.service.spec.ts | Retry TSA et borne tsaRetryCount testés. |
| TC-250-06 | ✅ | src/modules/destruction/__tests__/destruction-execution.service.spec.ts | Échec partiel S3 + alertes unitaires couverts. |
| TC-250-07 | ✅ | src/modules/destruction/__tests__/reconciliation.service.spec.ts | Réconciliation après échec DB post-S3 couverte. |
| TC-250-08 | ✅ | src/modules/destruction/__tests__/bordereau.service.spec.ts | Bordereau unique, signature/TSA/persistance testés. |
| TC-250-08b | ✅ | src/modules/destruction/__tests__/bordereau.service.spec.ts | Échec persistance bordereau => fail-closed validé. |
| TC-250-09 | ✅ | src/modules/destruction/__tests__/destruction-audit.service.spec.ts | Corrélation audit documentId/batchId/bordereauId couverte. |
| TC-250-10 | ✅ | src/modules/destruction/__tests__/eligibility.service.spec.ts, src/modules/destruction/__tests__/bordereau.service.spec.ts | Conservation retentionExpiry=null couverte; exclusion bordereaux testée indirectement. |
| TC-250-11 | ✅ | src/modules/destruction/__tests__/bordereau.service.spec.ts, src/modules/destruction/__tests__/contractual/pii-exclusion.spec.ts | PII exclusion bien couverte. |
| TC-250-12 | ✅ | src/modules/destruction/__tests__/destruction.processor.spec.ts, src/modules/destruction/__tests__/destruction-execution.service.spec.ts | Idempotence rejouée sans double destruction. |
| TC-250-13 | ✅ | src/modules/destruction/__tests__/reconciliation.service.spec.ts | Convergence terminale et non-duplication d’audit couvertes. |
| TC-250-14 | ✅ | src/modules/destruction/__tests__/destruction-alert.service.spec.ts | Alerte + audit conjointement vérifiés. |
| TC-250-15 | ✅ | src/modules/destruction/__tests__/document-state-machine.service.spec.ts, src/modules/destruction/__tests__/contractual/state-transitions.spec.ts | Transitions interdites (incluant MAJ-28) bien couvertes. |
| TC-250-16 | ✅ | src/modules/destruction/__tests__/destruction-audit.service.spec.ts, src/modules/destruction/__tests__/destruction-audit.integration.spec.ts | Couverture unitaire solide; scénario intégration conditionnel (skip si DB absente). |
| TC-250-17 | ✅ | src/modules/destruction/__tests__/document-zeroization.service.spec.ts, src/modules/destruction/__tests__/destruction-execution.service.spec.ts | Flux hadLegalLock couvert. |
| TC-250-18 | ✅ | src/modules/destruction/__tests__/destruction.config.spec.ts, src/modules/destruction/__tests__/contractual/queue-naming.spec.ts | Nommage queue sans : bien testé. |
| TC-250-19 | ✅ | src/modules/destruction/__tests__/contractual/deprecated-api.spec.ts | Présent, mais test de présence API v5 trop permissif (peut passer via commentaires/tests). |
| TC-250-20 | ⚠️ | src/modules/destruction/__tests__/bordereau.controller.spec.ts | Couverture partielle: scénario non-ADMIN n’assert pas explicitement 403 ni audit d’accès refusé. |
| TC-250-21 | ✅ | src/modules/destruction/__tests__/bordereau.controller.spec.ts | Filtres date/batch + pagination couverts. |
| TC-250-22 | ✅ | src/modules/destruction/__tests__/pre-notice.processor.spec.ts | N=30 et N=0 couverts, payload limité. |
| TC-250-23 | ✅ | src/modules/destruction/__tests__/destruction.config.spec.ts | Bornes min/max bien couvertes. |
| TC-250-25 | ✅ | src/modules/destruction/__tests__/destruction-execution.service.spec.ts | Non-éligible mid-run + batch partiel couverts. |
| TC-250-26 | ✅ | src/modules/destruction/__tests__/destruction.processor.spec.ts | Dépassement batchFinalizeSla couvert. |
| TC-250-27 | ✅ | src/modules/destruction/__tests__/destruction-execution.service.spec.ts | Distinction avant 1er doc / en cours couverte. |
| TC-250-28 | ✅ | src/modules/destruction/__tests__/reconciliation.service.spec.ts | Dépassement reconciliationSla + escalade couverts. |