137 lines
3.4 KiB
Markdown
137 lines
3.4 KiB
Markdown
|
|
# Commandes Playwright - Tests Auth
|
||
|
|
|
||
|
|
## 📋 Résumé des tests auth disponibles
|
||
|
|
|
||
|
|
Les tests d'authentification sont dans :
|
||
|
|
- `apps/web/e2e/auth.spec.ts` - Tests d'authentification de base
|
||
|
|
- `apps/web/e2e/auth-flow.spec.ts` - Tests du workflow auth complet
|
||
|
|
- `apps/web/e2e/profile.spec.ts` - Tests de gestion de profil (modification username, bio, password, avatar)
|
||
|
|
|
||
|
|
## 🚀 Commandes pour lancer les tests
|
||
|
|
|
||
|
|
### 1. Tous les tests auth (recommandé)
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts e2e/auth-flow.spec.ts e2e/profile.spec.ts
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Avec rapport HTML
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts e2e/auth-flow.spec.ts e2e/profile.spec.ts --reporter=html
|
||
|
|
# Ouvrir le rapport : npx playwright show-report
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Un seul fichier de test
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts
|
||
|
|
# ou
|
||
|
|
npx playwright test e2e/auth-flow.spec.ts
|
||
|
|
# ou
|
||
|
|
npx playwright test e2e/profile.spec.ts
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4. Un test spécifique (par nom)
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts -g "should login successfully"
|
||
|
|
```
|
||
|
|
|
||
|
|
### 5. Mode UI (interactif)
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts --ui
|
||
|
|
```
|
||
|
|
|
||
|
|
### 6. Un seul navigateur (plus rapide)
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts --project=chromium
|
||
|
|
```
|
||
|
|
|
||
|
|
### 7. Mode debug (step by step)
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts --debug
|
||
|
|
```
|
||
|
|
|
||
|
|
### 8. Avec retry automatique
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright test e2e/auth.spec.ts --retries=2
|
||
|
|
```
|
||
|
|
|
||
|
|
## ⚙️ Prérequis
|
||
|
|
|
||
|
|
### 1. Backend doit être démarré
|
||
|
|
```bash
|
||
|
|
cd veza-backend-api
|
||
|
|
LOG_LEVEL=DEBUG go run cmd/api/main.go
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Frontend doit être démarré
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Installer les navigateurs Playwright (si nécessaire)
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
npx playwright install
|
||
|
|
# Pour installer les dépendances système (Linux)
|
||
|
|
sudo npx playwright install-deps
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📊 Résultats des derniers tests
|
||
|
|
|
||
|
|
**Statut : 42 passés / 33 échoués / 9 ignorés**
|
||
|
|
|
||
|
|
### ✅ Tests qui passent
|
||
|
|
- Login avec credentials valides
|
||
|
|
- Logout
|
||
|
|
- Validation des champs de formulaire
|
||
|
|
- Persistance de l'authentification après refresh
|
||
|
|
- Affichage du profil
|
||
|
|
- Mise à jour du username (avec limitation mensuelle)
|
||
|
|
- Validation password mismatch
|
||
|
|
|
||
|
|
### ❌ Tests qui échouent
|
||
|
|
- **Register** : Le register fonctionne mais le message de succès n'est pas détecté par les tests
|
||
|
|
- **WebKit** : Nécessite `sudo npx playwright install-deps` pour installer les dépendances système
|
||
|
|
- **SessionStorage** : Certains tests échouent à cause d'accès sessionStorage bloqué
|
||
|
|
|
||
|
|
## 🔍 Voir les résultats détaillés
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Rapport HTML
|
||
|
|
cd apps/web
|
||
|
|
npx playwright show-report
|
||
|
|
|
||
|
|
# Logs détaillés
|
||
|
|
cat /tmp/playwright-auth-tests.log | grep -E "passed|failed|Error"
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🐛 Debug d'un test spécifique
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd apps/web
|
||
|
|
# Mode debug interactif
|
||
|
|
npx playwright test e2e/auth.spec.ts -g "should register" --debug
|
||
|
|
|
||
|
|
# Mode headed (voir le navigateur)
|
||
|
|
npx playwright test e2e/auth.spec.ts -g "should register" --headed
|
||
|
|
|
||
|
|
# Avec trace
|
||
|
|
npx playwright test e2e/auth.spec.ts -g "should register" --trace on
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📝 Notes importantes
|
||
|
|
|
||
|
|
1. **Rate Limiting** : Les tests utilisent 1 worker pour éviter le rate limiting backend
|
||
|
|
2. **Global Setup** : Un utilisateur de test est créé automatiquement via `e2e/global-setup.ts`
|
||
|
|
3. **Timeout** : 60 secondes par défaut (peut être augmenté si nécessaire)
|
||
|
|
4. **Storage State** : L'état d'authentification est sauvegardé dans `e2e/.auth/user.json`
|
||
|
|
|