| .. | ||
| .auth | ||
| e2e | ||
| fixtures | ||
| mobile-responsive.spec.ts-snapshots | ||
| playwright-report-visual | ||
| test-results-storybook | ||
| test-results-visual | ||
| tests | ||
| utils | ||
| visual-regression.spec.ts-snapshots | ||
| crud-operations.spec.ts | ||
| debug-input-focus.spec.ts | ||
| error-boundary.spec.ts | ||
| error-handling.spec.ts | ||
| global-setup.ts | ||
| navigation.spec.ts | ||
| performance.spec.ts | ||
| README.md | ||
| setup-test-user-role.sh | ||
| setup-test-user-role.sql | ||
| track_lifecycle.spec.ts | ||
| visual-complete.spec.ts | ||
| visual-regression.spec.ts | ||
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 (Audit 2.10)
| Parcours | Fichier(s) | Description |
|---|---|---|
| Auth | tests/auth.spec.ts |
Login, register, logout, route guards, token refresh. Optionnel : 2FA (compte test dédié). |
| Upload | tests/upload.spec.ts |
Upload fichier, upload par chunks. |
| Purchase | tests/purchase.spec.ts |
Marketplace → Add to cart → Checkout → Success. État panier vide. |
| Chat | tests/chat.spec.ts |
Load /chat, UI (Channels, input), état connecté/déconnecté. Envoi message (skip si WebSocket indisponible). |
| 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. |
| Post-deploy smoke | tests/smoke-post-deploy.spec.ts |
Health checks (homepage, login, API) against deployed URL. |
Post-deploy smoke tests
Run against a deployed environment (staging/production) without starting the dev server:
PLAYWRIGHT_BASE_URL=https://staging.veza.com npx playwright test --config=playwright.config.smoke.ts
Or with VITE_FRONTEND_URL:
VITE_FRONTEND_URL=https://app.veza.com npx playwright test --config=playwright.config.smoke.ts
In CI (cd.yml), the smoke job runs after deploy when STAGING_URL (secret or variable) is configured.
Prérequis
- Frontend : servi (ex.
npm run dev) sur l'URL configurée dansTEST_CONFIG.FRONTEND_URL(défaut : http://localhost:5173). - Backend API : obligatoire pour auth, search, playlists, upload, marketplace (défaut : http://localhost:8080/api/v1). Les tests auth échouent si le backend n'est pas démarré.
- Chat server (optionnel) : pour les tests Chat complets (envoi de message). Sans chat server, les tests Chat font du smoke (load UI, état déconnecté).
- Compte de test : voir
e2e/utils/test-helpers.ts:TEST_USERS.default(ouTEST_EMAIL,TEST_PASSWORD).
Lancer les E2E
cd apps/web
npm run test:e2e
# ou
npx playwright test
Pour un fichier précis :
npx playwright test e2e/tests/auth.spec.ts
Tous les flows critiques (Auth, Upload, Purchase, Chat) :
npx playwright test e2e/tests/auth.spec.ts e2e/tests/upload.spec.ts e2e/tests/purchase.spec.ts e2e/tests/chat.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.
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 :
E2E_2FA_CODE=123456 E2E_2FA_EMAIL=user@example.com E2E_2FA_PASSWORD=secret npx playwright test e2e/tests/auth.spec.ts -g "2FA"