{ "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-flow.spec.ts", "file": "auth-flow.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "Complete Auth Flow E2E", "file": "auth-flow.spec.ts", "line": 26, "column": 6, "specs": [ { "title": "should register a new user with valid email", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "failed", "duration": 13071, "error": { "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32mtrue\u001b[39m\nReceived: \u001b[31mfalse\u001b[39m", "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32mtrue\u001b[39m\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts:110:30", "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts", "column": 30, "line": 110 }, "snippet": " 108 | .isVisible({ timeout: 3000 })\n 109 | .catch(() => false);\n> 110 | expect(successMessage).toBe(true);\n | ^\n 111 | console.log('โœ… [AUTH-FLOW] Registration successful (success message shown)');\n 112 | }\n 113 |" }, "errors": [ { "location": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts", "column": 30, "line": 110 }, "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32mtrue\u001b[39m\nReceived: \u001b[31mfalse\u001b[39m\n\n 108 | .isVisible({ timeout: 3000 })\n 109 | .catch(() => false);\n> 110 | expect(successMessage).toBe(true);\n | ^\n 111 | console.log('โœ… [AUTH-FLOW] Registration successful (success message shown)');\n 112 | }\n 113 |\n at /home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts:110:30" } ], "stdout": [ { "text": "๐Ÿงช [AUTH-FLOW] Step 1: Register with valid email\n" }, { "text": "โœ๏ธ [FILL] Filling field input[name=\"email\"], input#email with value: test-flow-1766849620780@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: testuser1766849620780\n" }, { "text": "โœ… [FILL] Field input[name=\"username\"], input#username filled successfully\n" }, { "text": "โœ๏ธ [FILL] Filling field input[name=\"password\"], input#password with value: Test123456789!\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: Test123456789!\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: 500\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/register: 500\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/register: 500\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] POST http://127.0.0.1:8080/api/v1/auth/register: 500\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] [API Error] HTTP 500 error after 3 retries - Request ID: 307d5cd7-778f-48c9-b914-21d55733853b {code: 9000, message: Failed to create user, request_id: 307d5cd7-778f-48c9-b914-21d55733853b, timestamp: 2025-12-27T15:33:49Z, url: /auth/register}\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Register error: {code: 9000, message: Failed to create user, details: undefined, request_id: 307d5cd7-778f-48c9-b914-21d55733853b, timestamp: 2025-12-27T15:33:49Z}\n" }, { "text": "\n๐Ÿ“Š [AUTH-FLOW] === Final Verifications ===\n" }, { "text": "๐Ÿ”ด [AUTH-FLOW] Console errors (6):\n" }, { "text": " - Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": " - Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": " - Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": " - Failed to load resource: the server responded with a status of 500 (Internal Server Error)\n" }, { "text": " - [API Error] HTTP 500 error after 3 retries - Request ID: 307d5cd7-778f-48c9-b914-21d55733853b {code: 9000, message: Failed to create user, request_id: 307d5cd7-778f-48c9-b914-21d55733853b, timestamp: 2025-12-27T15:33:49Z, url: /auth/register}\n" }, { "text": " - Register error: {code: 9000, message: Failed to create user, details: undefined, request_id: 307d5cd7-778f-48c9-b914-21d55733853b, timestamp: 2025-12-27T15:33:49Z}\n" }, { "text": "๐Ÿ”ด [AUTH-FLOW] Network errors (4):\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/register: 500\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/register: 500\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/register: 500\n" }, { "text": " - POST http://127.0.0.1:8080/api/v1/auth/register: 500\n" } ], "stderr": [], "retry": 0, "startTime": "2025-12-27T15:33:39.668Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-97b92-a-new-user-with-valid-email-chromium/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-97b92-a-new-user-with-valid-email-chromium/video.webm" }, { "name": "error-context", "contentType": "text/markdown", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-97b92-a-new-user-with-valid-email-chromium/error-context.md" }, { "name": "trace", "contentType": "application/zip", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-97b92-a-new-user-with-valid-email-chromium/trace.zip" } ], "errorLocation": { "file": "/home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts", "column": 30, "line": 110 } } ], "status": "unexpected" } ], "id": "df6b40174562c70df515-dd266bf5fb98d1b15910", "file": "auth-flow.spec.ts", "line": 43, "column": 3 }, { "title": "should verify email after registration", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 1, "parallelIndex": 0, "status": "failed", "duration": 214, "error": { "message": "Error: page.evaluate: SecurityError: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)", "stack": "Error: page.evaluate: SecurityError: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at /home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts:141:36", "location": { "file": "", "column": 16, "line": 292 } }, "errors": [ { "location": { "file": "", "column": 16, "line": 292 }, "message": "Error: page.evaluate: SecurityError: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at /home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts:141:36" } ], "stdout": [ { "text": "๐Ÿงช [AUTH-FLOW] Step 2: Verify email\n" }, { "text": "\n๐Ÿ“Š [AUTH-FLOW] === Final Verifications ===\n" }, { "text": "โœ… [AUTH-FLOW] No console errors\n" }, { "text": "โœ… [AUTH-FLOW] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2025-12-27T15:33:53.794Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-8d1d9-fy-email-after-registration-chromium/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-8d1d9-fy-email-after-registration-chromium/video.webm" }, { "name": "trace", "contentType": "application/zip", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-8d1d9-fy-email-after-registration-chromium/trace.zip" } ], "errorLocation": { "file": "", "column": 16, "line": 292 } } ], "status": "unexpected" } ], "id": "df6b40174562c70df515-52f4b8a229ce3eb1d2fd", "file": "auth-flow.spec.ts", "line": 137, "column": 3 }, { "title": "should login successfully and verify token is stored", "ok": false, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 2, "parallelIndex": 0, "status": "failed", "duration": 225, "error": { "message": "Error: page.evaluate: SecurityError: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)", "stack": "Error: page.evaluate: SecurityError: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at /home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts:201:36", "location": { "file": "", "column": 16, "line": 292 } }, "errors": [ { "location": { "file": "", "column": 16, "line": 292 }, "message": "Error: page.evaluate: SecurityError: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at UtilityScript.evaluate (:292:16)\n at UtilityScript. (:1:44)\n at /home/senke/git/talas/veza/apps/web/e2e/auth-flow.spec.ts:201:36" } ], "stdout": [ { "text": "๐Ÿงช [AUTH-FLOW] Step 3: Login and verify token\n" }, { "text": "\n๐Ÿ“Š [AUTH-FLOW] === Final Verifications ===\n" }, { "text": "โœ… [AUTH-FLOW] No console errors\n" }, { "text": "โœ… [AUTH-FLOW] No network errors\n" } ], "stderr": [], "retry": 0, "startTime": "2025-12-27T15:33:54.714Z", "annotations": [], "attachments": [ { "name": "screenshot", "contentType": "image/png", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-8c50e--and-verify-token-is-stored-chromium/test-failed-1.png" }, { "name": "video", "contentType": "video/webm", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-8c50e--and-verify-token-is-stored-chromium/video.webm" }, { "name": "trace", "contentType": "application/zip", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-8c50e--and-verify-token-is-stored-chromium/trace.zip" } ], "errorLocation": { "file": "", "column": 16, "line": 292 } } ], "status": "unexpected" } ], "id": "df6b40174562c70df515-9813cb501eb633e27752", "file": "auth-flow.spec.ts", "line": 195, "column": 3 }, { "title": "should automatically refresh token when expiring soon", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 3, "parallelIndex": 0, "status": "passed", "duration": 12381, "errors": [], "stdout": [ { "text": "๐Ÿงช [AUTH-FLOW] Step 4: Test automatic token refresh\n" }, { "text": "๐Ÿ” [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "โณ [LOGIN] Waiting 500ms before login (1766849635815ms 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": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.251Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.253Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.254Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.257Z}\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": " โœ… TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.180Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.180Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.181Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.182Z}\n" }, { "text": " โœ… TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n" }, { "text": "โš ๏ธ [AUTH-FLOW] Token refresh not triggered (may not be expiring soon)\n" }, { "text": "\n๐Ÿ“Š [AUTH-FLOW] === Final Verifications ===\n" }, { "text": "๐Ÿ”ด [AUTH-FLOW] Console errors (16):\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.251Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.253Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.254Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:01.257Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.180Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.180Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.181Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:04.182Z}\n" }, { "text": "๐Ÿ”ด [AUTH-FLOW] Network errors (8):\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" } ], "stderr": [ { "text": "โš ๏ธ [LOGIN] Form not visible and not on dashboard. Proceeding (might fail)...\n" }, { "text": "โš ๏ธ [AUTH-FLOW] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2025-12-27T15:33:55.681Z", "annotations": [], "attachments": [ { "name": "trace", "contentType": "application/zip", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-349ea-sh-token-when-expiring-soon-chromium/trace.zip" } ] } ], "status": "expected" } ], "id": "df6b40174562c70df515-6d199b26807fa07b89e0", "file": "auth-flow.spec.ts", "line": 273, "column": 3 }, { "title": "should logout successfully and redirect to login", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 3, "parallelIndex": 0, "status": "passed", "duration": 7881, "errors": [], "stdout": [ { "text": "๐Ÿงช [AUTH-FLOW] Step 5: Logout and redirect\n" }, { "text": "๐Ÿ” [LOGIN] Attempting authentication as e2e@test.com...\n" }, { "text": "โณ [LOGIN] Waiting 500ms before login (12135ms 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": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.903Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.905Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.907Z}\n" }, { "text": "๐Ÿ”ด [NETWORK ERROR] GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": "๐Ÿ”ด [CONSOLE ERROR] Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.908Z}\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": " โœ… TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\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-FLOW] Logout successful, redirected to login\n" }, { "text": "\n๐Ÿ“Š [AUTH-FLOW] === Final Verifications ===\n" }, { "text": "๐Ÿ”ด [AUTH-FLOW] Console errors (9):\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.903Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch dashboard stats: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.905Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.907Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 404 (Not Found)\n" }, { "text": " - Failed to fetch recent activity: {code: 404, message: Request failed with status code 404, timestamp: 2025-12-27T15:34:13.908Z}\n" }, { "text": " - Failed to load resource: the server responded with a status of 400 (Bad Request)\n" }, { "text": "๐Ÿ”ด [AUTH-FLOW] Network errors (5):\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/stats: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\n" }, { "text": " - GET http://127.0.0.1:8080/api/v1/api/v1/audit/activity?limit=10: 404\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-FLOW] Test passed but had console errors\n" } ], "retry": 0, "startTime": "2025-12-27T15:34:08.414Z", "annotations": [], "attachments": [ { "name": "trace", "contentType": "application/zip", "path": "/home/senke/git/talas/veza/apps/web/test-results/auth-flow-Complete-Auth-Fl-14a19-fully-and-redirect-to-login-chromium/trace.zip" } ] } ], "status": "expected" } ], "id": "df6b40174562c70df515-4ca1ce2371dbebeae00d", "file": "auth-flow.spec.ts", "line": 333, "column": 3 } ] } ] } ], "errors": [], "stats": { "startTime": "2025-12-27T15:33:38.492Z", "duration": 38051.429, "expected": 2, "skipped": 0, "unexpected": 3, "flaky": 0 } }