veza/apps/web/e2e-results.json

1346 lines
57 KiB
JSON
Raw Normal View History

2025-12-17 13:07:35 +00:00
{
"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,
2025-12-22 21:00:50 +00:00
"globalSetup": "/home/senke/git/talas/veza/apps/web/e2e/global-setup.ts",
2025-12-17 13:07:35 +00:00
"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)"
],
2025-12-22 21:00:50 +00:00
"timeout": 60000
2025-12-17 13:07:35 +00:00
}
],
"shard": null,
"tags": [],
"updateSnapshots": "missing",
"updateSourceMethod": "patch",
"version": "1.57.0",
2025-12-22 21:00:50 +00:00
"workers": 1,
2025-12-17 13:07:35 +00:00
"webServer": {
"command": "npm run dev",
"url": "http://localhost:3000",
"reuseExistingServer": true,
"timeout": 120000
}
},
"suites": [
{
2025-12-22 21:00:50 +00:00
"title": "playlists.spec.ts",
"file": "playlists.spec.ts",
2025-12-17 13:07:35 +00:00
"column": 0,
"line": 0,
"specs": [],
"suites": [
{
2025-12-22 21:00:50 +00:00
"title": "Playlists CRUD",
"file": "playlists.spec.ts",
"line": 28,
2025-12-17 13:07:35 +00:00
"column": 6,
"specs": [
{
2025-12-22 21:00:50 +00:00
"title": "should create a new playlist successfully",
2025-12-17 13:07:35 +00:00
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
2025-12-22 21:00:50 +00:00
"duration": 16677,
2025-12-17 13:07:35 +00:00
"errors": [],
"stdout": [
{
2025-12-22 21:00:50 +00:00
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "⏳ [LOGIN] Waiting 500ms before login (1766361226285ms since last login)...\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [LOGIN] Application fully hydrated\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "🧭 [NAVIGATION] Going to playlists page...\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "🧭 [NAVIGATION] Navigating to: http://localhost:3000/playlists\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [PLAYLISTS] Page fully loaded\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "🧪 [PLAYLISTS] Running: Create new playlist\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [MODAL] Modal opened successfully\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: Test Playlist 1766361239267\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "🔔 [TOAST] Waiting for success message...\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [PLAYLISTS] Playlist created successfully\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "\n📊 [PLAYLISTS] === Final Verifications ===\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [PLAYLISTS] No console errors\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "✅ [PLAYLISTS] No network errors\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2025-12-21T23:53:46.090Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "bd26eca51b3e4ada7ca2-f3e296a2f84338235416",
"file": "playlists.spec.ts",
"line": 80,
"column": 3
},
{
"title": "should display list of playlists",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 13089,
"errors": [],
"stdout": [
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (16132ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "🧭 [NAVIGATION] Going to playlists page...\n"
},
{
"text": "🧭 [NAVIGATION] Navigating to: http://localhost:3000/playlists\n"
},
{
"text": "✅ [PLAYLISTS] Page fully loaded\n"
},
{
"text": "🧪 [PLAYLISTS] Running: Display playlists list\n"
},
{
"text": "📋 [LIST] Waiting for list/table to load (min 0 rows)...\n"
},
{
"text": "✅ [LIST] List/table loaded with data\n"
},
{
"text": "✅ [PLAYLISTS] Playlists page loaded successfully\n"
},
{
"text": "\n📊 [PLAYLISTS] === Final Verifications ===\n"
},
{
"text": "✅ [PLAYLISTS] No console errors\n"
},
{
"text": "✅ [PLAYLISTS] No network errors\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2025-12-21T23:54:02.862Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "bd26eca51b3e4ada7ca2-bfbb131889640d9a23ef",
"file": "playlists.spec.ts",
"line": 137,
"column": 3
},
{
"title": "should update playlist name and description",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 20290,
"errors": [],
"stdout": [
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (12607ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "🧭 [NAVIGATION] Going to playlists page...\n"
},
{
"text": "🧭 [NAVIGATION] Navigating to: http://localhost:3000/playlists\n"
},
{
"text": "✅ [PLAYLISTS] Page fully loaded\n"
},
{
"text": "🧪 [PLAYLISTS] Running: Update playlist\n"
},
{
"text": "🧭 [NAVIGATION] Navigating via href: /playlists...\n"
},
{
"text": "✅ [NAVIGATION] Successfully navigated directly to /playlists\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: Original Playlist 1766361268982\n"
},
{
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
2025-12-17 13:07:35 +00:00
{
2025-12-22 21:00:50 +00:00
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
2025-12-17 13:07:35 +00:00
},
{
2025-12-22 21:00:50 +00:00
"text": "🔍 Clicking edit button via dispatchEvent\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist mise à jour avec succès\n"
},
{
"text": "✅ [PLAYLISTS] Playlist updated successfully\n"
},
{
"text": "\n📊 [PLAYLISTS] === Final Verifications ===\n"
},
{
"text": "✅ [PLAYLISTS] No console errors\n"
},
{
"text": "✅ [PLAYLISTS] No network errors\n"
2025-12-17 13:07:35 +00:00
}
],
"stderr": [],
2025-12-17 13:07:35 +00:00
"retry": 0,
2025-12-22 21:00:50 +00:00
"startTime": "2025-12-21T23:54:15.961Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "bd26eca51b3e4ada7ca2-42e878ca7b586c79edaf",
"file": "playlists.spec.ts",
"line": 176,
"column": 3
},
{
"title": "should add track to playlist",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [
{
"type": "skip",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts",
"line": 325,
"column": 12
}
}
],
"expectedStatus": "skipped",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "skipped",
"duration": 16425,
"errors": [],
"stdout": [
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (19783ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "🧭 [NAVIGATION] Going to playlists page...\n"
},
{
"text": "🧭 [NAVIGATION] Navigating to: http://localhost:3000/playlists\n"
},
{
"text": "✅ [PLAYLISTS] Page fully loaded\n"
},
{
"text": "🧪 [PLAYLISTS] Running: Add track to playlist\n"
},
{
"text": "🧭 [NAVIGATION] Navigating via href: /playlists...\n"
},
{
"text": "✅ [NAVIGATION] Successfully navigated directly to /playlists\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: Add Track Playlist 1766361289210\n"
},
{
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
},
{
"text": "🧭 [NAVIGATION] Navigating via href: /library...\n"
},
{
"text": "✅ [NAVIGATION] Successfully navigated via href: /library\n"
},
{
"text": "📋 [LIST] Waiting for list/table to load (min 1 rows)...\n"
},
{
"text": "✅ [LIST] List/table loaded with data\n"
},
{
"text": "\n📊 [PLAYLISTS] === Final Verifications ===\n"
},
{
"text": "✅ [PLAYLISTS] No console errors\n"
},
{
"text": "✅ [PLAYLISTS] No network errors\n"
}
],
"stderr": [
{
"text": "⚠️ [PLAYLISTS] Add to playlist button not found, skipping test\n"
}
],
"retry": 0,
"startTime": "2025-12-21T23:54:36.267Z",
"annotations": [
{
"type": "skip",
"location": {
"file": "/home/senke/git/talas/veza/apps/web/e2e/playlists.spec.ts",
"line": 325,
"column": 12
}
}
],
"attachments": []
}
],
"status": "skipped"
}
],
"id": "bd26eca51b3e4ada7ca2-30fdefbe8962dfe87af3",
"file": "playlists.spec.ts",
"line": 265,
"column": 3
},
{
"title": "should delete playlist successfully",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 21637,
"errors": [],
"stdout": [
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (15950ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "🧭 [NAVIGATION] Going to playlists page...\n"
},
{
"text": "🧭 [NAVIGATION] Navigating to: http://localhost:3000/playlists\n"
},
{
"text": "✅ [PLAYLISTS] Page fully loaded\n"
},
{
"text": "🧪 [PLAYLISTS] Running: Delete playlist\n"
},
{
"text": "🧭 [NAVIGATION] Navigating via href: /playlists...\n"
},
{
"text": "✅ [NAVIGATION] Successfully navigated directly to /playlists\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: Delete Playlist 1766361305682\n"
},
{
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist supprimée avec succès\n"
},
{
"text": "✅ [PLAYLISTS] Playlist deleted successfully\n"
},
{
"text": "\n📊 [PLAYLISTS] === Final Verifications ===\n"
},
{
"text": "✅ [PLAYLISTS] No console errors\n"
},
{
"text": "✅ [PLAYLISTS] No network errors\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2025-12-21T23:54:52.706Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "bd26eca51b3e4ada7ca2-0b60cebaff5525fce80c",
"file": "playlists.spec.ts",
"line": 347,
"column": 3
},
{
"title": "should display empty state for new playlist",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 17161,
"errors": [],
"stdout": [
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (21156ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "🧭 [NAVIGATION] Going to playlists page...\n"
},
{
"text": "🧭 [NAVIGATION] Navigating to: http://localhost:3000/playlists\n"
},
{
"text": "✅ [PLAYLISTS] Page fully loaded\n"
},
{
"text": "🧪 [PLAYLISTS] Running: Empty playlist state\n"
},
{
"text": "🧭 [NAVIGATION] Navigating via href: /playlists...\n"
},
{
"text": "✅ [NAVIGATION] Successfully navigated directly to /playlists\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: Empty Playlist 1766361327339\n"
},
{
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
},
{
"text": "✅ [PLAYLISTS] Empty state displayed correctly\n"
},
{
"text": "\n📊 [PLAYLISTS] === Final Verifications ===\n"
},
{
"text": "✅ [PLAYLISTS] No console errors\n"
},
{
"text": "✅ [PLAYLISTS] No network errors\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2025-12-21T23:55:14.359Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "bd26eca51b3e4ada7ca2-b141d67d5e3405d04030",
"file": "playlists.spec.ts",
"line": 448,
"column": 3
},
{
"title": "should search playlists by name",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 60000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 23383,
"errors": [],
"stdout": [
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (16664ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "🧭 [NAVIGATION] Going to playlists page...\n"
},
{
"text": "🧭 [NAVIGATION] Navigating to: http://localhost:3000/playlists\n"
},
{
"text": "✅ [PLAYLISTS] Page fully loaded\n"
},
{
"text": "🧪 [PLAYLISTS] Running: Search playlists\n"
},
{
"text": "🧭 [NAVIGATION] Navigating via href: /playlists...\n"
},
{
"text": "✅ [NAVIGATION] Successfully navigated directly to /playlists\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: SearchTest1766361344424 Alpha\n"
},
{
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: SearchTest1766361344424 Beta\n"
},
{
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /create|créer|nouvelle/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[name=\"name\"], input[name=\"title\"], input#title with value: Different 1766361345430\n"
},
{
"text": "✅ [FILL] Field input[name=\"name\"], input[name=\"title\"], input#title filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form submitted successfully\n"
},
{
"text": "🔔 [TOAST] Waiting for success message...\n"
},
{
"text": "✅ [TOAST] success message: Playlist créée : Votre playlist a été créée avec succès.\n"
},
{
"text": "✅ [PLAYLISTS] Search functionality works correctly\n"
},
{
"text": "\n📊 [PLAYLISTS] === Final Verifications ===\n"
},
{
"text": "✅ [PLAYLISTS] No console errors\n"
},
{
"text": "✅ [PLAYLISTS] No network errors\n"
}
],
"stderr": [],
"retry": 0,
"startTime": "2025-12-21T23:55:31.535Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "bd26eca51b3e4ada7ca2-69138f178b3ea0d924e6",
"file": "playlists.spec.ts",
"line": 494,
"column": 3
}
]
}
]
},
{
"title": "tracks_upload_chunked.spec.ts",
"file": "tracks_upload_chunked.spec.ts",
"column": 0,
"line": 0,
"specs": [],
"suites": [
{
"title": "Chunked Upload Flow",
"file": "tracks_upload_chunked.spec.ts",
"line": 31,
"column": 6,
"specs": [
{
"title": "should upload large file (15 MB) using chunked upload",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 180000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 143861,
"errors": [],
"stdout": [
{
"text": "🧪 [CHUNKED UPLOAD] Running: Large file upload with chunking\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 1: Login\n"
},
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (22933ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 2: Navigate to /library\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 3: Open upload modal\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /upload/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 4: Select large file (15 MB)\n"
},
{
"text": "✅ [CHUNKED UPLOAD] Large file selected: 12.00 MB\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 5: Fill metadata\n"
},
{
"text": "✏️ [FILL] Filling field input[id=\"title\"] with value: Large Track Test\n"
},
{
"text": "✅ [FILL] Field input[id=\"title\"] filled successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[id=\"artist\"] with value: QA Bot\n"
},
{
"text": "✅ [FILL] Field input[id=\"artist\"] filled successfully\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 6: Start upload\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form#upload-track-form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form#upload-track-form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form#upload-track-form submitted successfully\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 7: Verify API calls\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 8: Verify success\n"
},
{
"text": "\n📊 [CHUNKED UPLOAD] === API Calls Summary ===\n"
},
{
"text": "Initiate called: ❌\n"
},
{
"text": "Chunks uploaded: 0 ⚠️\n"
},
{
"text": "Complete called: ❌\n"
},
{
"text": " [CHUNKED UPLOAD] Using direct upload method (POST /tracks)\n"
},
{
"text": "🔍 [CHUNKED UPLOAD] Step 10: Verify track appears in library\n"
},
{
"text": "\n📊 [CHUNKED UPLOAD] === Final Verifications ===\n"
},
{
"text": "✅ [CHUNKED UPLOAD] No console errors\n"
},
{
"text": "✅ [CHUNKED UPLOAD] No network errors\n"
}
],
"stderr": [
{
"text": "⚠️ [CHUNKED UPLOAD] Initiate call not detected - may be using direct upload\n"
},
{
"text": "⚠️ [CHUNKED UPLOAD] Complete call not detected - may be using direct upload\n"
},
{
"text": "⚠️ [CHUNKED UPLOAD] No success message, checking modal closure\n"
},
{
"text": "⚠️ [CHUNKED UPLOAD] Modal did not close, but backend confirmed upload (check logs)\n"
},
{
"text": "⚠️ [CHUNKED UPLOAD] Chunked upload API not detected - using direct upload\n"
},
{
"text": "⚠️ [CHUNKED UPLOAD] TASK-006 may not be implemented yet\n"
},
{
"text": "⚠️ [CHUNKED UPLOAD] Track not visible yet (may still be processing)\n"
}
],
"retry": 0,
"startTime": "2025-12-21T23:55:54.952Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c0f639fec2fbba9ee0bd-38ea8cdb11c7c35eb5d0",
"file": "tracks_upload_chunked.spec.ts",
"line": 47,
"column": 3
},
{
"title": "should handle very large file (25 MB) with chunking",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 180000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 104081,
"errors": [],
"stdout": [
{
"text": "🧪 [CHUNKED UPLOAD] Running: Very large file upload (25 MB)\n"
},
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (143387ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /upload/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✅ [CHUNKED UPLOAD] Very large file selected: 20.00 MB\n"
},
{
"text": "✏️ [FILL] Filling field input[id=\"title\"] with value: Very Large Track\n"
},
{
"text": "✅ [FILL] Field input[id=\"title\"] filled successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[id=\"artist\"] with value: Performance Test\n"
},
{
"text": "✅ [FILL] Field input[id=\"artist\"] filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form#upload-track-form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form#upload-track-form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form#upload-track-form submitted successfully\n"
},
{
"text": "\n📊 [CHUNKED UPLOAD] === Final Verifications ===\n"
},
{
"text": "✅ [CHUNKED UPLOAD] No console errors\n"
},
{
"text": "✅ [CHUNKED UPLOAD] No network errors\n"
}
],
"stderr": [
{
"text": "⚠️ [CHUNKED UPLOAD] Upload timeout (90s) - file may still be processing\n"
},
{
"text": "⚠️ [CHUNKED UPLOAD] No chunks detected - direct upload used\n"
}
],
"retry": 0,
"startTime": "2025-12-21T23:58:18.827Z",
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
"id": "c0f639fec2fbba9ee0bd-f2978a415527e60fdb05",
"file": "tracks_upload_chunked.spec.ts",
"line": 316,
"column": 3
},
{
"title": "should use direct upload for small files (< 10 MB)",
"ok": true,
"tags": [],
"tests": [
{
"timeout": 180000,
"annotations": [],
"expectedStatus": "passed",
"projectId": "chromium",
"projectName": "chromium",
"results": [
{
"workerIndex": 0,
"parallelIndex": 0,
"status": "passed",
"duration": 35873,
"errors": [],
"stdout": [
{
"text": "🧪 [CHUNKED UPLOAD] Running: Small file direct upload\n"
},
{
"text": "🔐 [LOGIN] Attempting authentication as user@example.com...\n"
},
{
"text": "⏳ [LOGIN] Waiting 500ms before login (103556ms since last login)...\n"
},
{
"text": " ✅ TOKEN FOUND: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik... (source: storage)\n"
},
{
"text": "✅ [LOGIN] Already authenticated (redirected to dashboard via Global Setup)\n"
},
{
"text": "✅ [LOGIN] Application fully hydrated\n"
},
{
"text": "📦 [MODAL] Opening modal via button: /upload/i\n"
},
{
"text": "✅ [MODAL] Modal opened successfully\n"
},
{
"text": "✅ [CHUNKED UPLOAD] Small file selected: 5.00 MB\n"
},
{
"text": "✏️ [FILL] Filling field input[id=\"title\"] with value: Small Track\n"
},
{
"text": "✅ [FILL] Field input[id=\"title\"] filled successfully\n"
},
{
"text": "✏️ [FILL] Filling field input[id=\"artist\"] with value: Direct Upload Test\n"
},
{
"text": "✅ [FILL] Field input[id=\"artist\"] filled successfully\n"
},
{
"text": "⚡ [FORM SUBMIT] Forcing submission of form: form#upload-track-form\n"
},
{
"text": "🔍 [FORM SUBMIT] Waiting for form selector: form#upload-track-form\n"
},
{
"text": "⏳ [FORM SUBMIT] Waiting for React to update state...\n"
},
{
"text": "🚀 [FORM SUBMIT] Submitting form...\n"
},
{
"text": "✅ [FORM SUBMIT] Form form#upload-track-form submitted successfully\n"
},
{
"text": "✅ [CHUNKED UPLOAD] Direct upload used (no chunking) as expected\n"
},
{
"text": "\n📊 [CHUNKED UPLOAD] === Final Verifications ===\n"
},
{
"text": "✅ [CHUNKED UPLOAD] No console errors\n"
},
{
"text": "✅ [CHUNKED UPLOAD] No network errors\n"
}
],
"stderr": [
{
"text": "⚠️ [CHUNKED UPLOAD] Upload timeout for small file\n"
}
],
"retry": 0,
"startTime": "2025-12-22T00:00:02.926Z",
2025-12-17 13:07:35 +00:00
"annotations": [],
"attachments": []
}
],
"status": "expected"
}
],
2025-12-22 21:00:50 +00:00
"id": "c0f639fec2fbba9ee0bd-fed8f872c267d9e5ec51",
"file": "tracks_upload_chunked.spec.ts",
"line": 399,
2025-12-17 13:07:35 +00:00
"column": 3
}
]
}
]
}
],
"errors": [],
"stats": {
2025-12-22 21:00:50 +00:00
"startTime": "2025-12-21T23:53:42.245Z",
"duration": 416598.547,
"expected": 9,
"skipped": 1,
2025-12-17 13:07:35 +00:00
"unexpected": 0,
"flaky": 0
}
}