Checkpoint: Audit de robustesse et maintenabilité : calcul dynamique des tendances OPEX par véritable année N-1, filtrage/validation centralisés des codes établissement, transactions d'import et d'écriture, contraintes uniques CAPEX/OPEX avec déduplication, suppression effective de postes OPEX, nettoyage des gabarits et scripts morts, chargement différé XLSX, documentation métier et 22 tests passants.

This commit is contained in:
Manus
2026-08-17 20:50:33 +00:00
parent 31cdb257fb
commit 615dd46059
29 changed files with 1449 additions and 3307 deletions

View File

@@ -0,0 +1,23 @@
import { describe, expect, it } from "vitest";
import { isOpexEtablissementCode, normalizeOpexEtablissementCode } from "./opexValidation";
describe("validation des codes établissement OPEX", () => {
it("normalise les codes réels, y compris les codes composés", () => {
expect(normalizeOpexEtablissementCode(" 1001bpt ")).toBe("1001BPT");
expect(normalizeOpexEtablissementCode("1084CAS + CAC")).toBe("1084CAS + CAC");
expect(isOpexEtablissementCode("1083MIS+MIC")).toBe(true);
});
it("rejette les libellés de catégories et de synthèse importés par erreur", () => {
for (const invalidCode of [
"Infogérance",
"Sécurité",
"Applicatifs HEP",
"Téléphonie",
"TOTAL",
"Appicatifs commmuns",
]) {
expect(isOpexEtablissementCode(invalidCode)).toBe(false);
}
});
});