test(logistique) : tests PHPUnit RG-5.01→5.10 + capture contrat JSON (ERP-187) #137
Reference in New Issue
Block a user
Delete Branch "feat/erp-187-tests-tickets-pesee"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ERP-187 (1.7) — Tests PHPUnit RG-5.01→5.10 + capture contrat JSON
Couvre les règles de gestion du M5 (tickets de pesée) par des tests PHPUnit et capture la réponse JSON réelle (DoD § 4.0.bis) collée dans
spec-back.mdavant les écrans front.Tests unitaires (Processor / Normalizer / Callback — sans BDD ni HTTP)
nullsi une pesée manque, recalcul au PATCH.client/supplier/otherLabel) + exclusivité (null-ification hors-branche).XX-000-XX, « Tout format », mapping 422 surimmatriculation.Tests fonctionnels (API réelle)
{siteCode}-TP-{NNNN}, séquence par site, isolation inter-sites, immuabilité numéro/site au PATCH.plateFreeFormatprésent,numberformaté,netWeight= full − empty) + dump JSON viaWEIGHING_TICKET_DOD_DUMP.DoD
spec-back.md § 4.0.bis: JSON réel (liste + détail) collé, 4 pièges marqués ✅ — feu vert front.Vérifications
make testcomplet vert : 848 tests, 6302 assertions (0 échec ; deprecations/notices PHPUnit seuls).make php-cs-fixer-allow-risky: 0 correction.Empilée sur ERP-186 (stack M5).
Couverture des règles de gestion du M5 (tickets de pesée) et capture de la réponse JSON réelle (DoD § 4.0.bis) avant les écrans front. Tests unitaires (Processor/Normalizer/Callback, sans BDD ni HTTP) : - NetWeightTest (RG-5.05) : net = plein − vide, null si pesée manquante, recalcul PATCH. - CounterpartyValidationTest (RG-5.03) : présence par branche (propertyPath) + exclusivité. - ImmatriculationNormalizationTest (RG-5.01/5.10) : masque XX-000-XX, « Tout format », 422. Tests fonctionnels (API réelle) : - WeighingTicketNumberingTest (RG-5.02/5.09) : format {siteCode}-TP-{NNNN}, séquence par site, isolation inter-sites, immuabilité numéro/site au PATCH. - WeighingTicketSerializationContractTest (DoD § 4.0.bis) : 4 pièges (client embarqué, plateFreeFormat présent, number formaté, netWeight = full − empty) + dump JSON. - WeighingTicketRBACMatrixTest (§ 5.2) : admin/bureau/usine OK, compta/commerciale 403, anonyme 401. DSD/stub/reading déjà couverts (ERP-184/185). spec-back.md § 4.0.bis : JSON réel collé.