Premier test E2E : welcome -> categories -> produit -> ajout panier -> panier ->
paiement -> confirmation. Tourne headless dans le conteneur Playwright officiel,
contre une stack JETABLE isolee (tests/e2e/run.sh : `-p wakdoe2e`, override
container_name + sans port hote, jointe par --add-host). Zero dependance Node/browser
sur l'hote, ne touche aucune stack existante.
- playwright.config.js (CJS), tests/e2e/borne.spec.js, tests/e2e/run.sh,
tests/e2e/docker-compose.e2e.yml (override jetable).
- @playwright/test en devDep ; le job CI js-tests skip le download des browsers
(PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1, validee : npm ci + 7 tests JS verts).
- Hostnames de test en .test (Chromium resout *.localhost en dur vers 127.0.0.1).
Etape 1 de l'initiative E2E (lance a la main). Suite : parcours admin, puis job CI.
#pay-btn est un <a> : `.disabled` n'existe pas dessus, donc `payBtn.disabled = false`
etait un no-op et `aria-disabled="true"` ne repassait jamais a false. Le bouton
"Valider ma commande" restait annonce desactive aux lecteurs d'ecran panier rempli.
Corrige en pilotant aria-disabled. Trouve par le parcours E2E borne.