fix(tests): corrige 3 suites Mocha DB révélées par leur 1er run sur main #17
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/mocha-db-suites-first-run"
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?
Après le merge des features cooking / admin / hors-catalogue (#11 / #15 / #16),
pnpm --filter api testsurmainavait 3 échecs. Toutes les suites concernées avaient été écrites pendant le dev mais jamais exécutées (pas de Postgres dans ces sessions) — ce sont des bugs dans les tests, le code mergé est correct.Corrections
apps/api/test/reference.test.tsGET /reference/ingredientsrenvoie désormaisisPlaceholder(toujoursfalse) etdisplayName(toujoursnull) depuis la PR #16 (champs non-optionnels deIngredientView). L'assertionto.have.keys([...])exacte est mise à jour. Le doc deIngredientView("never returned byGET /reference/ingredients") parle des lignes placeholder, pas des champs.apps/api/test/cooking-session.test.ts— "pools an identical prep step…"La fixture avait 2 recettes symétriques (
chop onion→simmer). Après mise en commun du hachage enmerged-prep, il ne reste qu'unsimmerpar recette → les deux tournent dans l'unique phase de cuisson, donc aucune phase ultérieure où unbackgroundpourrait apparaître. L'optimiseur est correct (cf. le test pur "does not surface a single recipe's own passive cook…"). « Tarte » reçoit une étape activemixsupplémentaire : sa cuissonsimmerdémarre pendant que « Soupe » est enhold, donc le simmer de Soupe flotte bien enbackground. Les assertionsmerged-prep(oignon, quantité 5, 2 recettes) restent inchangées.apps/api/test/admin-tech-steps.test.ts— "returns 409 RETRAIN_ALREADY_RUNNING"Une requête supertest ne part qu'à l'
await/.then(superagent 10, lazy). La 1ʳᵉ requête/retrainconcurrente n'était donc jamais lancée avant l'assertion, le verrou processretrainInProgressn'était jamais tenu, et la 2ᵉ recevait200au lieu de409. Ajout d'un.then(res => res, err => err)pour la déclencher avant l'attente de 100 ms (conforme ànoFloatingPromises).Vérification
tsc --noEmit(apps/api) : OKbiome checksur les 3 fichiers : proprepnpm --filter api test.🤖 Generated with Claude Code