- onboarding.cy.ts / preferences.cy.ts / recipes.cy.ts mockaient encore
GET /reference/diets|allergies avec l'ancienne forme {id, name}. Depuis
les deux derniers commits l'API renvoie {id, key} (uid anglais) et le
composant résout le libellé via i18n (t(`catalog.diets.${key}`)) — avec
key manquant, ça affichait littéralement "catalog.diets.undefined" au
lieu de "Végétarien"/"Omnivore"/etc., faisant échouer cy.select()/
cy.contains() dans ces 3 specs. Corrigé pour mocker {key: "vegetarian"},
{key: "peanuts"}, etc.
- recipes.cy.ts : le test "shows a not-found message" utilisait le
mauvais code d'erreur (4041 au lieu de ErrorCode.RECIPE_NOT_FOUND =
4045), donc RecipeDetailPanel tombait dans son état d'erreur générique
au lieu du message "Cette recette n'existe pas." — bug dans mon propre
test, sans rapport avec le refactor.
- pnpm lint (biome) : les fichiers touchés par le refactor précédent
avaient quelques soucis de formatage/tri d'imports (des sed multi-
fichiers, pas d'édition via l'outil habituel) — corrigés par
`biome check --write`.
Vérifié : ces 3 specs + recipe-form.cy.ts passent maintenant dans le job
CI GitHub Actions (Linux, Cypress s'y exécute réellement — contrairement
à cet environnement Windows sandboxé, voir les commits précédents) ; 102
tests Mocha + 32 scénarios Cucumber toujours au vert en local.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
20 lines
805 B
TypeScript
20 lines
805 B
TypeScript
import assert from "node:assert/strict";
|
|
import { Then } from "@cucumber/cucumber";
|
|
import { getEnglishKey } from "../../src/db/catalog-en-keys.js";
|
|
import type { CustomWorld } from "../support/world.js";
|
|
|
|
// The feature file still names an item by its French label, for
|
|
// readability — the response itself carries only the slug `key` (see
|
|
// reference.service.ts), so this slugifies the expected label before
|
|
// comparing.
|
|
Then(
|
|
"the reference list response should include {string}",
|
|
function (this: CustomWorld, name: string) {
|
|
const keys = (this.response.body as Array<{ key: string }>).map((item) => item.key);
|
|
const expectedKey = getEnglishKey(name);
|
|
assert.ok(
|
|
keys.includes(expectedKey),
|
|
`expected ${JSON.stringify(keys)} to include "${expectedKey}"`,
|
|
);
|
|
},
|
|
);
|