From b20eedef9163ef3ca8dd30498cf22ac583e01632 Mon Sep 17 00:00:00 2001 From: Quentin Bellanger Date: Thu, 24 Oct 2024 16:36:03 +0200 Subject: [PATCH] fix audits status in account dashboard --- DOCUMENTATION.md | 8 ++++++++ confiture-rest-api/src/audits/audit.service.ts | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index 4a65a546b..2018fe3b5 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -44,3 +44,11 @@ Exemple avec 89 critères applicables et 27 critères conformes : ``` Taux de conformité = (27 / 89) * 100 = 30,34% ``` + +## Statut d’un audit + +Un audit est considéré... + +- **En cours** si tous les critères ne sont pas testés (hors éléments transverses). +- **Terminé** si tous les critères sont testés (hors éléments transverses) et qu’il a une date de publication. +- **Modifié** si tous les critères sont testés (hors éléments transverses), qu’il a une date de publication et une date d’édition. diff --git a/confiture-rest-api/src/audits/audit.service.ts b/confiture-rest-api/src/audits/audit.service.ts index 861b73bf8..f9af6bb71 100644 --- a/confiture-rest-api/src/audits/audit.service.ts +++ b/confiture-rest-api/src/audits/audit.service.ts @@ -1419,6 +1419,13 @@ export class AuditService { const statementIsPublished = !!a.initiator; + const auditIsComplete = + results.length === + CRITERIA_BY_AUDIT_TYPE[a.auditType].length * (a.pages.length + 1) && + results + .filter((r) => r.pageId !== a.transverseElementsPageId) + .every((r) => r.status !== "NOT_TESTED"); + return { ...pick( a, @@ -1429,7 +1436,7 @@ export class AuditService { "auditType" ), complianceLevel, - status: progress < 1 ? "IN_PROGRESS" : "COMPLETED", + status: auditIsComplete ? "COMPLETED" : "IN_PROGRESS", estimatedCsvSize: 502 + a.pages.length * 318, statementIsPublished };