Fix flaky ingredient-row visibility in recipe-form.feature #1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Le scénario Cypress "Preloads an existing recipe's ingredients when editing, and lets you add another" dans apps/web/cypress/e2e/recipe-form.feature échoue de façon reproductible (2 runs consécutifs, pas un flake ponctuel) sur la branche main actuelle, avant tout changement lié à la fonctionnalité de pagination/scroll infini des sources externes (aucun fichier touché par cette session n'a de rapport avec RecipeForm/ingredient-row).
Erreur observée :
AssertionError: Timed out retrying after 4000ms: expected '<span.ingredient-row__name>' to be 'visible'
This element <span.ingredient-row__name> is not visible because its content is being clipped by one of its parent elements, which has a CSS property of overflow: hidden, scroll or auto
Reproduction : cd apps/web puis (PowerShell) :
$env:ELECTRON_EXTRA_LAUNCH_ARGS="--disable-gpu --disable-software-rasterizer --disable-gpu-compositing --no-sandbox"
npx cypress run --e2e --browser chrome --spec "cypress/e2e/recipe-form.feature"
Merci d'investiguer : soit un vrai bug de layout CSS (overflow clippant .ingredient-row__name dans le formulaire d'édition de recette), soit un souci de timing du test (l'élément apparaît après le timeout par défaut). Voir apps/web/cypress/e2e/recipe-form.feature et son step-definitions colocalisé pour le scénario exact, et le composant RecipeForm/ingredient-row
Ne se reproduit plus sur
main: le scénario "Preloads an existing recipe's ingredients when editing" passe en CI (job e2e,recipe-form.feature5/5).C'était bien un souci de timing/scroll du test, pas un bug de layout CSS. Le step partagé
Then("the recipe should include the ingredient {string}")danscypress/support/step_definitions/common.steps.tsfait maintenantcy.contains(".ingredient-row__name", name).scrollIntoView().should("be.visible")— la liste d'ingrédients peut être sous la ligne de flottaison du scroll de.app-content, et.should("be.visible")ne défile pas tout seul.Fermé comme corrigé. Traité pendant la passe autonome sur les tickets
planned, sans nouvelle PR.