batchCooking/apps/web/cypress/e2e
Nicolas deec91c5a3 fix(recipes): synchronise les sources en base au démarrage de l'image de prod
Le conteneur de prod ne peuplait jamais la table Source : seed-runtime.ts
(l'entrée seed de l'image Docker, exécutée après `prisma migrate deploy`)
n'appelait que seedReferenceData(), jamais registerAllRecipeSources()/
syncRecipeSources() — contrairement à prisma/seed.ts (dev). server.ts
enregistre bien les adaptateurs dans son propre registre en mémoire, mais
c'est un processus distinct de celui qui lance seed-runtime.js dans la
chaîne CMD du Dockerfile ; sans ce sync, GET /reference/sources renvoyait
toujours [], et HouseholdSettingsPage masquait silencieusement toute la
section sources (sources.length === 0 → return null). C'est ce que
l'utilisateur a remarqué : impossible de paramétrer les sources visibles
du foyer en prod.

Vérifié en local : Source/HouseSource vidées, seed-runtime.js compilé
relancé exactement comme le ferait le conteneur (migrate deploy déjà
appliqué, puis ce script) → les deux sources (TheMealDB, JSON-LD) sont
bien resynchronisées.

Ajoute aussi la couverture Cypress du parcours "sources" qui manquait :
- onboarding.feature : nouveau scénario où le catalogue de sources n'est
  pas vide — l'étape /onboarding/sources s'affiche et se soumet, au lieu
  du seul scénario existant qui la voyait toujours skippée (catalogue
  vide).
- household-settings.feature : nouveaux scénarios pour la section sources
  de /parametres/foyer — affichage + sauvegarde (autosave incluse) quand
  des sources existent, et disparition complète de la section quand le
  catalogue est vide.
- Nouvelles steps partagées (reference-data.steps.ts pour le catalogue,
  household-mutations.steps.ts pour la sélection par foyer).

Non exécutés localement : Chromium/Electron headless plante au lancement
du process GPU dans cet environnement (limitation documentée du README,
reproductible sur main, sans lien avec ce changement) — vérifiés par
relecture attentive contre le code source réel (libellés de traduction,
routes, formes de requête/réponse) et en suivant le même gabarit que les
scénarios existants déjà verts en CI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 13:48:29 +02:00
..
account.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
account.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
account.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
auth.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
auth.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
household-settings.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
household-settings.feature fix(recipes): synchronise les sources en base au démarrage de l'image de prod 2026-08-20 13:48:29 +02:00
household-settings.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
layout.cy.ts fix(e2e): update layout test for settings-page's dropped max-width 2026-08-19 22:01:22 +02:00
onboarding.feature fix(recipes): synchronise les sources en base au démarrage de l'image de prod 2026-08-20 13:48:29 +02:00
onboarding.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
planning-page.cy.ts fix(ci): corrige lint/tests cassés par la migration portions 2026-08-19 14:56:50 +02:00
preferences.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
preferences.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
preferences.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
recipe-form.feature feat(recipes): catalogue de référence pour les unités d'ingrédients 2026-08-19 22:34:57 +02:00
recipe-form.ts feat(recipes): catalogue de référence pour les unités d'ingrédients 2026-08-19 22:34:57 +02:00
recipes.cy.ts feat(recipes): catalogue de référence pour les unités d'ingrédients 2026-08-19 22:34:57 +02:00
recipes.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
recipes.ts feat(recipes): catalogue de référence pour les unités d'ingrédients 2026-08-19 22:34:57 +02:00
sidebar.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
smoke.cy.ts Centralize error handling + code quality pass (comments, SCSS theming) (#7) 2026-08-16 18:40:53 +02:00
user-preferences.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
user-preferences.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
user-preferences.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00