- API Tests: 2 passed, 1 failed, 25 skipped (blocked by auth issues) - E2E Tests: 0 passed, 1 failed (global setup timeout), 19 skipped - Bugs found: 3 (2 critical, 1 high) - BUG-001: Auth register endpoint format issue (CRITICAL) - BUG-002: E2E global setup timeout (CRITICAL) - BUG-003: Token extraction in test script (HIGH) Files added: - MVP_TEST_REPORT.md: Complete test report with bug analysis - MVP_BUGS_TODOLIST.json: Detailed bug tracking - scripts/test-mvp-api.sh: API test suite - scripts/setup-mvp-test-env.sh: Environment setup - apps/web/e2e/mvp-integration.spec.ts: E2E test suite - TESTS_MVP_README.md: Complete documentation
130 lines
4.9 KiB
JSON
130 lines
4.9 KiB
JSON
{
|
|
"metadata": {
|
|
"created_at": "2025-12-26T12:00:00Z",
|
|
"last_updated": "2025-12-26T12:30:00Z",
|
|
"version": "1.0.0",
|
|
"test_suite": "MVP Integration Tests"
|
|
},
|
|
"bugs": [
|
|
{
|
|
"id": "BUG-001",
|
|
"title": "Authentification - Format de requête API incorrect pour /auth/register",
|
|
"description": "L'endpoint /api/v1/auth/register retourne une erreur 'Le mot de passe est requis' même quand le mot de passe est fourni dans le body JSON. Cela bloque tous les tests d'authentification.",
|
|
"severity": "critical",
|
|
"category": "auth",
|
|
"status": "open",
|
|
"priority": 1,
|
|
"steps_to_reproduce": [
|
|
"1. Exécuter curl -X POST 'http://localhost:8080/api/v1/auth/register' -H 'Content-Type: application/json' -d '{\"email\":\"test@example.com\",\"username\":\"testuser\",\"password\":\"TestPassword123!\",\"password_confirmation\":\"TestPassword123!\"}'",
|
|
"2. Observer la réponse d'erreur avec code 2000"
|
|
],
|
|
"expected_behavior": "L'utilisateur devrait être créé avec succès (HTTP 201) et retourner les données utilisateur avec un token.",
|
|
"actual_behavior": "Erreur HTTP avec message 'Le mot de passe est requis' (code 2000).",
|
|
"environment": {
|
|
"backend_version": "unknown",
|
|
"api_endpoint": "/api/v1/auth/register",
|
|
"method": "POST"
|
|
},
|
|
"logs": [
|
|
"{\"success\":false,\"error\":{\"code\":2000,\"message\":\"Le mot de passe est requis\",\"request_id\":\"4445a4b2-8b30-4951-91ac-1f252f36c109\",\"timestamp\":\"2025-12-26T12:27:58Z\"}}"
|
|
],
|
|
"assigned_to": null,
|
|
"created_at": "2025-12-26T12:27:58Z",
|
|
"updated_at": "2025-12-26T12:30:00Z"
|
|
},
|
|
{
|
|
"id": "BUG-002",
|
|
"title": "Global Setup E2E échoue avec timeout",
|
|
"description": "Le global setup Playwright échoue avec un timeout lors de la tentative de login. Cela bloque tous les tests E2E car ils dépendent de l'état d'authentification sauvegardé.",
|
|
"severity": "critical",
|
|
"category": "e2e",
|
|
"status": "open",
|
|
"priority": 1,
|
|
"steps_to_reproduce": [
|
|
"1. Exécuter cd apps/web && npx playwright test e2e/mvp-integration.spec.ts",
|
|
"2. Observer le timeout dans global-setup.ts ligne 57"
|
|
],
|
|
"expected_behavior": "Le global setup devrait créer un utilisateur de test, se connecter, et sauvegarder l'état d'authentification dans e2e/.auth/user.json.",
|
|
"actual_behavior": "Timeout après 20 secondes lors de l'attente de la redirection vers /dashboard après login. L'utilisateur n'est probablement pas créé à cause de BUG-001.",
|
|
"environment": {
|
|
"browser": "Chromium",
|
|
"os": "Linux",
|
|
"playwright_version": "1.41.2",
|
|
"frontend_url": "http://localhost:5173"
|
|
},
|
|
"logs": [
|
|
"❌ [GLOBAL SETUP] Global setup failed: page.waitForURL: Timeout 20000ms exceeded."
|
|
],
|
|
"assigned_to": null,
|
|
"created_at": "2025-12-26T12:28:00Z",
|
|
"updated_at": "2025-12-26T12:30:00Z"
|
|
},
|
|
{
|
|
"id": "BUG-003",
|
|
"title": "Script test-mvp-api.sh - Extraction de token incorrecte",
|
|
"description": "Le script test-mvp-api.sh ne parvient pas à extraire correctement le access_token de la réponse de login, même si le format de réponse pourrait être correct. Cela bloque les tests suivants qui nécessitent un token.",
|
|
"severity": "high",
|
|
"category": "testing",
|
|
"status": "open",
|
|
"priority": 2,
|
|
"steps_to_reproduce": [
|
|
"1. Exécuter ./scripts/test-mvp-api.sh",
|
|
"2. Observer le message 'Login response missing access_token' après AUTH-004"
|
|
],
|
|
"expected_behavior": "Le script devrait extraire le token depuis .data.access_token, .access_token, ou .data.token.access_token et le stocker dans ACCESS_TOKEN.",
|
|
"actual_behavior": "Le token n'est pas extrait, probablement à cause d'un format de réponse différent ou d'une erreur dans la logique d'extraction jq.",
|
|
"environment": {
|
|
"script": "scripts/test-mvp-api.sh",
|
|
"jq_version": "installed"
|
|
},
|
|
"logs": [
|
|
"[✗] Login response missing access_token"
|
|
],
|
|
"assigned_to": null,
|
|
"created_at": "2025-12-26T12:28:30Z",
|
|
"updated_at": "2025-12-26T12:30:00Z"
|
|
}
|
|
],
|
|
"summary": {
|
|
"total_bugs": 3,
|
|
"by_severity": {
|
|
"critical": 2,
|
|
"high": 1,
|
|
"medium": 0,
|
|
"low": 0
|
|
},
|
|
"by_category": {
|
|
"auth": 1,
|
|
"tracks": 0,
|
|
"playlists": 0,
|
|
"profile": 0,
|
|
"navigation": 0,
|
|
"api": 0,
|
|
"ui": 0,
|
|
"e2e": 1,
|
|
"testing": 1,
|
|
"general": 0
|
|
},
|
|
"by_status": {
|
|
"open": 3,
|
|
"in_progress": 0,
|
|
"fixed": 0,
|
|
"closed": 0,
|
|
"wont_fix": 0
|
|
}
|
|
},
|
|
"test_results": {
|
|
"api_tests": {
|
|
"total": 28,
|
|
"passed": 2,
|
|
"failed": 1,
|
|
"skipped": 25
|
|
},
|
|
"e2e_tests": {
|
|
"total": 20,
|
|
"passed": 0,
|
|
"failed": 1,
|
|
"skipped": 19
|
|
}
|
|
}
|
|
}
|