ISSUE-001: Auto-verify email on registration - Set IsVerified: true in Register() to allow immediate login - Removes blocking email verification requirement for MVP ISSUE-002: Generate tokens in Register - Modified Register() signature to return (*User, *TokenPair, error) - Added JWT token generation after user creation - Store refresh token in database - Updated handlers to use returned tokens - Added nil checks for JWTService and refreshTokenService Changes: - veza-backend-api/internal/core/auth/service.go - veza-backend-api/internal/handlers/auth.go - veza-backend-api/internal/core/auth/handler.go - REAL_ISSUES_TODOLIST.json Note: Backend needs to be recompiled and restarted for changes to take effect.
136 lines
3.4 KiB
Markdown
136 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`
|
|
|