{ "config": { "configFile": "/home/senke/git/talas/veza/apps/web/playwright.config.ts", "rootDir": "/home/senke/git/talas/veza/apps/web/e2e", "forbidOnly": false, "fullyParallel": true, "globalSetup": "/home/senke/git/talas/veza/apps/web/e2e/global-setup.ts", "globalTeardown": null, "globalTimeout": 0, "grep": {}, "grepInvert": null, "maxFailures": 0, "metadata": { "actualWorkers": 1 }, "preserveOutput": "always", "reporter": [ [ "html", null ], [ "json", { "outputFile": "e2e-results.json" } ] ], "reportSlowTests": { "max": 5, "threshold": 300000 }, "quiet": false, "projects": [ { "outputDir": "/home/senke/git/talas/veza/apps/web/test-results", "repeatEach": 1, "retries": 0, "metadata": { "actualWorkers": 1 }, "id": "chromium", "name": "chromium", "testDir": "/home/senke/git/talas/veza/apps/web/e2e", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 60000 }, { "outputDir": "/home/senke/git/talas/veza/apps/web/test-results", "repeatEach": 1, "retries": 0, "metadata": { "actualWorkers": 1 }, "id": "firefox", "name": "firefox", "testDir": "/home/senke/git/talas/veza/apps/web/e2e", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 60000 }, { "outputDir": "/home/senke/git/talas/veza/apps/web/test-results", "repeatEach": 1, "retries": 0, "metadata": { "actualWorkers": 1 }, "id": "webkit", "name": "webkit", "testDir": "/home/senke/git/talas/veza/apps/web/e2e", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 60000 }, { "outputDir": "/home/senke/git/talas/veza/apps/web/test-results", "repeatEach": 1, "retries": 0, "metadata": { "actualWorkers": 1 }, "id": "msedge", "name": "msedge", "testDir": "/home/senke/git/talas/veza/apps/web/e2e", "testIgnore": [], "testMatch": [ "**/*.@(spec|test).?(c|m)[jt]s?(x)" ], "timeout": 60000 } ], "shard": null, "tags": [], "updateSnapshots": "missing", "updateSourceMethod": "patch", "version": "1.57.0", "workers": 1, "webServer": { "command": "npm run dev", "url": "http://localhost:5173", "reuseExistingServer": true, "timeout": 120000 } }, "suites": [ { "title": "auth.spec.ts", "file": "auth.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "Authentication Flow", "file": "auth.spec.ts", "line": 25, "column": 6, "specs": [ { "title": "should login successfully with valid credentials", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 3948, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login with valid credentials\n" }, { "text": "✏️ [FILL] Filling field input[type=\"email\"], input[name=\"email\"] with value: e2e@test.com\n" }, { "text": "✅ [FILL] Field input[type=\"email\"], input[name=\"email\"] filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[type=\"password\"], input[name=\"password\"] with value: Xk9$mP2#vL7@nQ4!wR8\n" }, { "text": "✅ [FILL] Field input[type=\"password\"], input[name=\"password\"] filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "⏳ [AUTH TEST] Waiting for Zustand to persist auth-storage...\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [AUTH TEST] Login successful (token in storage)\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:50:21.035Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-efd14549b37f77aa6096", "file": "auth.spec.ts", "line": 41, "column": 3 }, { "title": "should show error with invalid credentials", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 1997, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login with invalid credentials\n" }, { "text": "✏️ [FILL] Filling field input[type=\"email\"], input[name=\"email\"] with value: wrong@example.com\n" }, { "text": "✅ [FILL] Field input[type=\"email\"], input[name=\"email\"] filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[type=\"password\"], input[name=\"password\"] with value: wrongpassword\n" }, { "text": "✅ [FILL] Field input[type=\"password\"], input[name=\"password\"] filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "🔔 [TOAST] Waiting for error message...\n" }, { "text": "🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 423\n" }, { "text": "🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 423 (Locked)\n" }, { "text": "✅ [TOAST] error message: Account is locked. Please try again later.\n" }, { "text": "✅ [AUTH TEST] Error shown for invalid credentials\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "🔴 [AUTH TEST] Console errors (1):\n" }, { "text": " - Failed to load resource: the server responded with a status of 423 (Locked)\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/login: 423\n" } ], "stderr": [ { "text": "⚠️ [AUTH TEST] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2026-01-10T21:50:25.101Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-32f56b95de6bdc3a9955", "file": "auth.spec.ts", "line": 107, "column": 3 }, { "title": "should register a new user successfully", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4110, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: User registration\n" }, { "text": "✏️ [FILL] Filling field input[name=\"email\"], input#email with value: test-1768081828662@example.com\n" }, { "text": "✅ [FILL] Field input[name=\"email\"], input#email filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"username\"], input#username with value: testuser1768081828662\n" }, { "text": "✅ [FILL] Field input[name=\"username\"], input#username filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"password\"], input#password with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"password\"], input#password filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "✅ [AUTH TEST] Registration successful with auto-login\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:50:27.127Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-c1f7fb06f3779f5e6fd5", "file": "auth.spec.ts", "line": 134, "column": 3 }, { "title": "should show error when registering with existing email", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 5254, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Registration with existing email\n" }, { "text": "✏️ [FILL] Filling field input[name=\"email\"], input#email with value: e2e@test.com\n" }, { "text": "✅ [FILL] Field input[name=\"email\"], input#email filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"username\"], input#username with value: existinguser\n" }, { "text": "✅ [FILL] Field input[name=\"username\"], input#username filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"password\"], input#password with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"password\"], input#password filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/register: 409\n" }, { "text": "🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 409 (Conflict)\n" }, { "text": "✅ [AUTH TEST] Error shown for existing email: \"User already exists\"\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "🔴 [AUTH TEST] Console errors (1):\n" }, { "text": " - Failed to load resource: the server responded with a status of 409 (Conflict)\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/register: 409\n" } ], "stderr": [ { "text": "⚠️ [AUTH TEST] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2026-01-10T21:50:31.266Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-53d5184b470bb63aefc3", "file": "auth.spec.ts", "line": 231, "column": 3 }, { "title": "should logout successfully", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 8189, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Logout\n" }, { "text": "🔐 [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "⏳ [LOGIN] Waiting 500ms before login (1768081836583ms since last login)...\n" }, { "text": "✏️ [LOGIN] User not authenticated, proceeding with login form...\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "⏳ [LOGIN] Waiting for networkidle after navigation...\n" }, { "text": "⏳ [LOGIN] Waiting for auth state to be persisted...\n" }, { "text": "🔍 [LOGIN] Verifying authentication state...\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [LOGIN] Successfully authenticated as e2e@test.com (token: eyJhbGciOiJIUzI1NiIs...)\n" }, { "text": "🔍 [AUTH TEST] Checking token presence before logout...\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [AUTH TEST] Token present before logout: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik...\n" }, { "text": "🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/logout: 400\n" }, { "text": "🔴 [CONSOLE ERROR] Failed to load resource: the server responded with a status of 400 (Bad Request)\n" }, { "text": "✅ [AUTH TEST] Logout successful\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "🔴 [AUTH TEST] Console errors (1):\n" }, { "text": " - Failed to load resource: the server responded with a status of 400 (Bad Request)\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/logout: 400\n" } ], "stderr": [ { "text": "⚠️ [LOGIN] Form not visible and not on dashboard. Proceeding (might fail)...\n" }, { "text": "⚠️ [AUTH TEST] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2026-01-10T21:50:36.538Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-c0ce6ccc7b7e02794edb", "file": "auth.spec.ts", "line": 293, "column": 3 }, { "title": "should redirect to login when accessing protected route without auth", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 2542, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Route guard test\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/node_modules/.vite/deps/chunk-KOCE3OZ5.js?v=3f421a3c: net::ERR_ABORTED\n" }, { "text": "✅ [AUTH TEST] Route guard working correctly\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/node_modules/.vite/deps/chunk-KOCE3OZ5.js?v=3f421a3c: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:50:44.752Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-4d2eb13aa042aa0b2d41", "file": "auth.spec.ts", "line": 373, "column": 3 }, { "title": "should persist authentication after page refresh", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 19135, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Auth persistence test\n" }, { "text": "🔐 [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "⏳ [LOGIN] Waiting 500ms before login (20281ms since last login)...\n" }, { "text": "✏️ [LOGIN] User not authenticated, proceeding with login form...\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "⏳ [LOGIN] Waiting for networkidle after navigation...\n" }, { "text": "⏳ [LOGIN] Waiting for auth state to be persisted...\n" }, { "text": "🔍 [LOGIN] Verifying authentication state...\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [LOGIN] Successfully authenticated as e2e@test.com (token: eyJhbGciOiJIUzI1NiIs...)\n" }, { "text": "✅ [AUTH TEST] Authenticated before refresh\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [AUTH TEST] Correctly persisted authentication after refresh\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [ { "text": "⚠️ [LOGIN] Form not visible and not on dashboard. Proceeding (might fail)...\n" } ], "retry": 0, "startTime": "2026-01-10T21:50:47.310Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-fb094c064cf6c63bcced", "file": "auth.spec.ts", "line": 395, "column": 3 }, { "title": "should validate login form fields", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 3410, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login form validation\n" }, { "text": "✅ [AUTH TEST] Form validation prevented submission (stayed on login page)\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:51:06.459Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-73ae53ed4fd70aaa00c2", "file": "auth.spec.ts", "line": 452, "column": 3 }, { "title": "should show error when passwords do not match during registration", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 4310, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Password mismatch validation\n" }, { "text": "✏️ [FILL] Filling field input[name=\"email\"], input#email with value: newuser@example.com\n" }, { "text": "✅ [FILL] Field input[name=\"email\"], input#email filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"password\"], input#password with value: Password123456!\n" }, { "text": "✅ [FILL] Field input[name=\"password\"], input#password filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"] with value: DifferentPassword!\n" }, { "text": "✅ [FILL] Field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"] filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "✅ [AUTH TEST] Password mismatch error shown (found by text)\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:51:09.890Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-184539997e56a19b11c0", "file": "auth.spec.ts", "line": 509, "column": 3 }, { "title": "should login successfully with valid credentials", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "passed", "duration": 5503, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login with valid credentials\n" }, { "text": "✏️ [FILL] Filling field input[type=\"email\"], input[name=\"email\"] with value: e2e@test.com\n" }, { "text": "✅ [FILL] Field input[type=\"email\"], input[name=\"email\"] filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[type=\"password\"], input[name=\"password\"] with value: Xk9$mP2#vL7@nQ4!wR8\n" }, { "text": "✅ [FILL] Field input[type=\"password\"], input[name=\"password\"] filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "🔴 [CONSOLE ERROR] [JavaScript Error: \"Cookie “refresh_token” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.\" {file: \"http://127.0.0.1:8080/api/v1/auth/login\" line: 0}]\n" }, { "text": "⏳ [AUTH TEST] Waiting for Zustand to persist auth-storage...\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [AUTH TEST] Login successful (token in storage)\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "🔴 [AUTH TEST] Console errors (1):\n" }, { "text": " - [JavaScript Error: \"Cookie “refresh_token” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.\" {file: \"http://127.0.0.1:8080/api/v1/auth/login\" line: 0}]\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [ { "text": "⚠️ [AUTH TEST] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2026-01-10T21:51:15.269Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-14d0e4fdf8b73cd887ae", "file": "auth.spec.ts", "line": 41, "column": 3 }, { "title": "should show error with invalid credentials", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "passed", "duration": 1858, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login with invalid credentials\n" }, { "text": "✏️ [FILL] Filling field input[type=\"email\"], input[name=\"email\"] with value: wrong@example.com\n" }, { "text": "✅ [FILL] Field input[type=\"email\"], input[name=\"email\"] filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[type=\"password\"], input[name=\"password\"] with value: wrongpassword\n" }, { "text": "✅ [FILL] Field input[type=\"password\"], input[name=\"password\"] filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "🔔 [TOAST] Waiting for error message...\n" }, { "text": "🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/login: 423\n" }, { "text": "✅ [TOAST] error message: Account is locked. Please try again later.\n" }, { "text": "✅ [AUTH TEST] Error shown for invalid credentials\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/login: 423\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:51:21.304Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-d2604529717af9e35508", "file": "auth.spec.ts", "line": 107, "column": 3 }, { "title": "should register a new user successfully", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "passed", "duration": 3681, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: User registration\n" }, { "text": "✏️ [FILL] Filling field input[name=\"email\"], input#email with value: test-1768081884491@example.com\n" }, { "text": "✅ [FILL] Field input[name=\"email\"], input#email filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"username\"], input#username with value: testuser1768081884491\n" }, { "text": "✅ [FILL] Field input[name=\"username\"], input#username filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"password\"], input#password with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"password\"], input#password filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "🔴 [CONSOLE ERROR] [JavaScript Error: \"Cookie “refresh_token” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.\" {file: \"http://127.0.0.1:8080/api/v1/auth/register\" line: 0}]\n" }, { "text": "✅ [AUTH TEST] Registration successful with auto-login\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "🔴 [AUTH TEST] Console errors (1):\n" }, { "text": " - [JavaScript Error: \"Cookie “refresh_token” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.\" {file: \"http://127.0.0.1:8080/api/v1/auth/register\" line: 0}]\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [ { "text": "⚠️ [AUTH TEST] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2026-01-10T21:51:23.192Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-e25661f5336753eaeb6e", "file": "auth.spec.ts", "line": 134, "column": 3 }, { "title": "should show error when registering with existing email", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "passed", "duration": 5870, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Registration with existing email\n" }, { "text": "✏️ [FILL] Filling field input[name=\"email\"], input#email with value: e2e@test.com\n" }, { "text": "✅ [FILL] Field input[name=\"email\"], input#email filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"username\"], input#username with value: existinguser\n" }, { "text": "✅ [FILL] Field input[name=\"username\"], input#username filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"password\"], input#password with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"password\"], input#password filled successfully\n" }, { "text": "✏️ [FILL] Filling field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm with value: Str0ng!P@ssw0rd2024\n" }, { "text": "✅ [FILL] Field input[name=\"passwordConfirm\"], input[name=\"password_confirm\"], input[name=\"confirmPassword\"], input#passwordConfirm filled successfully\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/register: 409\n" }, { "text": "✅ [AUTH TEST] Error shown for existing email: \"User already exists\"\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/register: 409\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:51:26.901Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-8e523d14978e1481a048", "file": "auth.spec.ts", "line": 231, "column": 3 }, { "title": "should logout successfully", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "passed", "duration": 9716, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Logout\n" }, { "text": "🔐 [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "⏳ [LOGIN] Waiting 500ms before login (1768081893040ms since last login)...\n" }, { "text": "✏️ [LOGIN] User not authenticated, proceeding with login form...\n" }, { "text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n" }, { "text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n" }, { "text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n" }, { "text": "🚀 [FORM SUBMIT] Submitting form...\n" }, { "text": "✅ [FORM SUBMIT] Form form submitted successfully\n" }, { "text": "🔴 [CONSOLE ERROR] [JavaScript Error: \"Cookie “refresh_token” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.\" {file: \"http://127.0.0.1:8080/api/v1/auth/login\" line: 0}]\n" }, { "text": "⏳ [LOGIN] Waiting for networkidle after navigation...\n" }, { "text": "⏳ [LOGIN] Waiting for auth state to be persisted...\n" }, { "text": "🔍 [LOGIN] Verifying authentication state...\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [LOGIN] Successfully authenticated as e2e@test.com (token: eyJhbGciOiJIUzI1NiIs...)\n" }, { "text": "🔍 [AUTH TEST] Checking token presence before logout...\n" }, { "text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "✅ [AUTH TEST] Token present before logout: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik...\n" }, { "text": "🔴 [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/logout: 400\n" }, { "text": "✅ [AUTH TEST] Logout successful\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "🔴 [AUTH TEST] Console errors (1):\n" }, { "text": " - [JavaScript Error: \"Cookie “refresh_token” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.\" {file: \"http://127.0.0.1:8080/api/v1/auth/login\" line: 0}]\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/logout: 400\n" } ], "stderr": [ { "text": "⚠️ [LOGIN] Form not visible and not on dashboard. Proceeding (might fail)...\n" }, { "text": "⚠️ [AUTH TEST] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2026-01-10T21:51:32.792Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-4410c42745b7a4d89d03", "file": "auth.spec.ts", "line": 293, "column": 3 }, { "title": "should redirect to login when accessing protected route without auth", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "passed", "duration": 2298, "errors": [], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Route guard test\n" }, { "text": "✅ [AUTH TEST] Route guard working correctly\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:51:42.548Z", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "d748ac400d08b85935ef-4329ca7f3e8c21f77534", "file": "auth.spec.ts", "line": 373, "column": 3 }, { "title": "should persist authentication after page refresh", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "failed", "duration": 12981, "error": { "message": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n", "stack": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 }, "snippet": "\u001b[90m at \u001b[39mutils/test-helpers.ts:174\n\n\u001b[0m \u001b[90m 172 |\u001b[39m \u001b[36mwhile\u001b[39m (retries \u001b[33m>\u001b[39m \u001b[35m0\u001b[39m) {\n \u001b[90m 173 |\u001b[39m \u001b[36mtry\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 174 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m\u001b[33m,\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 175 |\u001b[39m waitUntil\u001b[33m:\u001b[39m \u001b[32m'domcontentloaded'\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 176 |\u001b[39m timeout\u001b[33m:\u001b[39m \u001b[33mTEST_CONFIG\u001b[39m\u001b[33m.\u001b[39m\u001b[33mDEFAULT_TIMEOUT\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 177 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 }, "message": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n\n\u001b[90m at \u001b[39mutils/test-helpers.ts:174\n\n\u001b[0m \u001b[90m 172 |\u001b[39m \u001b[36mwhile\u001b[39m (retries \u001b[33m>\u001b[39m \u001b[35m0\u001b[39m) {\n \u001b[90m 173 |\u001b[39m \u001b[36mtry\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 174 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m\u001b[33m,\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 175 |\u001b[39m waitUntil\u001b[33m:\u001b[39m \u001b[32m'domcontentloaded'\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 176 |\u001b[39m timeout\u001b[33m:\u001b[39m \u001b[33mTEST_CONFIG\u001b[39m\u001b[33m.\u001b[39m\u001b[33mDEFAULT_TIMEOUT\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 177 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\u001b[22m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Auth persistence test\n" }, { "text": "🔐 [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "⏳ [LOGIN] Waiting 500ms before login (21565ms since last login)...\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: NS_ERROR_CONNECTION_REFUSED\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: NS_ERROR_CONNECTION_REFUSED\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: NS_ERROR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (3):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" }, { "text": " - GET http://localhost:5173/login: 0\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [ { "text": "⚠️ [LOGIN] Navigation failed (retries left: 2): page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:403:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@28'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@28'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081915627\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: NS_ERROR_CONNECTION_REFUSED\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: NS_ERROR_CONNECTION_REFUSED\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" }, { "text": "⚠️ [LOGIN] Navigation failed (retries left: 1): page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:403:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@30'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@30'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081916650\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: NS_ERROR_CONNECTION_REFUSED\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: NS_ERROR_CONNECTION_REFUSED\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" }, { "text": "⚠️ [LOGIN] Navigation failed (retries left: 0): page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:403:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@32'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@32'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081917665\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: NS_ERROR_CONNECTION_REFUSED\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: NS_ERROR_CONNECTION_REFUSED\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" } ], "retry": 0, "startTime": "2026-01-10T21:51:44.885Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-12d3c-tication-after-page-refresh-firefox/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-12d3c-tication-after-page-refresh-firefox/video.webm" }, { "name": "error-context", "contentType": "text/markdown", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-12d3c-tication-after-page-refresh-firefox/error-context.md" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-7ce71de8a36364c96c8d", "file": "auth.spec.ts", "line": 395, "column": 3 }, { "title": "should validate login form fields", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 2, "parallelIndex": 0, "status": "failed", "duration": 843, "error": { "message": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:455:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 455 }, "snippet": "\u001b[0m \u001b[90m 453 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login form validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 454 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 455 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 456 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 457 |\u001b[39m\n \u001b[90m 458 |\u001b[39m \u001b[90m// Wait for form to be ready\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 455 }, "message": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 453 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login form validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 454 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 455 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 456 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 457 |\u001b[39m\n \u001b[90m 458 |\u001b[39m \u001b[90m// Wait for form to be ready\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:455:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login form validation\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: NS_ERROR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:51:58.883Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-should-validate-login-form-fields-firefox/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-should-validate-login-form-fields-firefox/video.webm" }, { "name": "error-context", "contentType": "text/markdown", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-should-validate-login-form-fields-firefox/error-context.md" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 455 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-9f21426262cd48deaf49", "file": "auth.spec.ts", "line": 452, "column": 3 }, { "title": "should show error when passwords do not match during registration", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "firefox", "projectName": "firefox", "results": [ { "workerIndex": 3, "parallelIndex": 0, "status": "failed", "duration": 929, "error": { "message": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:512:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 512 }, "snippet": "\u001b[0m \u001b[90m 510 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Password mismatch validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 511 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 512 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 513 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 514 |\u001b[39m\n \u001b[90m 515 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 512 }, "message": "Error: page.goto: NS_ERROR_CONNECTION_REFUSED\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 510 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Password mismatch validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 511 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 512 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 513 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 514 |\u001b[39m\n \u001b[90m 515 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:512:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Password mismatch validation\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/register: NS_ERROR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/register: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:01.197Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-216c1-t-match-during-registration-firefox/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-216c1-t-match-during-registration-firefox/video.webm" }, { "name": "error-context", "contentType": "text/markdown", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-216c1-t-match-during-registration-firefox/error-context.md" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 512 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-3b0220e3d2e27f513770", "file": "auth.spec.ts", "line": 509, "column": 3 }, { "title": "should login successfully with valid credentials", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 4, "parallelIndex": 0, "status": "failed", "duration": 6, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:04.404Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-9e1583275625d6e8142a", "file": "auth.spec.ts", "line": 41, "column": 3 }, { "title": "should show error with invalid credentials", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 5, "parallelIndex": 0, "status": "failed", "duration": 7, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:05.509Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-4201a53bab8fcc8ef77f", "file": "auth.spec.ts", "line": 107, "column": 3 }, { "title": "should register a new user successfully", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 6, "parallelIndex": 0, "status": "failed", "duration": 6, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:06.649Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-e1e04a4d63f068ce6c7f", "file": "auth.spec.ts", "line": 134, "column": 3 }, { "title": "should show error when registering with existing email", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 7, "parallelIndex": 0, "status": "failed", "duration": 10, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:07.973Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-e9be5a0fa5f268f981b2", "file": "auth.spec.ts", "line": 231, "column": 3 }, { "title": "should logout successfully", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 8, "parallelIndex": 0, "status": "failed", "duration": 9, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:09.040Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-1f08bff9df919d288ae6", "file": "auth.spec.ts", "line": 293, "column": 3 }, { "title": "should redirect to login when accessing protected route without auth", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 9, "parallelIndex": 0, "status": "failed", "duration": 5, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:09.935Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-21fd3dcd248dab5b8131", "file": "auth.spec.ts", "line": 373, "column": 3 }, { "title": "should persist authentication after page refresh", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 10, "parallelIndex": 0, "status": "failed", "duration": 7, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:10.798Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-b650fa26a32d2a037a5a", "file": "auth.spec.ts", "line": 395, "column": 3 }, { "title": "should validate login form fields", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 11, "parallelIndex": 0, "status": "failed", "duration": 5, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:11.755Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-5ee828237b6b2f781ea3", "file": "auth.spec.ts", "line": 452, "column": 3 }, { "title": "should show error when passwords do not match during registration", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "webkit", "projectName": "webkit", "results": [ { "workerIndex": 12, "parallelIndex": 0, "status": "failed", "duration": 3, "error": { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝", "stack": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" }, "errors": [ { "message": "Error: browserType.launch: \n╔══════════════════════════════════════════════════════╗\n║ Host system is missing dependencies to run browsers. ║\n║ Please install them with the following command: ║\n║ ║\n║ sudo npx playwright install-deps ║\n║ ║\n║ Alternatively, use apt: ║\n║ sudo apt-get install libicu74\\ ║\n║ libjpeg-turbo8\\ ║\n║ gstreamer1.0-libav ║\n║ ║\n║ <3 Playwright Team ║\n╚══════════════════════════════════════════════════════╝" } ], "stdout": [ { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "✅ [AUTH TEST] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:12.602Z", "annotations": [], "attachments": [] } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-4c0ea2b25148c5c9623e", "file": "auth.spec.ts", "line": 509, "column": 3 }, { "title": "should login successfully with valid credentials", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 13, "parallelIndex": 0, "status": "failed", "duration": 229, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:44:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 44 }, "snippet": "\u001b[0m \u001b[90m 42 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login with valid credentials'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 43 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 44 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 45 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 46 |\u001b[39m\n \u001b[90m 47 |\u001b[39m \u001b[90m// Attendre que le formulaire soit prêt (premier test peut être plus lent)\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 44 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 42 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login with valid credentials'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 43 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 44 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 45 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 46 |\u001b[39m\n \u001b[90m 47 |\u001b[39m \u001b[90m// Attendre que le formulaire soit prêt (premier test peut être plus lent)\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:44:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login with valid credentials\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:13.560Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-74377-ully-with-valid-credentials-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-74377-ully-with-valid-credentials-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 44 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-6752a9a2e7a05cd11902", "file": "auth.spec.ts", "line": 41, "column": 3 }, { "title": "should show error with invalid credentials", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 14, "parallelIndex": 0, "status": "failed", "duration": 216, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:110:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 110 }, "snippet": "\u001b[0m \u001b[90m 108 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login with invalid credentials'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 109 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 110 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 111 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 112 |\u001b[39m\n \u001b[90m 113 |\u001b[39m \u001b[90m// Remplir avec des credentials invalides\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 110 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 108 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login with invalid credentials'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 109 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 110 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 111 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 112 |\u001b[39m\n \u001b[90m 113 |\u001b[39m \u001b[90m// Remplir avec des credentials invalides\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:110:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login with invalid credentials\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:14.545Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-22fb7-or-with-invalid-credentials-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-22fb7-or-with-invalid-credentials-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 110 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-59c9cf8302a5a962929c", "file": "auth.spec.ts", "line": 107, "column": 3 }, { "title": "should register a new user successfully", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 15, "parallelIndex": 0, "status": "failed", "duration": 225, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:137:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 137 }, "snippet": "\u001b[0m \u001b[90m 135 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: User registration'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 136 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 137 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 138 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 139 |\u001b[39m\n \u001b[90m 140 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 137 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 135 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: User registration'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 136 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 137 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 138 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 139 |\u001b[39m\n \u001b[90m 140 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:137:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: User registration\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/register: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/register: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:15.612Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-53dd2-ter-a-new-user-successfully-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-53dd2-ter-a-new-user-successfully-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 137 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-89d90a66686f781c5e5b", "file": "auth.spec.ts", "line": 134, "column": 3 }, { "title": "should show error when registering with existing email", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 16, "parallelIndex": 0, "status": "failed", "duration": 208, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:234:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 234 }, "snippet": "\u001b[0m \u001b[90m 232 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Registration with existing email'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 233 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 234 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 235 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 236 |\u001b[39m\n \u001b[90m 237 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 234 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 232 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Registration with existing email'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 233 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 234 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 235 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 236 |\u001b[39m\n \u001b[90m 237 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:234:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Registration with existing email\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/register: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/register: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:16.683Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-3c58b-stering-with-existing-email-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-3c58b-stering-with-existing-email-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 234 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-46e52fdc699a850c1641", "file": "auth.spec.ts", "line": 231, "column": 3 }, { "title": "should logout successfully", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 17, "parallelIndex": 0, "status": "failed", "duration": 2776, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:297:5", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 }, "snippet": "\u001b[90m at \u001b[39mutils/test-helpers.ts:174\n\n\u001b[0m \u001b[90m 172 |\u001b[39m \u001b[36mwhile\u001b[39m (retries \u001b[33m>\u001b[39m \u001b[35m0\u001b[39m) {\n \u001b[90m 173 |\u001b[39m \u001b[36mtry\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 174 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m\u001b[33m,\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 175 |\u001b[39m waitUntil\u001b[33m:\u001b[39m \u001b[32m'domcontentloaded'\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 176 |\u001b[39m timeout\u001b[33m:\u001b[39m \u001b[33mTEST_CONFIG\u001b[39m\u001b[33m.\u001b[39m\u001b[33mDEFAULT_TIMEOUT\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 177 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n\n\u001b[90m at \u001b[39mutils/test-helpers.ts:174\n\n\u001b[0m \u001b[90m 172 |\u001b[39m \u001b[36mwhile\u001b[39m (retries \u001b[33m>\u001b[39m \u001b[35m0\u001b[39m) {\n \u001b[90m 173 |\u001b[39m \u001b[36mtry\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 174 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m\u001b[33m,\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 175 |\u001b[39m waitUntil\u001b[33m:\u001b[39m \u001b[32m'domcontentloaded'\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 176 |\u001b[39m timeout\u001b[33m:\u001b[39m \u001b[33mTEST_CONFIG\u001b[39m\u001b[33m.\u001b[39m\u001b[33mDEFAULT_TIMEOUT\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 177 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\u001b[22m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:297:5\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Logout\n" }, { "text": "🔐 [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "⏳ [LOGIN] Waiting 500ms before login (1768081937863ms since last login)...\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (3):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" }, { "text": " - GET http://localhost:5173/login: 0\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [ { "text": "⚠️ [LOGIN] Navigation failed (retries left: 2): page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:297:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@36'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@36'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081938386\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:297:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" }, { "text": "⚠️ [LOGIN] Navigation failed (retries left: 1): page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:297:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@38'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@38'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081939409\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:297:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" }, { "text": "⚠️ [LOGIN] Navigation failed (retries left: 0): page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:297:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@40'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@40'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081940419\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:297:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" } ], "retry": 0, "startTime": "2026-01-10T21:52:17.741Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-should-logout-successfully-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-should-logout-successfully-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-3df7d64e9abaa55ead40", "file": "auth.spec.ts", "line": 293, "column": 3 }, { "title": "should redirect to login when accessing protected route without auth", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 18, "parallelIndex": 0, "status": "failed", "duration": 230, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:377:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 377 }, "snippet": "\u001b[0m \u001b[90m 375 |\u001b[39m\n \u001b[90m 376 |\u001b[39m \u001b[90m// S'assurer qu'il n'y a pas de token dans le localStorage\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 377 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 378 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mevaluate(() \u001b[33m=>\u001b[39m localStorage\u001b[33m.\u001b[39mclear())\u001b[33m;\u001b[39m\n \u001b[90m 379 |\u001b[39m\n \u001b[90m 380 |\u001b[39m \u001b[90m// Tenter d'accéder à une route protégée\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 377 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 375 |\u001b[39m\n \u001b[90m 376 |\u001b[39m \u001b[90m// S'assurer qu'il n'y a pas de token dans le localStorage\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 377 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 378 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mevaluate(() \u001b[33m=>\u001b[39m localStorage\u001b[33m.\u001b[39mclear())\u001b[33m;\u001b[39m\n \u001b[90m 379 |\u001b[39m\n \u001b[90m 380 |\u001b[39m \u001b[90m// Tenter d'accéder à une route protégée\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:377:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Route guard test\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:21.273Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-f8244-rotected-route-without-auth-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-f8244-rotected-route-without-auth-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 377 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-c4b67bfd2f9f5e5089d5", "file": "auth.spec.ts", "line": 373, "column": 3 }, { "title": "should persist authentication after page refresh", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 19, "parallelIndex": 0, "status": "failed", "duration": 12734, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 }, "snippet": "\u001b[90m at \u001b[39mutils/test-helpers.ts:174\n\n\u001b[0m \u001b[90m 172 |\u001b[39m \u001b[36mwhile\u001b[39m (retries \u001b[33m>\u001b[39m \u001b[35m0\u001b[39m) {\n \u001b[90m 173 |\u001b[39m \u001b[36mtry\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 174 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m\u001b[33m,\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 175 |\u001b[39m waitUntil\u001b[33m:\u001b[39m \u001b[32m'domcontentloaded'\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 176 |\u001b[39m timeout\u001b[33m:\u001b[39m \u001b[33mTEST_CONFIG\u001b[39m\u001b[33m.\u001b[39m\u001b[33mDEFAULT_TIMEOUT\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 177 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n\n\u001b[90m at \u001b[39mutils/test-helpers.ts:174\n\n\u001b[0m \u001b[90m 172 |\u001b[39m \u001b[36mwhile\u001b[39m (retries \u001b[33m>\u001b[39m \u001b[35m0\u001b[39m) {\n \u001b[90m 173 |\u001b[39m \u001b[36mtry\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 174 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m\u001b[33m,\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 175 |\u001b[39m waitUntil\u001b[33m:\u001b[39m \u001b[32m'domcontentloaded'\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 176 |\u001b[39m timeout\u001b[33m:\u001b[39m \u001b[33mTEST_CONFIG\u001b[39m\u001b[33m.\u001b[39m\u001b[33mDEFAULT_TIMEOUT\u001b[39m\u001b[33m,\u001b[39m\n \u001b[90m 177 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\u001b[22m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Auth persistence test\n" }, { "text": "🔐 [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "⏳ [LOGIN] Waiting 500ms before login (1768081952393ms since last login)...\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (3):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" }, { "text": " - GET http://localhost:5173/login: 0\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [ { "text": "⚠️ [LOGIN] Navigation failed (retries left: 2): page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:403:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@37'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@37'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081952903\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" }, { "text": "⚠️ [LOGIN] Navigation failed (retries left: 1): page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:403:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@39'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@39'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081953920\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" }, { "text": "⚠️ [LOGIN] Navigation failed (retries left: 0): page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\u001b[22m\n\n at loginAsUser \u001b[90m(/home/senke/git/talas/veza/apps/web/\u001b[39me2e/utils/test-helpers.ts:174:18\u001b[90m)\u001b[39m\n at \u001b[90m/home/senke/git/talas/veza/apps/web/\u001b[39me2e/auth.spec.ts:403:5 {\n name: \u001b[32m'Error'\u001b[39m,\n [\u001b[32mSymbol(step)\u001b[39m]: {\n location: {\n file: \u001b[32m'/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts'\u001b[39m,\n line: \u001b[33m174\u001b[39m,\n column: \u001b[33m18\u001b[39m,\n function: \u001b[32m'loginAsUser'\u001b[39m\n },\n category: \u001b[32m'pw:api'\u001b[39m,\n title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n apiName: \u001b[32m'page.goto'\u001b[39m,\n params: {\n url: \u001b[32m'http://localhost:5173/login'\u001b[39m,\n waitUntil: \u001b[32m'domcontentloaded'\u001b[39m,\n timeout: \u001b[33m30000\u001b[39m\n },\n group: \u001b[90mundefined\u001b[39m,\n stepId: \u001b[32m'pw:api@41'\u001b[39m,\n boxedStack: \u001b[90mundefined\u001b[39m,\n steps: [],\n attachmentIndices: [],\n info: TestStepInfoImpl {\n annotations: [],\n _testInfo: \u001b[36m[TestInfoImpl]\u001b[39m,\n _stepId: \u001b[32m'pw:api@41'\u001b[39m,\n _title: \u001b[32m'Navigate to \"/login\"'\u001b[39m,\n _parentStep: \u001b[90mundefined\u001b[39m,\n skip: \u001b[36m[Function (anonymous)]\u001b[39m\n },\n complete: \u001b[36m[Function: complete]\u001b[39m,\n endWallTime: \u001b[33m1768081954928\u001b[39m,\n error: {\n message: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m,\n stack: \u001b[32m'Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\\n'\u001b[39m +\n \u001b[32m'Call log:\\n'\u001b[39m +\n \u001b[32m'\\x1B[2m - navigating to \"http://localhost:5173/login\", waiting until \"domcontentloaded\"\\x1B[22m\\n'\u001b[39m +\n \u001b[32m'\\n'\u001b[39m +\n \u001b[32m' at loginAsUser (/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts:174:18)\\n'\u001b[39m +\n \u001b[32m' at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:403:5'\u001b[39m,\n cause: \u001b[90mundefined\u001b[39m\n }\n }\n}\n" } ], "retry": 0, "startTime": "2026-01-10T21:52:22.258Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-12d3c-tication-after-page-refresh-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-12d3c-tication-after-page-refresh-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/utils/test-helpers.ts", "column": 18, "line": 174 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-28ee1ce0e854954aad61", "file": "auth.spec.ts", "line": 395, "column": 3 }, { "title": "should validate login form fields", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 20, "parallelIndex": 0, "status": "failed", "duration": 190, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:455:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 455 }, "snippet": "\u001b[0m \u001b[90m 453 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login form validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 454 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 455 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 456 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 457 |\u001b[39m\n \u001b[90m 458 |\u001b[39m \u001b[90m// Wait for form to be ready\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 455 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/login\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/login\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 453 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Login form validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 454 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 455 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/login`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 456 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 457 |\u001b[39m\n \u001b[90m 458 |\u001b[39m \u001b[90m// Wait for form to be ready\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:455:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Login form validation\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/login: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/login: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:35.693Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-should-validate-login-form-fields-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-should-validate-login-form-fields-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 455 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-3aa083fdfc83657d8319", "file": "auth.spec.ts", "line": 452, "column": 3 }, { "title": "should show error when passwords do not match during registration", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "msedge", "projectName": "msedge", "results": [ { "workerIndex": 21, "parallelIndex": 0, "status": "failed", "duration": 222, "error": { "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n", "stack": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:512:16", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 512 }, "snippet": "\u001b[0m \u001b[90m 510 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Password mismatch validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 511 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 512 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 513 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 514 |\u001b[39m\n \u001b[90m 515 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 512 }, "message": "Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:5173/register\nCall log:\n\u001b[2m - navigating to \"http://localhost:5173/register\", waiting until \"load\"\u001b[22m\n\n\n\u001b[0m \u001b[90m 510 |\u001b[39m console\u001b[33m.\u001b[39mlog(\u001b[32m'🧪 [AUTH TEST] Running: Password mismatch validation'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 511 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 512 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mgoto(\u001b[32m`${TEST_CONFIG.FRONTEND_URL}/register`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 513 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForLoadState(\u001b[32m'domcontentloaded'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 514 |\u001b[39m\n \u001b[90m 515 |\u001b[39m \u001b[90m// Attendre que la page soit complètement chargée\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts:512:16\u001b[22m" } ], "stdout": [ { "text": "🧪 [AUTH TEST] Running: Password mismatch validation\n" }, { "text": "🔴 [REQUEST FAILED] GET http://localhost:5173/register: net::ERR_CONNECTION_REFUSED\n" }, { "text": "\n📊 [AUTH TEST] === Final Verifications ===\n" }, { "text": "✅ [AUTH TEST] No console errors\n" }, { "text": "🔴 [AUTH TEST] Network errors (1):\n" }, { "text": " - GET http://localhost:5173/register: 0\n" } ], "stderr": [], "retry": 0, "startTime": "2026-01-10T21:52:36.604Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-216c1-t-match-during-registration-msedge/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-Authentication-Flow-s-216c1-t-match-during-registration-msedge/video.webm" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth.spec.ts", "column": 16, "line": 512 } } ], "status": "unexpected" } ], "id": "d748ac400d08b85935ef-f68285534433ec8ebacd", "file": "auth.spec.ts", "line": 509, "column": 3 } ] } ] } ], "errors": [], "stats": { "startTime": "2026-01-10T21:50:19.099Z", "duration": 137843.98500000002, "expected": 15, "skipped": 0, "unexpected": 21, "flaky": 0 } }