|
All checks were successful
CI / secret-scan (push) Successful in 14s
CI / php-lint (push) Successful in 32s
CI / static-tests (push) Successful in 1m17s
CI / js-tests (push) Successful in 40s
CI / secret-scan (pull_request) Successful in 13s
CI / php-lint (pull_request) Successful in 43s
CI / static-tests (pull_request) Successful in 1m19s
CI / js-tests (pull_request) Successful in 47s
Une taille de boisson est un produit a part entiere (modele identique a Moyenne Frite / Grande Frite) : nouvelle colonne product.base_product_id (self-FK ON DELETE CASCADE) groupe les variantes sous leur base, size_cl porte le volume. Les variantes sont masquees de la grille catalogue (availableForCatalogue ET findForCatalogue filtrent base_product_id IS NULL : une 50cl ne s'atteint que via le picker de taille de sa base, jamais en fiche autonome ni par lien direct). /api/products expose un tableau sizes[] par base, charge en une requete (sizesByBase, pas de N+1). Le picker borne (CSP-safe) resout la taille choisie en product_id ; le domaine commande facture par product_id, flux inchange (resolveLine), stock decremente via la recette propre de la variante. Migration 0007 + seed 0005 idempotents (verifies sur MariaDB reel : migration x2, seed x3, comptes stables, CASCADE confirme). Revue bmad-compliance : 1 must_fix (filtre findForCatalogue) corrige, mantras 92%. |
||
|---|---|---|
| .. | ||
| a11y.test.js | ||
| allergens.test.js | ||
| category-strip.test.js | ||
| checkout.test.js | ||
| composer-slots.test.js | ||
| counter-order.test.js | ||
| data.test.js | ||
| order-panel.test.js | ||
| package.json | ||
| pin-modal.test.js | ||
| product-options.test.js | ||