diff --git a/TODO.md b/TODO.md index c0530be..338571b 100644 --- a/TODO.md +++ b/TODO.md @@ -149,21 +149,36 @@ Une feature est « faite » si et seulement si : ### Phase 3 — Interface utilisateur -- [ ] Page/vue **liste des cartes** (F-08) -- [ ] Page/vue **détail d'une carte** (F-09) -- [ ] Formulaire **création** (F-05) -- [ ] Formulaire **édition** (F-06) -- [ ] **Suppression** avec confirmation (F-07) -- [ ] Vue **jeu** : tirage aléatoire global + sélecteur de thème (F-01, F-02, F-03, F-04, F-10) -- [ ] Navigation/flux SPA cohérent (routes Next.js) -- [ ] DoD : phases précédentes + parcours utilisateur complet fonctionnel +- [x] Page/vue **liste des cartes** (F-08) +- [x] Page/vue **détail d'une carte** (F-09) +- [x] Formulaire **création** (F-05) +- [x] Formulaire **édition** (F-06) +- [x] **Suppression** avec confirmation (F-07) +- [x] Vue **jeu** : tirage aléatoire global + sélecteur de thème (F-01, F-02, F-03, F-04, F-10) +- [x] Navigation/flux SPA cohérent (routes Next.js) +- [x] DoD : phases précédentes + parcours utilisateur complet fonctionnel ### Phase 4 — Tests -- [ ] Tests des composants UI (composants critiques) -- [ ] Couverture des critères F-01 à F-10 -- [ ] Coverage au seuil défini (Phase 0) -- [ ] DoD : toutes phases précédentes vertes + coverage ok +- [x] Tests des composants UI (composants critiques) +- [x] Couverture des critères F-01 à F-10 +- [x] Coverage au seuil défini (Phase 0) +- [x] DoD : toutes phases précédentes vertes + coverage ok + +Traceabilité F-01 à F-10 (tests unitaires) : + +| Ref | Critère | Couverture | +| ---- | ----------------------------------- | --------------------------------------------------------------------------------- | +| F-01 | Carte au hasard | `play-view.test.tsx`, `app/play/page.test.tsx`, API `random`, `card-service.test` | +| F-02 | Question visible, réponse cachée | `play-view.test.tsx` | +| F-03 | Révéler / masquer la réponse | `play-view.test.tsx` | +| F-04 | Tirage par thème | `play-view.test.tsx`, API `random`, `card-service.test` | +| F-05 | Créer une carte | `cards/new/page.test.tsx`, `card-form.test.tsx`, `cards/page.test.tsx`, API POST | +| F-06 | Modifier une carte (pré-remplie) | `cards/[id]/edit/page.test.tsx`, `card-form.test.tsx`, API PUT | +| F-07 | Supprimer avec confirmation | `card-delete.test.tsx`, API DELETE | +| F-08 | Lister les cartes | `cards/page.test.tsx`, `card-list.test.tsx`, API GET | +| F-09 | Consulter une carte spécifique | `cards/[id]/page.test.tsx`, `card-detail.test.tsx`, API GET `[id]` | +| F-10 | Thèmes issues des cartes existantes | `play-view.test.tsx`, `app/play/page.test.tsx`, API `themes` | ### Phase 5 — PWA, déploiement @@ -184,5 +199,5 @@ Une feature est « faite » si et seulement si : - [ ] Choix par défaut de l'implémentation repository pour la prod (MySQL ou Mongo) - [ ] Authentification éventuelle (hors périmètre README, à confirmer si nécessaire) - -21/09: p3-5 en cours \ No newline at end of file +22/09: phase 3 terminée (jeu + navigation intégrés), `pnpm check` vert +22/09: phase 4 terminée (tests UI composants + pages, traceabilité F-01 à F-10, coverage ok)