- 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
37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# 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) :
|
|
|
|
1. `config/sidebar.php` — attacher `permission` au bon item
|
|
2. `frontend/tests/e2e/_fixtures/personas.ts` — ajuster `permissions` + `expectedAdminLinks` d'un persona existant
|
|
3. `src/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.
|