capitalisation: intégration 28 entrées knowledge + 2 CLAUDE.md RL799_V2 (triage branche mcp_v1)

28 nouvelles sections intégrées dans 12 fichiers knowledge (backend risques/patterns,
frontend risques/patterns, workflow risques). Couvre rate limiting, RGPD, CSP Next.js,
refresh token TOCTOU, catch-all Prisma, distinction 401/403, tests E2E Playwright, etc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
MaksTinyWorkshop
2026-04-08 20:11:02 +02:00
parent 72758c1adc
commit 7767f1f947
12 changed files with 662 additions and 0 deletions

View File

@@ -148,3 +148,26 @@ source_projects: [app-alexandrie, app-template-resto, RL799_V2]
- **Règle** : si un test vérifie un *comportement* (ex: "le menu se ferme après clic"), il doit monter le composant, pas chercher une string dans le source
- Contexte technique : Vue 3 / node:test — RL799_V2 02-04-2026
---
<a id="risque-catch-false-test-skip-e2e"></a>
## Anti-pattern : `.catch(() => false)` + `test.skip` dans les tests E2E
### Risques
- Le pattern `await locator.isVisible().catch(() => false)` suivi de `test.skip(true, ...)` masque les erreurs réelles (sélecteur cassé, timeout, changement de structure) derrière un skip silencieux
- Un AC peut rester perpétuellement non testé sans qu'aucun rapport ne le signale comme problème
### Symptômes
- Tests skippés en permanence dans les rapports CI
- AC marqués `[x]` dans la story mais jamais réellement validés
### Bonnes pratiques / mitigations
- Pour vérifier si un élément optionnel est présent (données dépendantes du seed), utiliser `await locator.count()` qui retourne 0 sans lancer d'exception, puis `test.skip` uniquement si count === 0
- Réserver `.catch()` aux cas où une exception est réellement attendue et documentée
- **Signal review** : `.catch(() => false)` suivi de `test.skip` dans un test E2E
- Contexte technique : Playwright / E2E — RL799_V2 08-04-2026