Bloc A - Code mort: - Suppression Studio (components, views, features) - Suppression gamification + services mock (projectService, storageService, gamificationService) - Mise à jour Sidebar, Navbar, locales Bloc B - Frontend: - Suppression modal.tsx deprecated, Modal.stories (doublon Dialog) - Feature flags: PLAYLIST_SEARCH, PLAYLIST_RECOMMENDATIONS, ROLE_MANAGEMENT = true - Suppression 19 tests orphelins, retrait exclusions vitest.config Bloc C - Backend: - Extraction routes_auth.go depuis router.go Bloc D - Rust: - Suppression security_legacy.rs (code mort, patterns déjà dans security/)
56 lines
2.5 KiB
Markdown
56 lines
2.5 KiB
Markdown
# E2E Tests — Parcours critiques et fichiers
|
|
|
|
Ce document liste les parcours critiques couverts par les tests E2E Playwright et les fichiers associés.
|
|
|
|
## Parcours critiques
|
|
|
|
| Parcours | Fichier(s) | Description |
|
|
|----------|------------|-------------|
|
|
| **Auth** | `tests/auth.spec.ts` | Login, register, logout, route guards, token refresh. Optionnel : 2FA (compte test dédié). |
|
|
| **Smoke** | `tests/smoke.spec.ts` | Login → Upload → Création playlist → Ajout track. |
|
|
| **Playlists** | `tests/playlists.spec.ts` | Création, liste, modification, ajout/suppression de tracks, suppression playlist, recherche. |
|
|
| **Search** | `tests/search.spec.ts` | Navigation vers `/search`, saisie requête, vérification des résultats (tracks/playlists) ou état vide. |
|
|
| **Play** | `tests/play.spec.ts` | Après login : search → clic sur un track → page track ou player visible (ou état vide si pas de résultats). |
|
|
| **Profile** | `tests/profile.spec.ts` | Affichage profil, informations compte. |
|
|
| **Upload** | `tests/upload.spec.ts` | Upload fichier, upload par chunks. |
|
|
|
|
## Prérequis
|
|
|
|
- Frontend servi (ex. `npm run dev`) sur l'URL configurée dans `TEST_CONFIG.FRONTEND_URL`.
|
|
- Backend API disponible pour auth, search, playlists, upload.
|
|
- Compte de test valide (voir `e2e/utils/test-helpers.ts` : `TEST_USERS.default`).
|
|
|
|
## Lancer les E2E
|
|
|
|
```bash
|
|
cd apps/web
|
|
npm run test:e2e
|
|
# ou
|
|
npx playwright test
|
|
```
|
|
|
|
Pour un fichier précis :
|
|
|
|
```bash
|
|
npx playwright test e2e/tests/auth.spec.ts
|
|
```
|
|
|
|
**Machine à ressources limitées** : lancer **un seul spec** à la fois et **un seul projet** (chromium) pour éviter saturation CPU/RAM. Les specs auth, smoke, playlists, search nécessitent que le **Backend API** soit démarré (sinon les appels API échouent en 500). En CI, la suite complète tourne dans le cloud.
|
|
|
|
```bash
|
|
npx playwright test e2e/tests/auth.spec.ts --project=chromium
|
|
```
|
|
|
|
## 2FA E2E
|
|
|
|
Le test « should complete login with 2FA code » dans `auth.spec.ts` s'exécute **uniquement** lorsque `E2E_2FA_CODE` est défini. Pour lancer le test 2FA en CI ou en local :
|
|
|
|
- **Obligatoire** : `E2E_2FA_CODE` — code TOTP valide au moment de l'exécution (ou code de test si l'env le permet).
|
|
- **Optionnel** : `E2E_2FA_EMAIL` — email du compte 2FA (défaut : `TEST_USERS.default.email`).
|
|
- **Optionnel** : `E2E_2FA_PASSWORD` — mot de passe du compte (défaut : `TEST_USERS.default.password`).
|
|
|
|
Exemple :
|
|
|
|
```bash
|
|
E2E_2FA_CODE=123456 E2E_2FA_EMAIL=user@example.com E2E_2FA_PASSWORD=secret npx playwright test e2e/tests/auth.spec.ts -g "2FA"
|
|
```
|