- CLAUDE.md devient un index concis : contexte, stack, regles absolues numerotees, pointeurs vers les fichiers de regles detaillees via references @.claude/rules/*.md - Les conventions detaillees (architecture, backend, frontend, testing, naming, git, workflow) sont extraites dans .claude/rules/ pour rester chargees a la demande sans gonfler le context du CLAUDE.md principal - Ajoute la regle absolue "Ne jamais mentionner Claude/IA dans commits ou PR" (point 10) pour garder l'historique git signe par l'utilisateur
1.5 KiB
1.5 KiB
Tests
Trois suites
| Suite | Commande | Outil | Where |
|---|---|---|---|
| Back | make test |
PHPUnit | Container PHP ; fixtures dediees sous tests/Fixtures/ |
| Front unitaire | make nuxt-test |
Vitest (happy-dom) | Container Node ; <30s ; composables/utils/stores |
| Front E2E | make test-e2e |
Playwright | Host (pas container, navigateur reel requis) |
Bootstrap E2E (une fois par poste de dev) : make install-e2e-deps (Chromium + libs systeme, sudo).
Re-run uniquement si @playwright/test upgrade majeur.
Workflow E2E : make start && make seed-e2e && make dev-nuxt (terminal 1), make test-e2e (terminal 2).
UI interactive pour debug : make test-e2e-ui.
Regle d'or E2E
Un nouveau test E2E ne s'ajoute QUE si un bug critique est passe en prod.
Sinon, la bonne place est un test unitaire Vitest :
- Plus rapide
- Plus stable
- Moins de faux positifs
Pour etendre la couverture RBAC, etendre un persona existant dans frontend/tests/e2e/_fixtures/personas.ts plutot que de creer un nouveau test.
Matrice RBAC — 3 endroits obligatoires
Ajouter/modifier une permission testable = toucher les 3 miroirs (sinon drift garanti) :
config/sidebar.php— attacherpermissionau bon itemfrontend/tests/e2e/_fixtures/personas.ts— ajusterpermissions+expectedAdminLinksd'un persona existantsrc/Module/Core/Infrastructure/Console/SeedE2ECommand.php— miroir back du meme persona
Tout changement sur l'un des trois sans les deux autres = test casse ou faux positif.