batchCooking/apps/web/cypress/e2e
Nicolas f19eceba87 test(web): add layout/style regression suite for the app shell
Troisième catégorie du découpage des tests (parcours via Cucumber,
composants génériques via Component Testing, et maintenant layout pur
— indépendant de tout parcours utilisateur). Cypress classique, pas de
Gherkin : ce fichier teste la structure/l'apparence du shell
(AppLayout) lui-même, pas le contenu d'une page donnée.

Couvre spécifiquement les 4 axes demandés :

- Positionnement : la sidebar garde une largeur fixe (240px déplié,
  68px replié) plaquée au coin haut-gauche, sur n'importe quelle page.
- Scroll : régression directe pour #21 — `.app-layout` reste borné
  exactement à la hauteur du viewport (overflow: hidden), et une page
  plus haute que le viewport scrolle uniquement dans `.app-content`
  (via un spacer synthétique de 3000px injecté après le mount, pour
  rester indépendant du contenu réel d'une page donnée) sans jamais
  déplacer la sidebar ni scroller le document lui-même.
- Largeur des pages : autre régression directe pour #21 — le planning
  et le catalogue de recettes remplissent toute la largeur disponible
  de `.app-content`, tandis que la page "Liste de courses" et les
  pages de paramètres restent centrées avec un espace égal de chaque
  côté (le bug original : collées à gauche avec un grand vide à
  droite).
- Breakpoint responsive (< 640px) : la sidebar bascule en barre
  horizontale pleine largeur, masque le bouton collapse/la version,
  et garde chaque lien de nav pleinement lisible (icône + label, avec
  scroll horizontal) plutôt que de les écraser en pastilles de ~16px
  sans texte — un mode de régression explicitement documenté en
  commentaire dans AppLayout.scss mais jusqu'ici non testé.
- Thème de couleur : va au-delà de l'attribut `data-theme` déjà
  couvert par user-preferences.cy.ts — vérifie les vraies valeurs de
  couleur calculées (`getComputedStyle`) sur la sidebar, le lien de
  nav actif et le fond de page, en clair et en sombre, confirmant que
  la cascade CSS des tokens (_theme.scss) atteint réellement le rendu,
  pas seulement que le JS pose le bon attribut.

Non exécutable en local (limitation GPU/sandbox Electron documentée
dans le README, pré-existante) — à vérifier en CI.
2026-08-19 14:22:12 +02:00
..
account.cy.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
account.feature test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
account.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
auth.feature test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
auth.ts fix(web): fix cross-feature step discovery and slash-alternation bug 2026-08-19 13:47:56 +02:00
household-settings.cy.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
household-settings.feature test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
household-settings.ts fix(web): fix cross-feature step discovery and slash-alternation bug 2026-08-19 13:47:56 +02:00
layout.cy.ts test(web): add layout/style regression suite for the app shell 2026-08-19 14:22:12 +02:00
onboarding.feature test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
onboarding.ts fix(web): fix cross-feature step discovery and slash-alternation bug 2026-08-19 13:47:56 +02:00
planning-page.cy.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
preferences.cy.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
preferences.feature test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
preferences.ts fix(web): fix cross-feature step discovery and slash-alternation bug 2026-08-19 13:47:56 +02:00
recipe-form.feature fix(web): fix cross-feature step discovery and slash-alternation bug 2026-08-19 13:47:56 +02:00
recipe-form.ts fix(web): fix cross-feature step discovery and slash-alternation bug 2026-08-19 13:47:56 +02:00
recipes.cy.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
recipes.feature test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
recipes.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
sidebar.cy.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +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 test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
user-preferences.feature test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00
user-preferences.ts test(web): refactor user journeys into Cucumber scenarios 2026-08-19 13:38:20 +02:00