🎨 **True Light/Dark Mode** - Implemented proper light mode with inverted color scheme - Smooth theme transitions (0.3s ease) - Light mode colors: white backgrounds, dark text, vibrant accents - System theme detection with proper class application 🌈 **Enhanced Theme System** - 4 color themes work in both light and dark modes - Cyber (cyan/magenta), Ocean (blue/teal), Forest (green/lime), Sunset (orange/purple) - Theme-specific glassmorphism effects - Proper contrast in light mode ✨ **Premium Animations** - Float, glow-pulse, slide-in, scale-in, rotate-in animations - Smooth page transitions - Hover effects with depth (lift, glow, scale) - Micro-interactions on all interactive elements 🎯 **Visual Polish** - Enhanced glassmorphism for light/dark modes - Custom scrollbar with theme colors - Beautiful text selection - Focus indicators for accessibility - Premium utility classes 🔧 **Technical Improvements** - Updated UIStore to properly apply light/dark classes - Added data-theme attribute for CSS targeting - Smooth scroll behavior - Optimized transitions The app is now a visual masterpiece with perfect light/dark mode support!
3088 lines
No EOL
205 KiB
JSON
3088 lines
No EOL
205 KiB
JSON
{
|
|
"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
|
|
}
|
|
} |