veza/apps/web/e2e-results.json
2026-01-04 01:44:23 +01:00

4905 lines
No EOL
387 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": "mvp-integration.spec.ts",
"file": "mvp-integration.spec.ts",
"column": 0,
"line": 0,
"specs": [],
"suites": [
{
"title": "MVP Integration Tests - Exhaustifs",
"file": "mvp-integration.spec.ts",
"line": 42,
"column": 6,
"specs": [],
"suites": [
{
"title": "1. Authentication Flow",
"file": "mvp-integration.spec.ts",
"line": 51,
"column": 8,
"specs": [],
"suites": [
{
"title": "Unauthenticated tests",
"file": "mvp-integration.spec.ts",
"line": 53,
"column": 10,
"specs": [
{
"title": "1.1 - Login page loads correctly",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 1629,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:18:13.569Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-be5e0fbc4f6682284cc9",
"file": "mvp-integration.spec.ts",
"line": 57,
"column": 7
},
{
"title": "1.2 - Register page loads correctly",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 565,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:18:15.276Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-f7e466c695e5a862b8e3",
"file": "mvp-integration.spec.ts",
"line": 82,
"column": 7
},
{
"title": "1.3 - Can register new user",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 2343,
"errors": [],
"stdout": [
{
"text": "User registered successfully via API\n"
},
{
"text": "User verified - can login after registration\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:18:15.857Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-6fdba03834c145834c82",
"file": "mvp-integration.spec.ts",
"line": 96,
"column": 7
},
{
"title": "1.4 - Can login with registered user",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 2208,
"errors": [],
"stdout": [
{
"text": "Test user registered successfully via API\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:18:18.213Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-01e876dd560f187af754",
"file": "mvp-integration.spec.ts",
"line": 160,
"column": 7
},
{
"title": "1.5 - Protected route redirects when not logged in",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 672,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:18:20.439Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-5c5b6a5eb8219cd7a1f8",
"file": "mvp-integration.spec.ts",
"line": 342,
"column": 7
},
{
"title": "1.1 - Login page loads correctly",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 15,
"parallelIndex": 0,
"status": "passed",
"duration": 2184,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:29:54.169Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-d84504f3a4366c07772f",
"file": "mvp-integration.spec.ts",
"line": 57,
"column": 7
},
{
"title": "1.2 - Register page loads correctly",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 15,
"parallelIndex": 0,
"status": "passed",
"duration": 607,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:29:56.962Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-1a1150fafbf917826c95",
"file": "mvp-integration.spec.ts",
"line": 82,
"column": 7
},
{
"title": "1.3 - Can register new user",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 15,
"parallelIndex": 0,
"status": "passed",
"duration": 2321,
"errors": [],
"stdout": [
{
"text": "User registered successfully via API\n"
},
{
"text": "User verified - can login after registration\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:29:57.587Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-c1aa5e267d26955aa66d",
"file": "mvp-integration.spec.ts",
"line": 96,
"column": 7
},
{
"title": "1.4 - Can login with registered user",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 15,
"parallelIndex": 0,
"status": "passed",
"duration": 2308,
"errors": [],
"stdout": [
{
"text": "Test user registered successfully via API\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:29:59.920Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-2ac38895118ba04624db",
"file": "mvp-integration.spec.ts",
"line": 160,
"column": 7
},
{
"title": "1.5 - Protected route redirects when not logged in",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 15,
"parallelIndex": 0,
"status": "passed",
"duration": 999,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:30:02.238Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-498db7c446cd73af1176",
"file": "mvp-integration.spec.ts",
"line": 342,
"column": 7
},
{
"title": "1.1 - Login page loads correctly",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 30,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:56.403Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-1309a2e6b53b675adb67",
"file": "mvp-integration.spec.ts",
"line": 57,
"column": 7
},
{
"title": "1.2 - Register page loads correctly",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 31,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:57.115Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-a43ca92baab99d59897b",
"file": "mvp-integration.spec.ts",
"line": 82,
"column": 7
},
{
"title": "1.3 - Can register new user",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 32,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:57.887Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-9450b3c875e31885ff89",
"file": "mvp-integration.spec.ts",
"line": 96,
"column": 7
},
{
"title": "1.4 - Can login with registered user",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 33,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:58.643Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-66c09b63579b0e8784ad",
"file": "mvp-integration.spec.ts",
"line": 160,
"column": 7
},
{
"title": "1.5 - Protected route redirects when not logged in",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 34,
"parallelIndex": 0,
"status": "failed",
"duration": 4,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:59.328Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-9ce59b4d17a7daac26e3",
"file": "mvp-integration.spec.ts",
"line": 342,
"column": 7
},
{
"title": "1.1 - Login page loads correctly",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 1533,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:12.324Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-4c89419d9a5663a04004",
"file": "mvp-integration.spec.ts",
"line": 57,
"column": 7
},
{
"title": "1.2 - Register page loads correctly",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 541,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:13.918Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-3dc2b04c106b962cca98",
"file": "mvp-integration.spec.ts",
"line": 82,
"column": 7
},
{
"title": "1.3 - Can register new user",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 2394,
"errors": [],
"stdout": [
{
"text": "User registered successfully via API\n"
},
{
"text": "User verified - can login after registration\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:14.474Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-fe88f3ab59bfdf2feda6",
"file": "mvp-integration.spec.ts",
"line": 96,
"column": 7
},
{
"title": "1.4 - Can login with registered user",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 2238,
"errors": [],
"stdout": [
{
"text": "Test user registered successfully via API\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:16.885Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-edc953ebc3457cfb8a18",
"file": "mvp-integration.spec.ts",
"line": 160,
"column": 7
},
{
"title": "1.5 - Protected route redirects when not logged in",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 742,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:19.144Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-6c0f9af1b6cd7aa9542e",
"file": "mvp-integration.spec.ts",
"line": 342,
"column": 7
}
]
},
{
"title": "Authenticated tests",
"file": "mvp-integration.spec.ts",
"line": 361,
"column": 10,
"specs": [
{
"title": "1.6 - Can logout",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 486,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:18:21.123Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-3d23f0ac29f971b28f92",
"file": "mvp-integration.spec.ts",
"line": 362,
"column": 7
},
{
"title": "1.6 - Can logout",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 15,
"parallelIndex": 0,
"status": "passed",
"duration": 625,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:30:03.250Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-c07d74ef82df045fed61",
"file": "mvp-integration.spec.ts",
"line": 362,
"column": 7
},
{
"title": "1.6 - Can logout",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 35,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:00.079Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-d6b9f7864b4599f74ea1",
"file": "mvp-integration.spec.ts",
"line": 362,
"column": 7
},
{
"title": "1.6 - Can logout",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 422,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:19.902Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-4ede48d85d6ca3e23ab3",
"file": "mvp-integration.spec.ts",
"line": 362,
"column": 7
}
]
}
]
},
{
"title": "2. Dashboard & Navigation",
"file": "mvp-integration.spec.ts",
"line": 390,
"column": 8,
"specs": [
{
"title": "2.1 - Dashboard loads without errors",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61950,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"snippet": "\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 395
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 396 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 397 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 398 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:395:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:18:21.625Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-d0e5b-hboard-loads-without-errors-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-d0e5b-hboard-loads-without-errors-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-d0e5b-hboard-loads-without-errors-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-b6aee5a4b63aa68dbb7b",
"file": "mvp-integration.spec.ts",
"line": 401,
"column": 5
},
{
"title": "2.2 - Navigation works",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 1,
"parallelIndex": 0,
"status": "timedOut",
"duration": 60396,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"snippet": "\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 395
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 396 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 397 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 398 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:395:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:19:24.180Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-b9835-tion-2-2---Navigation-works-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-b9835-tion-2-2---Navigation-works-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-b9835-tion-2-2---Navigation-works-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-3197e58de4c0ce61d7e9",
"file": "mvp-integration.spec.ts",
"line": 419,
"column": 5
},
{
"title": "2.1 - Dashboard loads without errors",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 15,
"parallelIndex": 0,
"status": "timedOut",
"duration": 60090,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"snippet": "\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 395
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 396 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 397 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 398 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:395:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:30:03.891Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-d0e5b-hboard-loads-without-errors-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-d0e5b-hboard-loads-without-errors-firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-d0e5b-hboard-loads-without-errors-firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-0cb9bb559cd6fd8674ad",
"file": "mvp-integration.spec.ts",
"line": 401,
"column": 5
},
{
"title": "2.2 - Navigation works",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 16,
"parallelIndex": 0,
"status": "timedOut",
"duration": 60097,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"snippet": "\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 390 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'2. Dashboard & Navigation'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 391 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 392 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:392:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 395
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 393 |\u001b[39m \u001b[90m// Login before each test\u001b[39m\n \u001b[90m 394 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 395 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 396 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 397 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 398 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:395:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:31:04.949Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-b9835-tion-2-2---Navigation-works-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-b9835-tion-2-2---Navigation-works-firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-b9835-tion-2-2---Navigation-works-firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 392
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-e5169f0f7891f1ee5a3e",
"file": "mvp-integration.spec.ts",
"line": 419,
"column": 5
},
{
"title": "2.1 - Dashboard loads without errors",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 36,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:00.848Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-eea86925fa2f7868b05b",
"file": "mvp-integration.spec.ts",
"line": 401,
"column": 5
},
{
"title": "2.2 - Navigation works",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 37,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:01.554Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-2afd333767aded58edf1",
"file": "mvp-integration.spec.ts",
"line": 419,
"column": 5
},
{
"title": "2.1 - Dashboard loads without errors",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 1575,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:20.335Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-0afd2f9bfc66628e2259",
"file": "mvp-integration.spec.ts",
"line": 401,
"column": 5
},
{
"title": "2.2 - Navigation works",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 885,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:21.922Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-e90783a79eeb61be1249",
"file": "mvp-integration.spec.ts",
"line": 419,
"column": 5
}
]
},
{
"title": "3. Tracks Management",
"file": "mvp-integration.spec.ts",
"line": 437,
"column": 8,
"specs": [
{
"title": "3.1 - Tracks page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 2,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61808,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:439:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
},
"snippet": "\u001b[0m \u001b[90m 437 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'3. Tracks Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 438 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 440 |\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 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 437 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'3. Tracks Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 438 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 440 |\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 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:439:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 441
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 440 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 443 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 444 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:441:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:20:25.924Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-e5cde-ent-3-1---Tracks-page-loads-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-e5cde-ent-3-1---Tracks-page-loads-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-e5cde-ent-3-1---Tracks-page-loads-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-cf119e5245e80b82032c",
"file": "mvp-integration.spec.ts",
"line": 447,
"column": 5
},
{
"title": "3.2 - Upload track button exists",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 3,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61642,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:439:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
},
"snippet": "\u001b[0m \u001b[90m 437 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'3. Tracks Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 438 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 440 |\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 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 437 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'3. Tracks Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 438 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 440 |\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 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:439:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 441
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 440 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 443 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 444 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:441:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:21:28.519Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-4a867--Upload-track-button-exists-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-4a867--Upload-track-button-exists-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-4a867--Upload-track-button-exists-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-79a9764b76ef6081d40e",
"file": "mvp-integration.spec.ts",
"line": 456,
"column": 5
},
{
"title": "3.1 - Tracks page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 17,
"parallelIndex": 0,
"status": "timedOut",
"duration": 60092,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:439:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
},
"snippet": "\u001b[0m \u001b[90m 437 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'3. Tracks Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 438 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 440 |\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 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 437 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'3. Tracks Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 438 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 440 |\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 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:439:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 441
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 439 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 440 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 441 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 443 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 444 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:441:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:32:06.330Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-e5cde-ent-3-1---Tracks-page-loads-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-e5cde-ent-3-1---Tracks-page-loads-firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-e5cde-ent-3-1---Tracks-page-loads-firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 439
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-4729c0ac91d3d0730bdc",
"file": "mvp-integration.spec.ts",
"line": 447,
"column": 5
},
{
"title": "3.2 - Upload track button exists",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 18,
"parallelIndex": 0,
"status": "failed",
"duration": 3468,
"error": {
"message": "Error: page.waitForURL: NS_ERROR_FAILURE\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================",
"stack": "Error: page.waitForURL: NS_ERROR_FAILURE\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:444:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 444
},
"snippet": "\u001b[0m \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 443 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 444 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 445 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 446 |\u001b[39m\n \u001b[90m 447 |\u001b[39m test(\u001b[32m'3.1 - Tracks page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 444
},
"message": "Error: page.waitForURL: NS_ERROR_FAILURE\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================\n\n\u001b[0m \u001b[90m 442 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 443 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 444 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 445 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 446 |\u001b[39m\n \u001b[90m 447 |\u001b[39m test(\u001b[32m'3.1 - Tracks page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:444:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:33:07.711Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-4a867--Upload-track-button-exists-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-4a867--Upload-track-button-exists-firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-4a867--Upload-track-button-exists-firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 444
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-2d872de8ba5405d124f2",
"file": "mvp-integration.spec.ts",
"line": 456,
"column": 5
},
{
"title": "3.1 - Tracks page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 38,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:02.271Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-8064dca9c6f4a1c37a7e",
"file": "mvp-integration.spec.ts",
"line": 447,
"column": 5
},
{
"title": "3.2 - Upload track button exists",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 39,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:02.989Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-7c650d1363e839d59f49",
"file": "mvp-integration.spec.ts",
"line": 456,
"column": 5
},
{
"title": "3.1 - Tracks page loads",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 1788,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:22.825Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-8fe529064069235e399b",
"file": "mvp-integration.spec.ts",
"line": 447,
"column": 5
},
{
"title": "3.2 - Upload track button exists",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 1136,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:24.625Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-f4ae9be6e62f6d783905",
"file": "mvp-integration.spec.ts",
"line": 456,
"column": 5
}
]
},
{
"title": "4. Playlists Management",
"file": "mvp-integration.spec.ts",
"line": 464,
"column": 8,
"specs": [
{
"title": "4.1 - Playlists page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 4,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61861,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:466:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 466
},
"snippet": "\u001b[0m \u001b[90m 464 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'4. Playlists Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 465 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 466 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 467 |\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 468 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 466
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 464 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'4. Playlists Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 465 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 466 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 467 |\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 468 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:466:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 468
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 466 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 467 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 468 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 470 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 471 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:468:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:22:30.887Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-9c1ae--4-1---Playlists-page-loads-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-9c1ae--4-1---Playlists-page-loads-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-9c1ae--4-1---Playlists-page-loads-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 466
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-bae20f1fec0663fb4e90",
"file": "mvp-integration.spec.ts",
"line": 474,
"column": 5
},
{
"title": "4.2 - Can create playlist",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 5,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61675,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:466:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 466
},
"snippet": "\u001b[0m \u001b[90m 464 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'4. Playlists Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 465 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 466 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 467 |\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 468 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 466
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 464 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'4. Playlists Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 465 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 466 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 467 |\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 468 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:466:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 468
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 466 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 467 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 468 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 470 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 471 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:468:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:23:33.399Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-78e7e-t-4-2---Can-create-playlist-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-78e7e-t-4-2---Can-create-playlist-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-78e7e-t-4-2---Can-create-playlist-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 466
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-2591999106c62064a288",
"file": "mvp-integration.spec.ts",
"line": 479,
"column": 5
},
{
"title": "4.1 - Playlists page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 19,
"parallelIndex": 0,
"status": "failed",
"duration": 16628,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:471:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 471
},
"snippet": "\u001b[0m \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 470 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 471 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 472 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 473 |\u001b[39m\n \u001b[90m 474 |\u001b[39m test(\u001b[32m'4.1 - Playlists page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 471
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 470 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 471 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 472 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 473 |\u001b[39m\n \u001b[90m 474 |\u001b[39m test(\u001b[32m'4.1 - Playlists page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:471:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:33:12.459Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-9c1ae--4-1---Playlists-page-loads-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-9c1ae--4-1---Playlists-page-loads-firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-9c1ae--4-1---Playlists-page-loads-firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 471
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-0aa518fc93e3e3eee8d0",
"file": "mvp-integration.spec.ts",
"line": 474,
"column": 5
},
{
"title": "4.2 - Can create playlist",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 20,
"parallelIndex": 0,
"status": "failed",
"duration": 16737,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:471:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 471
},
"snippet": "\u001b[0m \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 470 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 471 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 472 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 473 |\u001b[39m\n \u001b[90m 474 |\u001b[39m test(\u001b[32m'4.1 - Playlists page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 471
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 469 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 470 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 471 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 472 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 473 |\u001b[39m\n \u001b[90m 474 |\u001b[39m test(\u001b[32m'4.1 - Playlists page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:471:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:33:30.333Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-78e7e-t-4-2---Can-create-playlist-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-78e7e-t-4-2---Can-create-playlist-firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-78e7e-t-4-2---Can-create-playlist-firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 471
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-342ad3c14e1a09752050",
"file": "mvp-integration.spec.ts",
"line": 479,
"column": 5
},
{
"title": "4.1 - Playlists page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 40,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:03.794Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-84b2f6fd39d550eb18c7",
"file": "mvp-integration.spec.ts",
"line": 474,
"column": 5
},
{
"title": "4.2 - Can create playlist",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 41,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:04.546Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-713f5ee13a35f9d28602",
"file": "mvp-integration.spec.ts",
"line": 479,
"column": 5
},
{
"title": "4.1 - Playlists page loads",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 2351,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:25.771Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-ea58089a8320675da581",
"file": "mvp-integration.spec.ts",
"line": 474,
"column": 5
},
{
"title": "4.2 - Can create playlist",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 1144,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:28.132Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-79c0173f3375b73e9b30",
"file": "mvp-integration.spec.ts",
"line": 479,
"column": 5
}
]
},
{
"title": "5. Profile Management",
"file": "mvp-integration.spec.ts",
"line": 499,
"column": 8,
"specs": [
{
"title": "5.1 - Profile page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 6,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61962,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:501:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 501
},
"snippet": "\u001b[0m \u001b[90m 499 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'5. Profile Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 500 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 501 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 502 |\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 503 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 501
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 499 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'5. Profile Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 500 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 501 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 502 |\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 503 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:501:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 503
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 501 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 502 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 503 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 505 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 506 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:503:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:24:35.769Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-20809-nt-5-1---Profile-page-loads-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-20809-nt-5-1---Profile-page-loads-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-20809-nt-5-1---Profile-page-loads-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 501
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-9bf2a323230b3a6e2fc6",
"file": "mvp-integration.spec.ts",
"line": 509,
"column": 5
},
{
"title": "5.2 - Can update profile",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 7,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61667,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:501:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 501
},
"snippet": "\u001b[0m \u001b[90m 499 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'5. Profile Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 500 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 501 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 502 |\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 503 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 501
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 499 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'5. Profile Management'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 500 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 501 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 502 |\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 503 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:501:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 503
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 501 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 502 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 503 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 505 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 506 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:503:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:25:38.363Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-eefd2-nt-5-2---Can-update-profile-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-eefd2-nt-5-2---Can-update-profile-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-eefd2-nt-5-2---Can-update-profile-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 501
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-9c5007796de46c186182",
"file": "mvp-integration.spec.ts",
"line": 517,
"column": 5
},
{
"title": "5.1 - Profile page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 21,
"parallelIndex": 0,
"status": "failed",
"duration": 16680,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:506:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 506
},
"snippet": "\u001b[0m \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 505 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 506 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 507 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 508 |\u001b[39m\n \u001b[90m 509 |\u001b[39m test(\u001b[32m'5.1 - Profile page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 506
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 505 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 506 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 507 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 508 |\u001b[39m\n \u001b[90m 509 |\u001b[39m test(\u001b[32m'5.1 - Profile page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:506:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:33:48.406Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-20809-nt-5-1---Profile-page-loads-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-20809-nt-5-1---Profile-page-loads-firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-20809-nt-5-1---Profile-page-loads-firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 506
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-837e6ba405cefaa95159",
"file": "mvp-integration.spec.ts",
"line": 509,
"column": 5
},
{
"title": "5.2 - Can update profile",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 22,
"parallelIndex": 0,
"status": "failed",
"duration": 1922,
"error": {
"message": "Error: page.waitForURL: NS_BINDING_ABORTED\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================",
"stack": "Error: page.waitForURL: NS_BINDING_ABORTED\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:506:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 506
},
"snippet": "\u001b[0m \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 505 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 506 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 507 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 508 |\u001b[39m\n \u001b[90m 509 |\u001b[39m test(\u001b[32m'5.1 - Profile page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 506
},
"message": "Error: page.waitForURL: NS_BINDING_ABORTED\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================\n\n\u001b[0m \u001b[90m 504 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 505 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 506 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 507 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 508 |\u001b[39m\n \u001b[90m 509 |\u001b[39m test(\u001b[32m'5.1 - Profile page loads'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:506:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:06.401Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-eefd2-nt-5-2---Can-update-profile-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-eefd2-nt-5-2---Can-update-profile-firefox/video.webm"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 506
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-70b1981976dfed45a9c7",
"file": "mvp-integration.spec.ts",
"line": 517,
"column": 5
},
{
"title": "5.1 - Profile page loads",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 42,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:05.227Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-1cb3a98219e6d9b3a2c9",
"file": "mvp-integration.spec.ts",
"line": 509,
"column": 5
},
{
"title": "5.2 - Can update profile",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 43,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:05.962Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-e4441cfa59fb20c5e076",
"file": "mvp-integration.spec.ts",
"line": 517,
"column": 5
},
{
"title": "5.1 - Profile page loads",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 1951,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:29.285Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-8f1a87683a57701cdbe1",
"file": "mvp-integration.spec.ts",
"line": 509,
"column": 5
},
{
"title": "5.2 - Can update profile",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "passed",
"duration": 1816,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:31.248Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-5829d6f28352d2bd637f",
"file": "mvp-integration.spec.ts",
"line": 517,
"column": 5
}
]
},
{
"title": "6. API Response Validation",
"file": "mvp-integration.spec.ts",
"line": 538,
"column": 8,
"specs": [
{
"title": "6.1 - API returns correct response format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 8,
"parallelIndex": 0,
"status": "failed",
"duration": 25,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"snippet": "\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n\n\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:26:40.734Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-cd23adfa00876e39f36d",
"file": "mvp-integration.spec.ts",
"line": 540,
"column": 5
},
{
"title": "6.2 - User ID is string UUID",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 9,
"parallelIndex": 0,
"status": "failed",
"duration": 23,
"error": {
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)",
"stack": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"snippet": "\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n\n\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:26:41.404Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-d5c61504b74ec6dd9796",
"file": "mvp-integration.spec.ts",
"line": 562,
"column": 5
},
{
"title": "6.3 - Error responses have correct format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 10,
"parallelIndex": 0,
"status": "failed",
"duration": 25,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"snippet": "\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:26:42.076Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-3a4c5be74ddda3fc7fc5",
"file": "mvp-integration.spec.ts",
"line": 591,
"column": 5
},
{
"title": "6.1 - API returns correct response format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 23,
"parallelIndex": 0,
"status": "failed",
"duration": 26,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"snippet": "\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n\n\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:09.751Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-b0f097169841dd60f6b6",
"file": "mvp-integration.spec.ts",
"line": 540,
"column": 5
},
{
"title": "6.2 - User ID is string UUID",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 24,
"parallelIndex": 0,
"status": "failed",
"duration": 27,
"error": {
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)",
"stack": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"snippet": "\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n\n\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:10.381Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-b445ff2f921f5b9b0794",
"file": "mvp-integration.spec.ts",
"line": 562,
"column": 5
},
{
"title": "6.3 - Error responses have correct format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 25,
"parallelIndex": 0,
"status": "failed",
"duration": 25,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"snippet": "\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:11.056Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-3d53b42e62a93169460a",
"file": "mvp-integration.spec.ts",
"line": 591,
"column": 5
},
{
"title": "6.1 - API returns correct response format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 44,
"parallelIndex": 0,
"status": "failed",
"duration": 24,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"snippet": "\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n\n\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:06.710Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-03ecbbf81429fa1b3914",
"file": "mvp-integration.spec.ts",
"line": 540,
"column": 5
},
{
"title": "6.2 - User ID is string UUID",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 45,
"parallelIndex": 0,
"status": "failed",
"duration": 24,
"error": {
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)",
"stack": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"snippet": "\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n\n\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:07.339Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-94bf6e1ea25cc0e63d93",
"file": "mvp-integration.spec.ts",
"line": 562,
"column": 5
},
{
"title": "6.3 - Error responses have correct format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 46,
"parallelIndex": 0,
"status": "failed",
"duration": 24,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"snippet": "\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:08.078Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-cd73ea20e7f1c0fb2d7c",
"file": "mvp-integration.spec.ts",
"line": 591,
"column": 5
},
{
"title": "6.1 - API returns correct response format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 52,
"parallelIndex": 0,
"status": "failed",
"duration": 8,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"snippet": "\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n\n\u001b[0m \u001b[90m 547 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 548 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 549 |\u001b[39m expect(loginResponse\u001b[33m.\u001b[39mok())\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 550 |\u001b[39m \n \u001b[90m 551 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 552 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:549:34\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:33.075Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 34,
"line": 549
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-65bbfc663ee4fe7b5854",
"file": "mvp-integration.spec.ts",
"line": 540,
"column": 5
},
{
"title": "6.2 - User ID is string UUID",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 53,
"parallelIndex": 0,
"status": "failed",
"duration": 24,
"error": {
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)",
"stack": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"snippet": "\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
},
"message": "SyntaxError: Unexpected non-whitespace character after JSON at position 4 (line 1 column 5)\n\n\u001b[0m \u001b[90m 569 |\u001b[39m }\n \u001b[90m 570 |\u001b[39m })\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 571 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m loginResponse\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 572 |\u001b[39m accessToken \u001b[33m=\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39maccess_token \u001b[33m||\u001b[39m data\u001b[33m.\u001b[39mdata\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mtoken\u001b[33m?\u001b[39m\u001b[33m.\u001b[39maccess_token\u001b[33m;\u001b[39m\n \u001b[90m 573 |\u001b[39m }\n \u001b[90m 574 |\u001b[39m \u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:571:22\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:33.803Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 22,
"line": 571
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-2c4c47e0e20bbcd8246f",
"file": "mvp-integration.spec.ts",
"line": 562,
"column": 5
},
{
"title": "6.3 - Error responses have correct format",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 54,
"parallelIndex": 0,
"status": "failed",
"duration": 66,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"snippet": "\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m401\u001b[39m\nReceived: \u001b[31m404\u001b[39m\n\n\u001b[0m \u001b[90m 597 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 598 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 599 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus())\u001b[33m.\u001b[39mtoBe(\u001b[35m401\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 600 |\u001b[39m \n \u001b[90m 601 |\u001b[39m \u001b[36mconst\u001b[39m data \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m response\u001b[33m.\u001b[39mjson()\u001b[33m;\u001b[39m\n \u001b[90m 602 |\u001b[39m \u001b[90m// Should have error info\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:599:33\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:34.478Z",
"annotations": [],
"attachments": [],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 33,
"line": 599
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-2a700d9ac42504d3f915",
"file": "mvp-integration.spec.ts",
"line": 591,
"column": 5
}
]
},
{
"title": "7. Error Handling",
"file": "mvp-integration.spec.ts",
"line": 607,
"column": 8,
"specs": [
{
"title": "7.1 - 404 page exists",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 11,
"parallelIndex": 0,
"status": "failed",
"duration": 526,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:616:37",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
},
"snippet": "\u001b[0m \u001b[90m 614 |\u001b[39m \u001b[36mconst\u001b[39m isRedirected \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39murl()\u001b[33m.\u001b[39mincludes(\u001b[32m'login'\u001b[39m) \u001b[33m||\u001b[39m page\u001b[33m.\u001b[39murl() \u001b[33m===\u001b[39m \u001b[32m`${TEST_CONFIG.FRONTEND_URL}/`\u001b[39m\u001b[33m;\u001b[39m\n \u001b[90m 615 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 616 |\u001b[39m expect(is404 \u001b[33m||\u001b[39m isRedirected)\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 617 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 618 |\u001b[39m\n \u001b[90m 619 |\u001b[39m test(\u001b[32m'7.2 - Network error handling'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n\n\u001b[0m \u001b[90m 614 |\u001b[39m \u001b[36mconst\u001b[39m isRedirected \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39murl()\u001b[33m.\u001b[39mincludes(\u001b[32m'login'\u001b[39m) \u001b[33m||\u001b[39m page\u001b[33m.\u001b[39murl() \u001b[33m===\u001b[39m \u001b[32m`${TEST_CONFIG.FRONTEND_URL}/`\u001b[39m\u001b[33m;\u001b[39m\n \u001b[90m 615 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 616 |\u001b[39m expect(is404 \u001b[33m||\u001b[39m isRedirected)\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 617 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 618 |\u001b[39m\n \u001b[90m 619 |\u001b[39m test(\u001b[32m'7.2 - Network error handling'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:616:37\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:26:43.071Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-b38b0d7e6bbd78b18482",
"file": "mvp-integration.spec.ts",
"line": 609,
"column": 5
},
{
"title": "7.2 - Network error handling",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 12,
"parallelIndex": 0,
"status": "passed",
"duration": 2845,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:26:44.288Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-23d6e366982fc1962abf",
"file": "mvp-integration.spec.ts",
"line": 619,
"column": 5
},
{
"title": "7.1 - 404 page exists",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 26,
"parallelIndex": 0,
"status": "failed",
"duration": 1371,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:616:37",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
},
"snippet": "\u001b[0m \u001b[90m 614 |\u001b[39m \u001b[36mconst\u001b[39m isRedirected \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39murl()\u001b[33m.\u001b[39mincludes(\u001b[32m'login'\u001b[39m) \u001b[33m||\u001b[39m page\u001b[33m.\u001b[39murl() \u001b[33m===\u001b[39m \u001b[32m`${TEST_CONFIG.FRONTEND_URL}/`\u001b[39m\u001b[33m;\u001b[39m\n \u001b[90m 615 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 616 |\u001b[39m expect(is404 \u001b[33m||\u001b[39m isRedirected)\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 617 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 618 |\u001b[39m\n \u001b[90m 619 |\u001b[39m test(\u001b[32m'7.2 - Network error handling'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n\n\u001b[0m \u001b[90m 614 |\u001b[39m \u001b[36mconst\u001b[39m isRedirected \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39murl()\u001b[33m.\u001b[39mincludes(\u001b[32m'login'\u001b[39m) \u001b[33m||\u001b[39m page\u001b[33m.\u001b[39murl() \u001b[33m===\u001b[39m \u001b[32m`${TEST_CONFIG.FRONTEND_URL}/`\u001b[39m\u001b[33m;\u001b[39m\n \u001b[90m 615 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 616 |\u001b[39m expect(is404 \u001b[33m||\u001b[39m isRedirected)\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 617 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 618 |\u001b[39m\n \u001b[90m 619 |\u001b[39m test(\u001b[32m'7.2 - Network error handling'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:616:37\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:11.718Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-firefox/video.webm"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-afc8dd199384cf264b0b",
"file": "mvp-integration.spec.ts",
"line": 609,
"column": 5
},
{
"title": "7.2 - Network error handling",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 27,
"parallelIndex": 0,
"status": "passed",
"duration": 3313,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:14.409Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-2b4d8f703d5410323af4",
"file": "mvp-integration.spec.ts",
"line": 619,
"column": 5
},
{
"title": "7.1 - 404 page exists",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 47,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:08.778Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-0d75530f13556a58dd89",
"file": "mvp-integration.spec.ts",
"line": 609,
"column": 5
},
{
"title": "7.2 - Network error handling",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 48,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:09.502Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-1bcb4f154c323e0be74a",
"file": "mvp-integration.spec.ts",
"line": 619,
"column": 5
},
{
"title": "7.1 - 404 page exists",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 55,
"parallelIndex": 0,
"status": "failed",
"duration": 648,
"error": {
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m",
"stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:616:37",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
},
"snippet": "\u001b[0m \u001b[90m 614 |\u001b[39m \u001b[36mconst\u001b[39m isRedirected \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39murl()\u001b[33m.\u001b[39mincludes(\u001b[32m'login'\u001b[39m) \u001b[33m||\u001b[39m page\u001b[33m.\u001b[39murl() \u001b[33m===\u001b[39m \u001b[32m`${TEST_CONFIG.FRONTEND_URL}/`\u001b[39m\u001b[33m;\u001b[39m\n \u001b[90m 615 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 616 |\u001b[39m expect(is404 \u001b[33m||\u001b[39m isRedirected)\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 617 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 618 |\u001b[39m\n \u001b[90m 619 |\u001b[39m test(\u001b[32m'7.2 - Network error handling'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
},
"message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeTruthy\u001b[2m()\u001b[22m\n\nReceived: \u001b[31mfalse\u001b[39m\n\n\u001b[0m \u001b[90m 614 |\u001b[39m \u001b[36mconst\u001b[39m isRedirected \u001b[33m=\u001b[39m page\u001b[33m.\u001b[39murl()\u001b[33m.\u001b[39mincludes(\u001b[32m'login'\u001b[39m) \u001b[33m||\u001b[39m page\u001b[33m.\u001b[39murl() \u001b[33m===\u001b[39m \u001b[32m`${TEST_CONFIG.FRONTEND_URL}/`\u001b[39m\u001b[33m;\u001b[39m\n \u001b[90m 615 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 616 |\u001b[39m expect(is404 \u001b[33m||\u001b[39m isRedirected)\u001b[33m.\u001b[39mtoBeTruthy()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 617 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 618 |\u001b[39m\n \u001b[90m 619 |\u001b[39m test(\u001b[32m'7.2 - Network error handling'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:616:37\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:35.251Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-msedge/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-msedge/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-8e28a-dling-7-1---404-page-exists-msedge/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 37,
"line": 616
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-4ce7b8b8a7c2717a5495",
"file": "mvp-integration.spec.ts",
"line": 609,
"column": 5
},
{
"title": "7.2 - Network error handling",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 56,
"parallelIndex": 0,
"status": "passed",
"duration": 2741,
"errors": [],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:36.624Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c50e3d8c82f89a880019-4dd49a5f611a907760fc",
"file": "mvp-integration.spec.ts",
"line": 619,
"column": 5
}
]
},
{
"title": "8. Responsive Design",
"file": "mvp-integration.spec.ts",
"line": 638,
"column": 8,
"specs": [
{
"title": "8.1 - Mobile viewport (375x667)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 12,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61643,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:640:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
},
"snippet": "\u001b[0m \u001b[90m 638 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'8. Responsive Design'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 639 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 641 |\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 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 638 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'8. Responsive Design'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 639 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 641 |\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 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:640:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 642
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 641 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:642:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:26:47.206Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-8be1f6b740cd1dfb1f4b",
"file": "mvp-integration.spec.ts",
"line": 648,
"column": 5
},
{
"title": "8.2 - Tablet viewport (768x1024)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 13,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61707,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:640:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
},
"snippet": "\u001b[0m \u001b[90m 638 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'8. Responsive Design'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 639 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 641 |\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 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 638 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'8. Responsive Design'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 639 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 641 |\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 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:640:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 642
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 641 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:642:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:27:49.470Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-478fa28143116d8e9e21",
"file": "mvp-integration.spec.ts",
"line": 658,
"column": 5
},
{
"title": "8.3 - Desktop viewport (1920x1080)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 14,
"parallelIndex": 0,
"status": "timedOut",
"duration": 61675,
"error": {
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m",
"stack": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:640:10",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
},
"snippet": "\u001b[0m \u001b[90m 638 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'8. Responsive Design'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 639 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 641 |\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 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
},
"message": "\u001b[31mTest timeout of 60000ms exceeded while running \"beforeEach\" hook.\u001b[39m\n\n\u001b[0m \u001b[90m 638 |\u001b[39m test\u001b[33m.\u001b[39mdescribe(\u001b[32m'8. Responsive Design'\u001b[39m\u001b[33m,\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 639 |\u001b[39m \n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 641 |\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 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:640:10\u001b[22m"
},
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 642
},
"message": "Error: page.fill: Test timeout of 60000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('input[type=\"email\"], input[name=\"email\"]')\u001b[22m\n\n\n\u001b[0m \u001b[90m 640 |\u001b[39m test\u001b[33m.\u001b[39mbeforeEach(\u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\n \u001b[90m 641 |\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[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 642 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"email\"], input[name=\"email\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39memail)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:642:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:28:51.870Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--chromium/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--chromium/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--chromium/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 10,
"line": 640
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-f6b77f1b142982acb686",
"file": "mvp-integration.spec.ts",
"line": 667,
"column": 5
},
{
"title": "8.1 - Mobile viewport (375x667)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 27,
"parallelIndex": 0,
"status": "failed",
"duration": 1299,
"error": {
"message": "Error: page.waitForURL: NS_ERROR_FAILURE\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================",
"stack": "Error: page.waitForURL: NS_ERROR_FAILURE\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"snippet": "\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"message": "Error: page.waitForURL: NS_ERROR_FAILURE\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n============================================================\n\n\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:18.120Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--firefox/video.webm"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-bec7aa72d785fcd47483",
"file": "mvp-integration.spec.ts",
"line": 648,
"column": 5
},
{
"title": "8.2 - Tablet viewport (768x1024)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 28,
"parallelIndex": 0,
"status": "failed",
"duration": 16709,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"snippet": "\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:20.370Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-1560edf6cc4a7287533e",
"file": "mvp-integration.spec.ts",
"line": 658,
"column": 5
},
{
"title": "8.3 - Desktop viewport (1920x1080)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "firefox",
"projectName": "firefox",
"results": [
{
"workerIndex": 29,
"parallelIndex": 0,
"status": "failed",
"duration": 16717,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"snippet": "\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:34:38.384Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--firefox/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--firefox/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--firefox/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-7eee3a86331fe7867c3c",
"file": "mvp-integration.spec.ts",
"line": 667,
"column": 5
},
{
"title": "8.1 - Mobile viewport (375x667)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 49,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:10.198Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-996a6d0b75012ff27755",
"file": "mvp-integration.spec.ts",
"line": 648,
"column": 5
},
{
"title": "8.2 - Tablet viewport (768x1024)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 50,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:10.914Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-725f24caa87a4419e94a",
"file": "mvp-integration.spec.ts",
"line": 658,
"column": 5
},
{
"title": "8.3 - Desktop viewport (1920x1080)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "webkit",
"projectName": "webkit",
"results": [
{
"workerIndex": 51,
"parallelIndex": 0,
"status": "failed",
"duration": 2,
"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": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:11.640Z",
"annotations": [],
"attachments": []
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-50f602f03238fa0c3494",
"file": "mvp-integration.spec.ts",
"line": 667,
"column": 5
},
{
"title": "8.1 - Mobile viewport (375x667)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 56,
"parallelIndex": 0,
"status": "failed",
"duration": 16333,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"snippet": "\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:39.444Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--msedge/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--msedge/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-299e0----Mobile-viewport-375x667--msedge/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-7aea3d0e8727f9a28654",
"file": "mvp-integration.spec.ts",
"line": 648,
"column": 5
},
{
"title": "8.2 - Tablet viewport (768x1024)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 57,
"parallelIndex": 0,
"status": "failed",
"duration": 16449,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"snippet": "\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:35:56.359Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--msedge/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--msedge/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c81b2---Tablet-viewport-768x1024--msedge/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-66e7c8b0bfaf038f253d",
"file": "mvp-integration.spec.ts",
"line": 658,
"column": 5
},
{
"title": "8.3 - Desktop viewport (1920x1080)",
"ok": false,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "msedge",
"projectName": "msedge",
"results": [
{
"workerIndex": 58,
"parallelIndex": 0,
"status": "failed",
"duration": 16337,
"error": {
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================",
"stack": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"snippet": "\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m"
},
"errors": [
{
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
},
"message": "TimeoutError: page.waitForURL: Timeout 15000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation until \"load\"\n navigated to \"http://localhost:5173/login\"\n============================================================\n\n\u001b[0m \u001b[90m 643 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mfill(\u001b[32m'input[type=\"password\"]'\u001b[39m\u001b[33m,\u001b[39m \u001b[33mTEST_USER\u001b[39m\u001b[33m.\u001b[39mpassword)\u001b[33m;\u001b[39m\n \u001b[90m 644 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mclick(\u001b[32m'button[type=\"submit\"]'\u001b[39m)\u001b[33m;\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 645 |\u001b[39m \u001b[36mawait\u001b[39m page\u001b[33m.\u001b[39mwaitForURL(\u001b[35m/\\/(dashboard|home|app)/\u001b[39m\u001b[33m,\u001b[39m { timeout\u001b[33m:\u001b[39m \u001b[35m15000\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 646 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 647 |\u001b[39m\n \u001b[90m 648 |\u001b[39m test(\u001b[32m'8.1 - Mobile viewport (375x667)'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m ({ page }) \u001b[33m=>\u001b[39m {\u001b[0m\n\u001b[2m at /home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts:645:18\u001b[22m"
}
],
"stdout": [],
"stderr": [],
"retry": 0,
"startTime": "2026-01-03T20:36:13.461Z",
"annotations": [],
"attachments": [
{
"name": "screenshot",
"contentType": "image/png",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--msedge/test-failed-1.png"
},
{
"name": "video",
"contentType": "video/webm",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--msedge/video.webm"
},
{
"name": "error-context",
"contentType": "text/markdown",
"path": "/home/senke/git/talas/veza/apps/web/test-results/mvp-integration-MVP-Integr-c9b49-Desktop-viewport-1920x1080--msedge/error-context.md"
}
],
"errorLocation": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/mvp-integration.spec.ts",
"column": 18,
"line": 645
}
}
],
"status": "unexpected"
}
],
"id": "c50e3d8c82f89a880019-24ffdadc4a1a30e0002e",
"file": "mvp-integration.spec.ts",
"line": 667,
"column": 5
}
]
}
]
}
]
}
],
"errors": [],
"stats": {
"startTime": "2026-01-03T20:18:10.167Z",
"duration": 1099772.3900000001,
"expected": 29,
"skipped": 0,
"unexpected": 59,
"flaky": 0
}
}