
> veza-frontend@1.0.0 test:e2e
> playwright test


Running 38 tests using 1 worker

[1A[2K[1/38] [chromium] › e2e/auth.spec.ts:37:3 › Authentication Flow › should login successfully with valid credentials
[1A[2K[chromium] › e2e/auth.spec.ts:37:3 › Authentication Flow › should login successfully with valid credentials
🧪 [AUTH TEST] Running: Login with valid credentials

[1A[2K✏️ [FILL] Filling field input[type="email"], input[name="email"] with value: user@example.com

[1A[2K✅ [FILL] Field input[type="email"], input[name="email"] filled successfully

[1A[2K✏️ [FILL] Filling field input[type="password"], input[name="password"] with value: password123

[1A[2K✅ [FILL] Field input[type="password"], input[name="password"] filled successfully

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [AUTH TEST] Waiting for Zustand to persist auth-storage...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [AUTH TEST] Login successful (token in storage)

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K✅ [AUTH TEST] No console errors

[1A[2K✅ [AUTH TEST] No network errors

[1A[2K[2/38] [chromium] › e2e/auth.spec.ts:103:3 › Authentication Flow › should show error with invalid credentials
[1A[2K[chromium] › e2e/auth.spec.ts:103:3 › Authentication Flow › should show error with invalid credentials
🧪 [AUTH TEST] Running: Login with invalid credentials

[1A[2K✏️ [FILL] Filling field input[type="email"], input[name="email"] with value: wrong@example.com

[1A[2K✅ [FILL] Field input[type="email"], input[name="email"] filled successfully

[1A[2K✏️ [FILL] Filling field input[type="password"], input[name="password"] with value: wrongpassword

[1A[2K✅ [FILL] Field input[type="password"], input[name="password"] filled successfully

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K🔔 [TOAST] Waiting for error message...

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [CONSOLE ERROR] Login error: {code: 1004, message: Invalid credentials, details: undefined, request_id: b10e0ec0-1bd2-4d5b-83d8-1b343281ce25, timestamp: 2025-12-19T12:21:46Z}

[1A[2K✅ [TOAST] error message: Invalid credentials

[1A[2K✅ [AUTH TEST] Error shown for invalid credentials

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K🔴 [AUTH TEST] Console errors (2):

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K  - Login error: {code: 1004, message: Invalid credentials, details: undefined, request_id: b10e0ec0-1bd2-4d5b-83d8-1b343281ce25, timestamp: 2025-12-19T12:21:46Z}


[1A[2K🔴 [AUTH TEST] Network errors (1):

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: 403

[1A[2K[3/38] [chromium] › e2e/auth.spec.ts:129:3 › Authentication Flow › should register a new user successfully
[1A[2K[chromium] › e2e/auth.spec.ts:129:3 › Authentication Flow › should register a new user successfully
🧪 [AUTH TEST] Running: User registration

[1A[2K✏️ [FILL] Filling field input[name="email"], input#email with value: test-1766146906997@example.com

[1A[2K✅ [FILL] Field input[name="email"], input#email filled successfully

[1A[2K✏️ [FILL] Filling field input[name="username"], input#username with value: testuser1766146906997

[1A[2K✅ [FILL] Field input[name="username"], input#username filled successfully

[1A[2K✏️ [FILL] Filling field input[name="password"], input#password with value: Test123456789!

[1A[2K✅ [FILL] Field input[name="password"], input#password filled successfully

[1A[2K✏️ [FILL] Filling field input[name="passwordConfirm"], input[name="password_confirm"], input[name="confirmPassword"], input#passwordConfirm with value: Test123456789!

[1A[2K✅ [FILL] Field input[name="passwordConfirm"], input[name="password_confirm"], input[name="confirmPassword"], input#passwordConfirm filled successfully

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K🔴 [CONSOLE ERROR] [AUTH] Tokens not found in register response: {user: Object, token: Object}

[1A[2K✅ [AUTH TEST] Registration successful with auto-login

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K🔴 [AUTH TEST] Console errors (1):

[1A[2K  - [AUTH] Tokens not found in register response: {user: Object, token: Object}


[1A[2K✅ [AUTH TEST] No network errors

[1A[2K[4/38] [chromium] › e2e/auth.spec.ts:226:3 › Authentication Flow › should show error when registering with existing email
[1A[2K[chromium] › e2e/auth.spec.ts:226:3 › Authentication Flow › should show error when registering with existing email
🧪 [AUTH TEST] Running: Registration with existing email

[1A[2K✏️ [FILL] Filling field input[name="email"], input#email with value: user@example.com

[1A[2K✅ [FILL] Field input[name="email"], input#email filled successfully

[1A[2K✏️ [FILL] Filling field input[name="username"], input#username with value: existinguser

[1A[2K✅ [FILL] Field input[name="username"], input#username filled successfully

[1A[2K✏️ [FILL] Filling field input[name="password"], input#password with value: Test123456789!

[1A[2K✅ [FILL] Field input[name="password"], input#password filled successfully

[1A[2K✏️ [FILL] Filling field input[name="passwordConfirm"], input[name="password_confirm"], input[name="confirmPassword"], input#passwordConfirm with value: Test123456789!

[1A[2K✅ [FILL] Field input[name="passwordConfirm"], input[name="password_confirm"], input[name="confirmPassword"], input#passwordConfirm filled successfully

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/register: 500

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error)

[1A[2K🔴 [CONSOLE ERROR] Register error: {code: 9000, message: Failed to create user, details: undefined, request_id: b5921d56-0cf7-49c9-86c6-3265adc462fe, timestamp: 2025-12-19T12:21:51Z}

[1A[2K✅ [AUTH TEST] Error shown for existing email: "Failed to create user"

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K🔴 [AUTH TEST] Console errors (2):

[1A[2K  - Failed to load resource: the server responded with a status of 500 (Internal Server Error)

[1A[2K  - Register error: {code: 9000, message: Failed to create user, details: undefined, request_id: b5921d56-0cf7-49c9-86c6-3265adc462fe, timestamp: 2025-12-19T12:21:51Z}


[1A[2K🔴 [AUTH TEST] Network errors (1):

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/register: 500

[1A[2K[5/38] [chromium] › e2e/auth.spec.ts:286:3 › Authentication Flow › should logout successfully
[1A[2K[chromium] › e2e/auth.spec.ts:286:3 › Authentication Flow › should logout successfully
🧪 [AUTH TEST] Running: Logout

[1A[2K🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766146913593ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🔍 [AUTH TEST] Checking token presence before logout...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [AUTH TEST] Token present before logout: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik...

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/logout: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/logout: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K✅ [AUTH TEST] Logout successful

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K🔴 [AUTH TEST] Console errors (2):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)


[1A[2K🔴 [AUTH TEST] Network errors (2):

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/logout: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/logout: 401

[1A[2K[6/38] [chromium] › e2e/auth.spec.ts:357:3 › Authentication Flow › should redirect to login when accessing protected route without auth
[1A[2K[chromium] › e2e/auth.spec.ts:357:3 › Authentication Flow › should redirect to login when accessing protected route without auth
🧪 [AUTH TEST] Running: Route guard test

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/node_modules/.vite/deps/@hookform_resolvers_zod.js?v=490fee7e: net::ERR_ABORTED

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/node_modules/.vite/deps/chunk-HL7VHMNJ.js?v=490fee7e: net::ERR_ABORTED

[1A[2K✅ [AUTH TEST] Route guard working correctly

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K✅ [AUTH TEST] No console errors

[1A[2K🔴 [AUTH TEST] Network errors (2):

[1A[2K  - GET http://localhost:3000/node_modules/.vite/deps/@hookform_resolvers_zod.js?v=490fee7e: 0

[1A[2K  - GET http://localhost:3000/node_modules/.vite/deps/chunk-HL7VHMNJ.js?v=490fee7e: 0

[1A[2K[7/38] [chromium] › e2e/auth.spec.ts:379:3 › Authentication Flow › should logout after page refresh (memory token architecture)
[1A[2K[chromium] › e2e/auth.spec.ts:379:3 › Authentication Flow › should logout after page refresh (memory token architecture)
🧪 [AUTH TEST] Running: Memory token refresh test

[1A[2K🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (3878ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K✅ [AUTH TEST] Authenticated before refresh

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766146920177: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766146920453: net::ERR_ABORTED

[1A[2K✅ [AUTH TEST] Correctly redirected to login after refresh (memory token lost)

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K🔴 [AUTH TEST] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)


[1A[2K🔴 [AUTH TEST] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766146920177: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766146920453: 0

[1A[2K[8/38] [chromium] › e2e/auth.spec.ts:440:3 › Authentication Flow › should validate login form fields
[1A[2K[chromium] › e2e/auth.spec.ts:440:3 › Authentication Flow › should validate login form fields
🧪 [AUTH TEST] Running: Login form validation

[1A[2K✅ [AUTH TEST] Form validation prevented submission (stayed on login page)

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K✅ [AUTH TEST] No console errors

[1A[2K✅ [AUTH TEST] No network errors

[1A[2K[9/38] [chromium] › e2e/auth.spec.ts:497:3 › Authentication Flow › should show error when passwords do not match during registration
[1A[2K[chromium] › e2e/auth.spec.ts:497:3 › Authentication Flow › should show error when passwords do not match during registration
🧪 [AUTH TEST] Running: Password mismatch validation

[1A[2K✏️ [FILL] Filling field input[name="email"], input#email with value: newuser@example.com

[1A[2K✅ [FILL] Field input[name="email"], input#email filled successfully

[1A[2K✏️ [FILL] Filling field input[name="password"], input#password with value: Password123456!

[1A[2K✅ [FILL] Field input[name="password"], input#password filled successfully

[1A[2K✏️ [FILL] Filling field input[name="passwordConfirm"], input[name="password_confirm"], input[name="confirmPassword"] with value: DifferentPassword!

[1A[2K✅ [FILL] Field input[name="passwordConfirm"], input[name="password_confirm"], input[name="confirmPassword"] filled successfully

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K✅ [AUTH TEST] Password mismatch error shown (found by CSS)

[1A[2K
📊 [AUTH TEST] === Final Verifications ===

[1A[2K✅ [AUTH TEST] No console errors

[1A[2K✅ [AUTH TEST] No network errors

[1A[2K[10/38] [chromium] › e2e/deep_audit.spec.ts:254:3 › Deep E2E Runtime Audit › Complete User Journey - Runtime Audit
[1A[2K[chromium] › e2e/deep_audit.spec.ts:254:3 › Deep E2E Runtime Audit › Complete User Journey - Runtime Audit
🔍 [AUDIT] Starting comprehensive E2E audit...

[1A[2K🔍 [AUDIT] Step 1: Navigating to login...

[1A[2K🔍 [AUDIT] Step 2: Submitting login form...

[1A[2K✅ [AUDIT] Login successful, redirected to: http://localhost:3000/dashboard

[1A[2K🔍 [AUDIT] Step 3: Testing page navigation and lazy loading...

[1A[2K  → Checking /dashboard...

[1A[2K  → Navigating to /profile...

[1A[2K  → Navigating to /settings...

[1A[2K  → Navigating to /library...

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/playlists?page=20&limit=0 -> 401

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/playlists?page=20&limit=0 -> 401

[1A[2K
📊 [AUDIT] === AUDIT SUMMARY ===

[1A[2KGlobal Status: STABLE

[1A[2KLogin Success: true

[1A[2KPages Checked: 4

[1A[2KTotal Issues: 3

[1A[2K  - Critical: 0

[1A[2K  - High: 3

[1A[2K  - Medium: 0

[1A[2K  - Low: 0

[1A[2KBy Category:

[1A[2K  - NETWORK: 2

[1A[2K  - CONSOLE: 1

[1A[2K  - NAVIGATION: 0

[1A[2K  - UX: 0

[1A[2K✅ [AUDIT] Application appears STABLE

[1A[2K📄 [AUDIT] JSON report written to: /home/senke/git/talas/veza/apps/web/RUNTIME_ISSUES.json

[1A[2K📄 [AUDIT] Markdown report written to: /home/senke/git/talas/veza/apps/web/RUNTIME_AUDIT_REPORT.md

[1A[2K[11/38] [chromium] › e2e/diagnostic.spec.ts:55:3 › Full Stack Compatibility Diagnostic › Login Flow - Complete Diagnostic
[1A[2K[chromium] › e2e/diagnostic.spec.ts:55:3 › Full Stack Compatibility Diagnostic › Login Flow - Complete Diagnostic
🔍 [DIAGNOSTIC] Navigation vers /login...

[1A[2K📄 [DIAGNOSTIC] Nombre d'inputs sur la page: [33m3[39m

[1A[2K📄 [DIAGNOSTIC] Nombre de boutons sur la page: [33m1[39m

[1A[2K📄 [DIAGNOSTIC] Page title: Veza - Plateforme de streaming musical

[1A[2K📄 [DIAGNOSTIC] URL actuelle: http://localhost:3000/login

[1A[2K📄 [DIAGNOSTIC] Email input visible: [33mtrue[39m

[1A[2K📄 [DIAGNOSTIC] Password input visible: [33mtrue[39m

[1A[2K📄 [DIAGNOSTIC] Submit button visible: [33mtrue[39m

[1A[2K📄 [DIAGNOSTIC] Page contient "form": [33mtrue[39m

[1A[2K✅ [DIAGNOSTIC] Formulaire de login visible

[1A[2K🔍 [DIAGNOSTIC] Remplissage du formulaire...

[1A[2K🔍 [DIAGNOSTIC] Clic sur le bouton de connexion...

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K🔴 [CONSOLE ERROR] Login error: {code: 429, message: Trop de requêtes. Veuillez patienter avant de réessayer., timestamp: 2025-12-19T12:22:31.039Z, details: undefined, retry_after: undefined}

[1A[2K⚠️ [DIAGNOSTIC] Pas de navigation ni d'erreur visible. URL actuelle: http://localhost:3000/login

[1A[2K🔍 [DIAGNOSTIC] Vérification du localStorage...

[1A[2K📦 [DIAGNOSTIC] LocalStorage: [ [32m'i18nextLng'[39m, [32m'auth-storage'[39m ]

[1A[2K❌ [DIAGNOSTIC] Token d'accès absent

[1A[2K
📊 [DIAGNOSTIC] === RAPPORT DE DIAGNOSTIC ===

[1A[2KErreurs réseau: [33m2[39m

[1A[2KErreurs console: [33m3[39m

[1A[2KErreurs CORS: [33m0[39m

[1A[2KNavigation réussie: [33mfalse[39m

[1A[2KToken présent: [33mfalse[39m

[1A[2K
🔴 Erreurs réseau:

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: HTTP 429

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: HTTP 429

[1A[2K
🔴 Erreurs console:

[1A[2K  - [error] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K  - [error] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K  - [error] Login error: {code: 429, message: Trop de requêtes. Veuillez patienter avant de réessayer., timestamp: 2025-12-19T12:22:31.039Z, details: undefined, retry_after: undefined}

[1A[2K[12/38] [chromium] › e2e/playlists.spec.ts:44:3 › Playlists CRUD › should create a new playlist successfully
[1A[2K[chromium] › e2e/playlists.spec.ts:44:3 › Playlists CRUD › should create a new playlist successfully
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (40707ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PLAYLISTS] Running: Create new playlist

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766146966068: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766146966336: net::ERR_ABORTED

[1A[2K
📊 [PLAYLISTS] === Final Verifications ===

[1A[2K🔴 [PLAYLISTS] Console errors (7):

[1A[2K  - Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PLAYLISTS] Network errors (9):

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766146966068: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766146966336: 0

[1A[2K  1) [chromium] › e2e/playlists.spec.ts:44:3 › Playlists CRUD › should create a new playlist successfully 

    Error: Navigation to /playlists failed. Current URL: http://localhost:3000/login

      55 |       const currentUrl = page.url();
      56 |       if (!currentUrl.includes('/playlists')) {
    > 57 |         throw new Error(`Navigation to /playlists failed. Current URL: ${currentUrl}`);
         |               ^
      58 |       }
      59 |     });
      60 |
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:57:15
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:53:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-s-ee35d-a-new-playlist-successfully-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-s-ee35d-a-new-playlist-successfully-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/playlists-Playlists-CRUD-s-ee35d-a-new-playlist-successfully-chromium/error-context.md


[1A[2K[13/38] [chromium] › e2e/playlists.spec.ts:94:3 › Playlists CRUD › should display list of playlists
[1A[2K[chromium] › e2e/playlists.spec.ts:94:3 › Playlists CRUD › should display list of playlists
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766146983143ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PLAYLISTS] Running: Display playlists list

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766146985881: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766146986120: net::ERR_ABORTED

[1A[2K
📊 [PLAYLISTS] === Final Verifications ===

[1A[2K🔴 [PLAYLISTS] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PLAYLISTS] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766146985881: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766146986120: 0

[1A[2K  2) [chromium] › e2e/playlists.spec.ts:94:3 › Playlists CRUD › should display list of playlists ───

    Error: Navigation to /playlists failed. Current URL: http://localhost:3000/login

      105 |       const currentUrl = page.url();
      106 |       if (!currentUrl.includes('/playlists')) {
    > 107 |         throw new Error(`Navigation to /playlists failed. Current URL: ${currentUrl}`);
          |               ^
      108 |       }
      109 |     });
      110 |
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:107:15
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:103:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-display-list-of-playlists-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-display-list-of-playlists-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/playlists-Playlists-CRUD-should-display-list-of-playlists-chromium/error-context.md


[1A[2K[14/38] [chromium] › e2e/playlists.spec.ts:124:3 › Playlists CRUD › should update playlist name and description
[1A[2K[chromium] › e2e/playlists.spec.ts:124:3 › Playlists CRUD › should update playlist name and description
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147002862ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PLAYLISTS] Running: Update playlist

[1A[2K🧭 [NAVIGATION] Navigating via href: /playlists...


[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147005827: net::ERR_ABORTED


[1A[2K✅ [NAVIGATION] Successfully navigated directly to /playlists

[1A[2K📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i

[1A[2K
📊 [PLAYLISTS] === Final Verifications ===

[1A[2K🔴 [PLAYLISTS] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PLAYLISTS] Network errors (7):

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147005827: 0

[1A[2K  3) [chromium] › e2e/playlists.spec.ts:124:3 › Playlists CRUD › should update playlist name and description 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:129:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-s-16421-aylist-name-and-description-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-s-16421-aylist-name-and-description-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/playlists-Playlists-CRUD-s-16421-aylist-name-and-description-chromium/error-context.md


[1A[2K[15/38] [chromium] › e2e/playlists.spec.ts:187:3 › Playlists CRUD › should add track to playlist
[1A[2K[chromium] › e2e/playlists.spec.ts:187:3 › Playlists CRUD › should add track to playlist
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147027421ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PLAYLISTS] Running: Add track to playlist

[1A[2K🧭 [NAVIGATION] Navigating via href: /playlists...


[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147030175: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147030459: net::ERR_ABORTED


[1A[2K✅ [NAVIGATION] Successfully navigated directly to /playlists

[1A[2K📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i

[1A[2K
📊 [PLAYLISTS] === Final Verifications ===

[1A[2K🔴 [PLAYLISTS] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PLAYLISTS] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147030175: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147030459: 0

[1A[2K  4) [chromium] › e2e/playlists.spec.ts:187:3 › Playlists CRUD › should add track to playlist ──────

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:192:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-add-track-to-playlist-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-add-track-to-playlist-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/playlists-Playlists-CRUD-should-add-track-to-playlist-chromium/error-context.md


[1A[2K[16/38] [chromium] › e2e/playlists.spec.ts:247:3 › Playlists CRUD › should delete playlist successfully
[1A[2K[chromium] › e2e/playlists.spec.ts:247:3 › Playlists CRUD › should delete playlist successfully
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147052060ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PLAYLISTS] Running: Delete playlist

[1A[2K🧭 [NAVIGATION] Navigating via href: /playlists...


[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147054821: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147055083: net::ERR_ABORTED


[1A[2K✅ [NAVIGATION] Successfully navigated directly to /playlists

[1A[2K📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i

[1A[2K
📊 [PLAYLISTS] === Final Verifications ===

[1A[2K🔴 [PLAYLISTS] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PLAYLISTS] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147054821: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147055083: 0

[1A[2K  5) [chromium] › e2e/playlists.spec.ts:247:3 › Playlists CRUD › should delete playlist successfully 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:252:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-delete-playlist-successfully-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-delete-playlist-successfully-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/playlists-Playlists-CRUD-should-delete-playlist-successfully-chromium/error-context.md


[1A[2K[17/38] [chromium] › e2e/playlists.spec.ts:309:3 › Playlists CRUD › should display empty state for new playlist
[1A[2K[chromium] › e2e/playlists.spec.ts:309:3 › Playlists CRUD › should display empty state for new playlist
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147076705ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PLAYLISTS] Running: Empty playlist state

[1A[2K🧭 [NAVIGATION] Navigating via href: /playlists...


[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147079427: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147079678: net::ERR_ABORTED


[1A[2K✅ [NAVIGATION] Successfully navigated directly to /playlists

[1A[2K📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i

[1A[2K
📊 [PLAYLISTS] === Final Verifications ===

[1A[2K🔴 [PLAYLISTS] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PLAYLISTS] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147079427: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147079678: 0

[1A[2K  6) [chromium] › e2e/playlists.spec.ts:309:3 › Playlists CRUD › should display empty state for new playlist 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:314:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-s-b545d-mpty-state-for-new-playlist-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-s-b545d-mpty-state-for-new-playlist-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/playlists-Playlists-CRUD-s-b545d-mpty-state-for-new-playlist-chromium/error-context.md


[1A[2K[18/38] [chromium] › e2e/playlists.spec.ts:347:3 › Playlists CRUD › should search playlists by name
[1A[2K[chromium] › e2e/playlists.spec.ts:347:3 › Playlists CRUD › should search playlists by name
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147101338ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PLAYLISTS] Running: Search playlists

[1A[2K🧭 [NAVIGATION] Navigating via href: /playlists...


[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147104076: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147104374: net::ERR_ABORTED


[1A[2K✅ [NAVIGATION] Successfully navigated directly to /playlists

[1A[2K📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i

[1A[2K
📊 [PLAYLISTS] === Final Verifications ===

[1A[2K🔴 [PLAYLISTS] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PLAYLISTS] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147104076: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147104374: 0

[1A[2K  7) [chromium] › e2e/playlists.spec.ts:347:3 › Playlists CRUD › should search playlists by name ───

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /create|créer|nouvelle/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts:356:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-search-playlists-by-name-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/playlists-Playlists-CRUD-should-search-playlists-by-name-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/playlists-Playlists-CRUD-should-search-playlists-by-name-chromium/error-context.md


[1A[2K[19/38] [chromium] › e2e/profile.spec.ts:40:3 › User Profile Management › should display user profile information
[1A[2K[chromium] › e2e/profile.spec.ts:40:3 › User Profile Management › should display user profile information
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147126007ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PROFILE] Running: Display profile


[1A[2K✅ [PROFILE] Profile page displayed successfully

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K✅ [PROFILE] No console errors

[1A[2K✅ [PROFILE] No network errors

[1A[2K[20/38] [chromium] › e2e/profile.spec.ts:106:3 › User Profile Management › should update username successfully
[1A[2K[chromium] › e2e/profile.spec.ts:106:3 › User Profile Management › should update username successfully
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 96ms before login to avoid rate limiting...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PROFILE] Running: Update username

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147131651: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/features/auth/components/LoginForm.tsx?t=1766146873279: net::ERR_ABORTED

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147132058: net::ERR_ABORTED

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K🔴 [PROFILE] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PROFILE] Network errors (9):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147131651: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/features/auth/components/LoginForm.tsx?t=1766146873279: 0

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147132058: 0

[1A[2K  8) [chromium] › e2e/profile.spec.ts:106:3 › User Profile Management › should update username successfully 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('input#username, input[name="username"]').first()
    Expected: visible
    Timeout: 15000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 15000ms[22m
    [2m  - waiting for locator('input#username, input[name="username"]').first()[22m


      114 |     // Le champ username utilise id="username" dans ProfileForm
      115 |     const usernameField = page.locator('input#username, input[name="username"]').first();
    > 116 |     await expect(usernameField).toBeVisible({ timeout: 15000 });
          |                                 ^
      117 |     
      118 |     // Si le champ est disabled (mode lecture), cliquer sur le bouton Edit
      119 |     const isDisabled = await usernameField.isDisabled().catch(() => false);
        at /home/senke/git/talas/veza/apps/web/e2e/profile.spec.ts:116:33

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/profile-User-Profile-Manag-9d6b5-pdate-username-successfully-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/profile-User-Profile-Manag-9d6b5-pdate-username-successfully-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/profile-User-Profile-Manag-9d6b5-pdate-username-successfully-chromium/error-context.md


[1A[2K[21/38] [chromium] › e2e/profile.spec.ts:178:3 › User Profile Management › should update bio successfully
[1A[2K[chromium] › e2e/profile.spec.ts:178:3 › User Profile Management › should update bio successfully
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147148376ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PROFILE] Running: Update bio

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147151050: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2Kℹ️ [PROFILE] Bio field not found, skipping test

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K🔴 [PROFILE] Console errors (2):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [PROFILE] Network errors (3):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147151050: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147151332: net::ERR_ABORTED

[1A[2K[22/38] [chromium] › e2e/profile.spec.ts:231:3 › User Profile Management › should change password successfully
[1A[2K[chromium] › e2e/profile.spec.ts:231:3 › User Profile Management › should change password successfully
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (3006ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PROFILE] Running: Change password

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147154110: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2Kℹ️ [PROFILE] Change password section not found, skipping test

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K🔴 [PROFILE] Console errors (2):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [PROFILE] Network errors (3):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147154110: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/login: net::ERR_ABORTED

[1A[2K[23/38] [chromium] › e2e/profile.spec.ts:298:3 › User Profile Management › should upload profile avatar
[1A[2K[chromium] › e2e/profile.spec.ts:298:3 › User Profile Management › should upload profile avatar
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 124ms before login to avoid rate limiting...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K🔴 [CONSOLE ERROR] Login error: {code: 429, message: Trop de requêtes. Veuillez patienter avant de réessayer., timestamp: 2025-12-19T12:26:01.551Z, details: undefined, retry_after: undefined}

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K🔴 [PROFILE] Console errors (3):

[1A[2K  - Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K  - Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K  - Login error: {code: 429, message: Trop de requêtes. Veuillez patienter avant de réessayer., timestamp: 2025-12-19T12:26:01.551Z, details: undefined, retry_after: undefined}

[1A[2K🔴 [PROFILE] Network errors (2):

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K  9) [chromium] › e2e/profile.spec.ts:298:3 › User Profile Management › should upload profile avatar 

    TimeoutError: page.waitForURL: Timeout 20000ms exceeded.
    =========================== logs ===========================
    waiting for navigation until "load"
    ============================================================

       at utils/test-helpers.ts:225

      223 |
      224 |   // Attendre la navigation après login
    > 225 |   const navigationPromise = page.waitForURL(
          |                                  ^
      226 |     (url) => url.pathname === '/dashboard' || url.pathname === '/',
      227 |     { timeout: 20000 }
      228 |   );
        at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:225:34)
        at /home/senke/git/talas/veza/apps/web/e2e/profile.spec.ts:34:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/profile-User-Profile-Management-should-upload-profile-avatar-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/profile-User-Profile-Management-should-upload-profile-avatar-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/profile-User-Profile-Management-should-upload-profile-avatar-chromium/error-context.md


[1A[2K[24/38] [chromium] › e2e/profile.spec.ts:357:3 › User Profile Management › should validate username length
[1A[2K[chromium] › e2e/profile.spec.ts:357:3 › User Profile Management › should validate username length
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147177045ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PROFILE] Running: Username validation

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147179757: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147180049: net::ERR_ABORTED

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K🔴 [PROFILE] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [PROFILE] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147179757: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147180049: 0

[1A[2K  10) [chromium] › e2e/profile.spec.ts:357:3 › User Profile Management › should validate username length 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('input#username, input[name="username"]').first()
    Expected: visible
    Timeout: 15000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 15000ms[22m
    [2m  - waiting for locator('input#username, input[name="username"]').first()[22m


      364 |     // Attendre que le champ username soit visible
      365 |     const usernameField = page.locator('input#username, input[name="username"]').first();
    > 366 |     await expect(usernameField).toBeVisible({ timeout: 15000 });
          |                                 ^
      367 |     
      368 |     // Si disabled, activer le mode édition
      369 |     const isDisabled = await usernameField.isDisabled().catch(() => false);
        at /home/senke/git/talas/veza/apps/web/e2e/profile.spec.ts:366:33

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/profile-User-Profile-Manag-b2bef-ld-validate-username-length-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/profile-User-Profile-Manag-b2bef-ld-validate-username-length-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/profile-User-Profile-Manag-b2bef-ld-validate-username-length-chromium/error-context.md


[1A[2K[25/38] [chromium] › e2e/profile.spec.ts:404:3 › User Profile Management › should display account information
[1A[2K[chromium] › e2e/profile.spec.ts:404:3 › User Profile Management › should display account information
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147196334ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PROFILE] Running: Display account info

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147199024: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2Kℹ️ [PROFILE] Additional account info not displayed

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K🔴 [PROFILE] Console errors (2):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [PROFILE] Network errors (3):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147199024: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/login: net::ERR_ABORTED

[1A[2K[26/38] [chromium] › e2e/profile.spec.ts:434:3 › User Profile Management › should navigate to advanced settings
[1A[2K[chromium] › e2e/profile.spec.ts:434:3 › User Profile Management › should navigate to advanced settings
🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 61ms before login to avoid rate limiting...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🧪 [PROFILE] Running: Navigate to settings

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147201932: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2Kℹ️ [PROFILE] Advanced settings link not found

[1A[2K
📊 [PROFILE] === Final Verifications ===

[1A[2K🔴 [PROFILE] Console errors (2):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [PROFILE] Network errors (3):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147201932: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/login: net::ERR_ABORTED

[1A[2K[27/38] [chromium] › e2e/qa-audit.spec.ts:75:3 › QA E2E Audit - Veza Frontend › 1. Health Check - Backend API
[1A[2K[28/38] [chromium] › e2e/qa-audit.spec.ts:85:3 › QA E2E Audit - Veza Frontend › 2.1. Register - Test complet
[1A[2K[29/38] [chromium] › e2e/qa-audit.spec.ts:134:3 › QA E2E Audit - Veza Frontend › 2.2. Register - Validation errors
[1A[2K[30/38] [chromium] › e2e/qa-audit.spec.ts:163:3 › QA E2E Audit - Veza Frontend › 2.3. Login - Test complet
[1A[2K[31/38] [chromium] › e2e/qa-audit.spec.ts:226:3 › QA E2E Audit - Veza Frontend › 3. Navigation - Toutes les pages
[1A[2K[32/38] [chromium] › e2e/qa-audit.spec.ts:264:3 › QA E2E Audit - Veza Frontend › 4. Buttons and Actions - Dashboard
[1A[2K[33/38] [chromium] › e2e/qa-audit.spec.ts:287:3 › QA E2E Audit - Veza Frontend › 5. Logout
[1A[2K[chromium] › e2e/qa-audit.spec.ts:287:3 › QA E2E Audit - Veza Frontend › 5. Logout

=== QA AUDIT RESULTS ===


[1A[2K✅ Backend API Health: pass

[1A[2K❌ Register - Valid data: fail

[1A[2K   Error: Status 400: {"success":false,"error":{"code":2000,"message":"Validation failed","details":[{"field":"password","message":"password must be at least 12 characters"}],"request_id":"476f2394-a527-4db3-95fd-0f48f5874a17","timestamp":"2025-12-19T12:26:43Z"}}

[1A[2K✅ Register - Email validation: pass

[1A[2K✅ Register - Password validation: pass

[1A[2K❌ Login - Wrong password: fail

[1A[2K   Error: Expected 401, got 403

[1A[2K❌ Login - Valid credentials: fail

[1A[2K   Error: Status 403: {"success":false,"error":{"code":1004,"message":"Invalid credentials","request_id":"62f609bf-efeb-4ce4-ae4c-eecc45e62d95","timestamp":"2025-12-19T12:26:45Z"}}

[1A[2K❌ Navigation - Dashboard: fail

[1A[2K   Error: Console errors: 3, Network errors: 2

[1A[2K❌ Navigation - Chat: fail

[1A[2K❌ Navigation - Library: fail

[1A[2K❌ Navigation - Profile: fail

[1A[2K❌ Navigation - Settings: fail

[1A[2K❌ Navigation - Marketplace: fail

[1A[2K✅ Dashboard - Buttons: pass

[1A[2K[34/38] [chromium] › e2e/track_lifecycle.spec.ts:37:5 › Track Lifecycle - CRUD › Complete Track Lifecycle: Upload -> Verify -> Delete
[1A[2K[chromium] › e2e/track_lifecycle.spec.ts:37:5 › Track Lifecycle - CRUD › Complete Track Lifecycle: Upload -> Verify -> Delete
🔍 [LIFECYCLE] Step 1: Login

[1A[2K🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (22649ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K🔴 [CONSOLE ERROR] Login error: {code: 429, message: Trop de requêtes. Veuillez patienter avant de réessayer., timestamp: 2025-12-19T12:27:09.182Z, details: undefined, retry_after: undefined}

[1A[2K
📊 [LIFECYCLE] === Final Verifications ===

[1A[2K🔴 [LIFECYCLE] Console errors (3):

[1A[2K  - Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K  - Failed to load resource: the server responded with a status of 429 (Too Many Requests)

[1A[2K  - Login error: {code: 429, message: Trop de requêtes. Veuillez patienter avant de réessayer., timestamp: 2025-12-19T12:27:09.182Z, details: undefined, retry_after: undefined}

[1A[2K🔴 [LIFECYCLE] Network errors (2):

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/login: 429

[1A[2K  11) [chromium] › e2e/track_lifecycle.spec.ts:37:5 › Track Lifecycle - CRUD › Complete Track Lifecycle: Upload -> Verify -> Delete 

    TimeoutError: page.waitForURL: Timeout 20000ms exceeded.
    =========================== logs ===========================
    waiting for navigation until "load"
    ============================================================

       at utils/test-helpers.ts:225

      223 |
      224 |   // Attendre la navigation après login
    > 225 |   const navigationPromise = page.waitForURL(
          |                                  ^
      226 |     (url) => url.pathname === '/dashboard' || url.pathname === '/',
      227 |     { timeout: 20000 }
      228 |   );
        at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:225:34)
        at /home/senke/git/talas/veza/apps/web/e2e/track_lifecycle.spec.ts:40:9

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/track_lifecycle-Track-Life-b1939-le-Upload---Verify---Delete-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/track_lifecycle-Track-Life-b1939-le-Upload---Verify---Delete-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/track_lifecycle-Track-Life-b1939-le-Upload---Verify---Delete-chromium/error-context.md


[1A[2K[35/38] [chromium] › e2e/tracks_upload_chunked.spec.ts:47:3 › Chunked Upload Flow › should upload large file (15 MB) using chunked upload
[1A[2K[chromium] › e2e/tracks_upload_chunked.spec.ts:47:3 › Chunked Upload Flow › should upload large file (15 MB) using chunked upload
🧪 [CHUNKED UPLOAD] Running: Large file upload with chunking

[1A[2K🔍 [CHUNKED UPLOAD] Step 1: Login

[1A[2K🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147244650ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🔍 [CHUNKED UPLOAD] Step 2: Navigate to /library

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147248337: net::ERR_ABORTED

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147248607: net::ERR_ABORTED

[1A[2K🔍 [CHUNKED UPLOAD] Step 3: Open upload modal

[1A[2K📦 [MODAL] Opening modal via button: /upload/i

[1A[2K
📊 [CHUNKED UPLOAD] === Final Verifications ===

[1A[2K🔴 [CHUNKED UPLOAD] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [CHUNKED UPLOAD] Network errors (8):

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147248337: 0

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147248607: 0

[1A[2K  12) [chromium] › e2e/tracks_upload_chunked.spec.ts:47:3 › Chunked Upload Flow › should upload large file (15 MB) using chunked upload 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /upload/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /upload/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/tracks_upload_chunked.spec.ts:95:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/tracks_upload_chunked-Chun-a2080--15-MB-using-chunked-upload-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/tracks_upload_chunked-Chun-a2080--15-MB-using-chunked-upload-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/tracks_upload_chunked-Chun-a2080--15-MB-using-chunked-upload-chromium/error-context.md


[1A[2K[36/38] [chromium] › e2e/tracks_upload_chunked.spec.ts:281:3 › Chunked Upload Flow › should handle very large file (25 MB) with chunking
[1A[2K[chromium] › e2e/tracks_upload_chunked.spec.ts:281:3 › Chunked Upload Flow › should handle very large file (25 MB) with chunking
🧪 [CHUNKED UPLOAD] Running: Very large file upload (25 MB)

[1A[2K🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147260572ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147264432: net::ERR_ABORTED

[1A[2K📦 [MODAL] Opening modal via button: /upload/i

[1A[2K
📊 [CHUNKED UPLOAD] === Final Verifications ===

[1A[2K🔴 [CHUNKED UPLOAD] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [CHUNKED UPLOAD] Network errors (7):

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147264432: 0

[1A[2K  13) [chromium] › e2e/tracks_upload_chunked.spec.ts:281:3 › Chunked Upload Flow › should handle very large file (25 MB) with chunking 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /upload/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /upload/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/tracks_upload_chunked.spec.ts:305:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/tracks_upload_chunked-Chun-88fad-ge-file-25-MB-with-chunking-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/tracks_upload_chunked-Chun-88fad-ge-file-25-MB-with-chunking-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/tracks_upload_chunked-Chun-88fad-ge-file-25-MB-with-chunking-chromium/error-context.md


[1A[2K[37/38] [chromium] › e2e/tracks_upload_chunked.spec.ts:364:3 › Chunked Upload Flow › should use direct upload for small files (< 10 MB)
[1A[2K[chromium] › e2e/tracks_upload_chunked.spec.ts:364:3 › Chunked Upload Flow › should use direct upload for small files (< 10 MB)
🧪 [CHUNKED UPLOAD] Running: Small file direct upload

[1A[2K🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147276319ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147280197: net::ERR_ABORTED

[1A[2K📦 [MODAL] Opening modal via button: /upload/i

[1A[2K
📊 [CHUNKED UPLOAD] === Final Verifications ===

[1A[2K🔴 [CHUNKED UPLOAD] Console errors (6):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [CHUNKED UPLOAD] Network errors (7):

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/auth/me: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147280197: 0

[1A[2K  14) [chromium] › e2e/tracks_upload_chunked.spec.ts:364:3 › Chunked Upload Flow › should use direct upload for small files (< 10 MB) 

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('button').filter({ hasText: /upload/i }).first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('button').filter({ hasText: /upload/i }).first()[22m


       at utils/test-helpers.ts:784

      782 |   }
      783 |
    > 784 |   await expect(button).toBeVisible({ timeout: 10000 });
          |                        ^
      785 |   await button.click();
      786 |
      787 |   // Attendre que la modal soit visible
        at openModal (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:784:24)
        at /home/senke/git/talas/veza/apps/web/e2e/tracks_upload_chunked.spec.ts:387:5

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/tracks_upload_chunked-Chun-0b307-load-for-small-files-10-MB--chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/tracks_upload_chunked-Chun-0b307-load-for-small-files-10-MB--chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/tracks_upload_chunked-Chun-0b307-load-for-small-files-10-MB--chromium/error-context.md


[1A[2K[38/38] [chromium] › e2e/upload_flow.spec.ts:36:3 › Upload Flow - Happy Path › Complete Upload Flow
[1A[2K[chromium] › e2e/upload_flow.spec.ts:36:3 › Upload Flow - Happy Path › Complete Upload Flow
🔍 [UPLOAD TEST] Step 1: Logging in...

[1A[2K🔐 [LOGIN] Authenticating as user@example.com...

[1A[2K⏳ [LOGIN] Waiting 100ms before login (1766147292059ms since last login)...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form submitted successfully

[1A[2K⏳ [LOGIN] Waiting for networkidle after navigation...

[1A[2K⏳ [LOGIN] Waiting for auth state to be persisted...

[1A[2K🔍 [LOGIN] Verifying authentication state...

[1A[2K  ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)

[1A[2K✅ [LOGIN] Successfully authenticated as user@example.com (token: eyJhbGciOiJIUzI1NiIs...)

[1A[2K🔍 [UPLOAD TEST] Step 2: Navigating to /library...

[1A[2K🧭 [NAVIGATION] Navigating via href: /library...

[1A[2K✅ [NAVIGATION] Successfully navigated via href: /library

[1A[2K🔍 [UPLOAD TEST] Step 3: Opening upload modal...

[1A[2K📦 [MODAL] Opening modal via button: /upload/i

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/playlists?page=20&limit=0: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/playlists?page=20&limit=0: 401

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K✅ [MODAL] Modal opened successfully

[1A[2K🔍 [UPLOAD TEST] Step 4: Selecting and uploading file...

[1A[2K✅ [UPLOAD TEST] File selected with mimeType audio/mpeg

[1A[2K✅ [UPLOAD TEST] File displayed in modal

[1A[2K🔍 [UPLOAD TEST] Step 5: Filling metadata...

[1A[2K✏️ [FILL] Filling field input[id="title"] with value: Test Song

[1A[2K✅ [FILL] Field input[id="title"] filled successfully

[1A[2K✏️ [FILL] Filling field input[id="artist"] with value: QA Bot

[1A[2K✅ [FILL] Field input[id="artist"] filled successfully

[1A[2K✅ [UPLOAD TEST] Metadata filled

[1A[2K🔍 [UPLOAD TEST] Step 6: Starting upload...

[1A[2K⚡ [FORM SUBMIT] Forcing submission of form: form#upload-track-form

[1A[2K🔍 [FORM SUBMIT] Waiting for form selector: form#upload-track-form

[1A[2K⏳ [FORM SUBMIT] Waiting for React to update state...

[1A[2K🚀 [FORM SUBMIT] Submitting form...

[1A[2K✅ [FORM SUBMIT] Form form#upload-track-form submitted successfully

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/tracks: 401

[1A[2K📡 [UPLOAD TEST] Upload response status: 401

[1A[2K🔔 [TOAST] Waiting for success message...

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/index.css?t=1766147296671: net::ERR_ABORTED


[1A[2K🔍 [UPLOAD TEST] Step 7: Verifying track appears in list...

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/src/main.tsx?t=1766147296671: net::ERR_ABORTED

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/@react-refresh: net::ERR_ABORTED

[1A[2K🔴 [REQUEST FAILED] GET http://localhost:3000/@vite/client: net::ERR_ABORTED

[1A[2K
📊 [UPLOAD TEST] === Final Verifications ===

[1A[2K🔴 [UPLOAD TEST] Console errors (4):

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 401 (Unauthorized)

[1A[2K  - Failed to load resource: the server responded with a status of 403 (Forbidden)

[1A[2K🔴 [UPLOAD TEST] Network errors (8):

[1A[2K  - GET http://127.0.0.1:8080/api/v1/playlists?page=20&limit=0: 401

[1A[2K  - GET http://127.0.0.1:8080/api/v1/playlists?page=20&limit=0: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/tracks: 401

[1A[2K  - POST http://127.0.0.1:8080/api/v1/auth/refresh: 403

[1A[2K  - GET http://localhost:3000/src/index.css?t=1766147296671: 0

[1A[2K  - GET http://localhost:3000/src/main.tsx?t=1766147296671: 0

[1A[2K  - GET http://localhost:3000/@react-refresh: 0

[1A[2K  - GET http://localhost:3000/@vite/client: 0

[1A[2K  15) [chromium] › e2e/upload_flow.spec.ts:36:3 › Upload Flow - Happy Path › Complete Upload Flow ──

    Error: [2mexpect([22m[31mlocator[39m[2m).[22mtoBeVisible[2m([22m[2m)[22m failed

    Locator: locator('table, [role="table"], .track-list').first()
    Expected: visible
    Timeout: 10000ms
    Error: element(s) not found

    Call log:
    [2m  - Expect "toBeVisible" with timeout 10000ms[22m
    [2m  - waiting for locator('table, [role="table"], .track-list').first()[22m


      144 |     // Vérifier que la piste apparaît
      145 |     const trackList = page.locator('table, [role="table"], .track-list').first();
    > 146 |     await expect(trackList).toBeVisible({ timeout: 10000 });
          |                             ^
      147 |
      148 |     const newTrack = page.locator('text=Test Song, text=test-audio').first();
      149 |     
        at /home/senke/git/talas/veza/apps/web/e2e/upload_flow.spec.ts:146:29

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/upload_flow-Upload-Flow---Happy-Path-Complete-Upload-Flow-chromium/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
    test-results/upload_flow-Upload-Flow---Happy-Path-Complete-Upload-Flow-chromium/video.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    Error Context: test-results/upload_flow-Upload-Flow---Happy-Path-Complete-Upload-Flow-chromium/error-context.md


[1A[2K  15 failed
    [chromium] › e2e/playlists.spec.ts:44:3 › Playlists CRUD › should create a new playlist successfully 
    [chromium] › e2e/playlists.spec.ts:94:3 › Playlists CRUD › should display list of playlists ────
    [chromium] › e2e/playlists.spec.ts:124:3 › Playlists CRUD › should update playlist name and description 
    [chromium] › e2e/playlists.spec.ts:187:3 › Playlists CRUD › should add track to playlist ───────
    [chromium] › e2e/playlists.spec.ts:247:3 › Playlists CRUD › should delete playlist successfully 
    [chromium] › e2e/playlists.spec.ts:309:3 › Playlists CRUD › should display empty state for new playlist 
    [chromium] › e2e/playlists.spec.ts:347:3 › Playlists CRUD › should search playlists by name ────
    [chromium] › e2e/profile.spec.ts:106:3 › User Profile Management › should update username successfully 
    [chromium] › e2e/profile.spec.ts:298:3 › User Profile Management › should upload profile avatar 
    [chromium] › e2e/profile.spec.ts:357:3 › User Profile Management › should validate username length 
    [chromium] › e2e/track_lifecycle.spec.ts:37:5 › Track Lifecycle - CRUD › Complete Track Lifecycle: Upload -> Verify -> Delete 
    [chromium] › e2e/tracks_upload_chunked.spec.ts:47:3 › Chunked Upload Flow › should upload large file (15 MB) using chunked upload 
    [chromium] › e2e/tracks_upload_chunked.spec.ts:281:3 › Chunked Upload Flow › should handle very large file (25 MB) with chunking 
    [chromium] › e2e/tracks_upload_chunked.spec.ts:364:3 › Chunked Upload Flow › should use direct upload for small files (< 10 MB) 
    [chromium] › e2e/upload_flow.spec.ts:36:3 › Upload Flow - Happy Path › Complete Upload Flow ────
  1 skipped
  22 passed (6.8m)

[36m  Serving HTML report at http://localhost:9323. Press Ctrl+C to quit.[39m
