corentin_wakdo/tests/Support
Imugiii f669c32c25
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 1m0s
CI / js-tests (push) Successful in 35s
CI / secret-scan (pull_request) Successful in 13s
CI / php-lint (pull_request) Successful in 33s
CI / static-tests (pull_request) Successful in 59s
CI / js-tests (pull_request) Successful in 27s
CI / auto-merge (push) Has been skipped
CI / auto-merge (pull_request) Successful in 7s
feat(api): P4 chunk 1b - encaissement commande + decrement stock
OrderController (POST /api/orders + /api/orders/{number}/pay) cable sur
OrderRepository::pay : transition gardee pending_payment -> paid et
decrement de stock atomique (RG-5 etapes 5-6, RG-T11/RG-T20) dans une
transaction. Idempotent (deja paid -> renvoi sans re-decrement ; course
concurrente perdue -> sortie idempotente) ; statut terminal -> 409.

Decrement agrege par ingredient (un UPDATE auto-verrouillant + une ligne
stock_movement(sale) par ingredient, ordre de verrou stable par id) ;
modificateurs appliques (remove => 0, add => portion supplementaire) ;
menu = recette du burger + recettes des selections, au format de la ligne.

Inerte tant que les recettes (product_ingredient) ne sont pas seedees.

Routes /api/orders anonymes (kiosk, pas de session). Double de test dedie
extrait en tests/Support/FakeOrderDatabase. PHPUnit 290 + PHPStan L6 verts.
2026-06-18 12:20:20 +00:00
..
FakeDatabase.php feat(admin): RBAC - matrice roles/permissions + roles custom (PIN+audit diff) (P3) (#39) 2026-06-17 14:25:42 +02:00
FakeOrderDatabase.php feat(api): P4 chunk 1b - encaissement commande + decrement stock 2026-06-18 12:20:20 +00:00
SpyMailer.php feat: authentification back-office P2 (login/logout/reset, throttle, audit) (#11) 2026-06-15 20:18:59 +02:00