[DOC] MVP Final Status - Tests E2E partiellement fonctionnels
- Global setup fonctionne ✅ (authentification API réussie) - Utilisateur de test créé et fonctionnel ✅ - Problème routage frontend identifié (page /login ne se charge pas) - Recommandation: Tests manuels pour MVP ou corriger routage - Backend 100% fonctionnel ✅
This commit is contained in:
parent
55a8b5340d
commit
19d0252308
2 changed files with 41 additions and 43 deletions
|
|
@ -146,37 +146,47 @@ npx playwright test e2e/mvp-integration.spec.ts --reporter=list
|
|||
- Flow complet: Register → Login → Get Me → Create Track/Playlist → Logout
|
||||
- User journey complet opérationnel
|
||||
|
||||
**Frontend**: ⚠️ Tests E2E en cours
|
||||
**Frontend**: ⚠️ Tests E2E partiellement fonctionnels
|
||||
- Configuration Playwright corrigée ✅
|
||||
- Utilisateur de test créé (e2e@test.com) ✅
|
||||
- Global setup modifié pour utiliser API login directement ✅
|
||||
- **Problème identifié**: Backend non accessible depuis navigateur Playwright
|
||||
- Erreur: "Failed to fetch" lors de l'appel API
|
||||
- Vérifier que le backend tourne sur http://localhost:8080
|
||||
- Vérifier les CORS si le backend est accessible
|
||||
- Global setup fonctionne ✅ - Authentification via API réussie
|
||||
- **Problème identifié**: Routage frontend ne fonctionne pas
|
||||
- Page `/login` affiche titre "Toto Phishing - Admin Dashboard" au lieu du formulaire
|
||||
- Probablement un problème de chargement du composant `LazyLogin` ou de routage React
|
||||
- Les tests échouent car ils ne trouvent pas les éléments du formulaire de login
|
||||
- **Solution temporaire**: Utiliser l'API directement (déjà fait dans global-setup)
|
||||
- **Solution recommandée**: Corriger le routage frontend ou utiliser des tests manuels pour le MVP
|
||||
|
||||
## Actions requises pour finaliser les tests E2E
|
||||
## Statut des Tests E2E
|
||||
|
||||
1. **Vérifier que le backend est en cours d'exécution**:
|
||||
```bash
|
||||
curl http://localhost:8080/api/v1/health
|
||||
```
|
||||
### ✅ Ce qui fonctionne
|
||||
- **Global Setup**: Authentification via API réussie
|
||||
- **Backend**: 100% fonctionnel et accessible
|
||||
- **Utilisateur de test**: Créé et fonctionnel (e2e@test.com)
|
||||
|
||||
2. **Si le backend n'est pas accessible, le démarrer**:
|
||||
```bash
|
||||
cd veza-backend-api
|
||||
go run cmd/api/main.go
|
||||
```
|
||||
### ❌ Problèmes identifiés
|
||||
- **Routage frontend**: La page `/login` ne se charge pas correctement
|
||||
- Titre affiché: "Toto Phishing - Admin Dashboard" (incorrect)
|
||||
- Les tests échouent car ils ne trouvent pas les éléments du formulaire
|
||||
- Probable cause: Problème de chargement du composant `LazyLogin` ou routage React
|
||||
|
||||
3. **Relancer les tests Playwright**:
|
||||
```bash
|
||||
cd apps/web
|
||||
export TEST_EMAIL="e2e@test.com"
|
||||
export TEST_PASSWORD="Xk9\$mP2#vL7@nQ4!wR8"
|
||||
npx playwright test e2e/mvp-integration.spec.ts --reporter=list
|
||||
```
|
||||
### 📋 Recommandations pour le MVP
|
||||
|
||||
4. **Note sur le routage frontend**:
|
||||
- La page `/login` redirige vers 404 (problème de routage React)
|
||||
- Le global-setup contourne ce problème en utilisant l'API directement
|
||||
- Si le routage doit être corrigé, vérifier le chargement du composant `LazyLogin`
|
||||
**Option 1: Tests manuels (recommandé pour MVP)**
|
||||
```bash
|
||||
# 1. Ouvrir le navigateur sur http://localhost:5173
|
||||
# 2. Tester manuellement:
|
||||
# - Register → Login → Dashboard
|
||||
# - Créer un track
|
||||
# - Créer une playlist
|
||||
# - Logout
|
||||
```
|
||||
|
||||
**Option 2: Corriger le routage frontend**
|
||||
- Vérifier le chargement du composant `LazyLogin` dans `apps/web/src/components/ui/LazyComponent.tsx`
|
||||
- Vérifier que la route `/login` est correctement configurée dans `apps/web/src/router/index.tsx`
|
||||
- Vérifier s'il y a un service worker ou un autre HTML qui intercepte les requêtes
|
||||
|
||||
**Option 3: Ajuster les tests pour être plus tolérants**
|
||||
- Modifier les tests pour qu'ils utilisent l'API directement au lieu de l'UI
|
||||
- Ou skip les tests qui nécessitent le routage frontend pour le MVP
|
||||
|
|
|
|||
|
|
@ -2,31 +2,19 @@
|
|||
"cookies": [],
|
||||
"origins": [
|
||||
{
|
||||
"origin": "http://localhost:3000",
|
||||
"origin": "http://localhost:5173",
|
||||
"localStorage": [
|
||||
{
|
||||
"name": "veza_access_token",
|
||||
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MjY1ZTUwOS00Y2NlLTQ1NTctYjE2My0zNTBkZDU0M2ZkNGQiLCJlbWFpbCI6InVzZXJAZXhhbXBsZS5jb20iLCJ1c2VybmFtZSI6InRlc3R1c2VyXzE3NjY3NjA5NjcxMTIiLCJyb2xlIjoidXNlciIsInRva2VuX3ZlcnNpb24iOjAsInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJpc3MiOiJ2ZXphLWFwaSIsImF1ZCI6WyJ2ZXphLWFwcCJdLCJleHAiOjE3NjY3NjIxNzIsImlhdCI6MTc2Njc2MTI3MiwianRpIjoiNGYxOTVkODUtMjlmNC00NDQyLTljOWQtMWVhOWQxN2QxN2M3In0.EUNBLwxdbDSBJrF6atQbyYxLalEdkeHi9ZourMOpKIg"
|
||||
},
|
||||
{
|
||||
"name": "i18nextLng",
|
||||
"value": "en"
|
||||
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkM2U1ZjhmOC02MDcxLTRmZDQtYWVhMi05ZmZkMzU0YmVmZDkiLCJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJuYW1lIjoiZTJldXNlciIsInJvbGUiOiJ1c2VyIiwidG9rZW5fdmVyc2lvbiI6MCwidG9rZW5fdHlwZSI6ImFjY2VzcyIsImlzcyI6InZlemEtYXBpIiwiYXVkIjpbInZlemEtYXBwIl0sImV4cCI6MTc2Njc2OTUzNSwiaWF0IjoxNzY2NzY4NjM1LCJqdGkiOiJkMmJkYTQ2NC05N2ZiLTQ5NjAtYmU0MC1lNjk3NGM5Y2I5N2UifQ.Hj8-sN9JYmIGqFDe2Dv-hKSvb6DOShOb5GlsHFm-Ejs"
|
||||
},
|
||||
{
|
||||
"name": "veza_refresh_token",
|
||||
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MjY1ZTUwOS00Y2NlLTQ1NTctYjE2My0zNTBkZDU0M2ZkNGQiLCJlbWFpbCI6IiIsInJvbGUiOiIiLCJ0b2tlbl92ZXJzaW9uIjowLCJpc19yZWZyZXNoIjp0cnVlLCJ0b2tlbl90eXBlIjoicmVmcmVzaCIsInRva2VuX2ZhbWlseSI6IjlhMDZiMTdmLWExMjktNDQ4NS1hNzUxLTBhNTg0OTVmZDc5YiIsImlzcyI6InZlemEtYXBpIiwiYXVkIjpbInZlemEtYXBwIl0sImV4cCI6MTc2OTM1MzI3MiwiaWF0IjoxNzY2NzYxMjcyLCJqdGkiOiJlNmYyN2JhNC0yMGJiLTRkMjYtYWNhOS1iODY5NzU3ZWZlOTIifQ.2ljsDtQUrVTWhOt2FuW3nQopcNpdlN0RnNohF9QFgAw"
|
||||
},
|
||||
{
|
||||
"name": "library-storage",
|
||||
"value": "{\"state\":{\"favorites\":{\"byId\":{},\"allIds\":[]},\"filters\":{}},\"version\":0}"
|
||||
},
|
||||
{
|
||||
"name": "ui-storage",
|
||||
"value": "{\"state\":{\"theme\":\"system\",\"language\":\"en\",\"sidebarOpen\":true},\"version\":0}"
|
||||
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkM2U1ZjhmOC02MDcxLTRmZDQtYWVhMi05ZmZkMzU0YmVmZDkiLCJlbWFpbCI6IiIsInJvbGUiOiIiLCJ0b2tlbl92ZXJzaW9uIjowLCJpc19yZWZyZXNoIjp0cnVlLCJ0b2tlbl90eXBlIjoicmVmcmVzaCIsInRva2VuX2ZhbWlseSI6IjMyZDJiOWI3LTNiYjQtNDVmYS1hMjk1LThiM2M1OGU1NTFhYiIsImlzcyI6InZlemEtYXBpIiwiYXVkIjpbInZlemEtYXBwIl0sImV4cCI6MTc2OTM2MDYzNSwiaWF0IjoxNzY2NzY4NjM1LCJqdGkiOiI4NzRhNjQxZS0xYWZhLTRlZjctODFiYy04YWM3Nzc4OWQ3ODUifQ.B1yOlNC97XfQzKX63PTliH8Km1pzmhWMmCE4ss6ufn4"
|
||||
},
|
||||
{
|
||||
"name": "auth-storage",
|
||||
"value": "{\"state\":{\"user\":{\"id\":\"9265e509-4cce-4557-b163-350dd543fd4d\",\"email\":\"user@example.com\",\"username\":\"testuser_1766760967112\"},\"isAuthenticated\":true},\"version\":0}"
|
||||
"value": "{\"state\":{\"isAuthenticated\":true,\"accessToken\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkM2U1ZjhmOC02MDcxLTRmZDQtYWVhMi05ZmZkMzU0YmVmZDkiLCJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJuYW1lIjoiZTJldXNlciIsInJvbGUiOiJ1c2VyIiwidG9rZW5fdmVyc2lvbiI6MCwidG9rZW5fdHlwZSI6ImFjY2VzcyIsImlzcyI6InZlemEtYXBpIiwiYXVkIjpbInZlemEtYXBwIl0sImV4cCI6MTc2Njc2OTUzNSwiaWF0IjoxNzY2NzY4NjM1LCJqdGkiOiJkMmJkYTQ2NC05N2ZiLTQ5NjAtYmU0MC1lNjk3NGM5Y2I5N2UifQ.Hj8-sN9JYmIGqFDe2Dv-hKSvb6DOShOb5GlsHFm-Ejs\",\"refreshToken\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkM2U1ZjhmOC02MDcxLTRmZDQtYWVhMi05ZmZkMzU0YmVmZDkiLCJlbWFpbCI6IiIsInJvbGUiOiIiLCJ0b2tlbl92ZXJzaW9uIjowLCJpc19yZWZyZXNoIjp0cnVlLCJ0b2tlbl90eXBlIjoicmVmcmVzaCIsInRva2VuX2ZhbWlseSI6IjMyZDJiOWI3LTNiYjQtNDVmYS1hMjk1LThiM2M1OGU1NTFhYiIsImlzcyI6InZlemEtYXBpIiwiYXVkIjpbInZlemEtYXBwIl0sImV4cCI6MTc2OTM2MDYzNSwiaWF0IjoxNzY2NzY4NjM1LCJqdGkiOiI4NzRhNjQxZS0xYWZhLTRlZjctODFiYy04YWM3Nzc4OWQ3ODUifQ.B1yOlNC97XfQzKX63PTliH8Km1pzmhWMmCE4ss6ufn4\"}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue