{ "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 } ], "shard": null, "tags": [], "updateSnapshots": "missing", "updateSourceMethod": "patch", "version": "1.57.0", "workers": 1, "webServer": { "command": "npm run dev", "url": "http://localhost:3000", "reuseExistingServer": true, "timeout": 120000 } }, "suites": [ { "title": "playlists.spec.ts", "file": "playlists.spec.ts", "column": 0, "line": 0, "specs": [], "suites": [ { "title": "Playlists CRUD", "file": "playlists.spec.ts", "line": 28, "column": 6, "specs": [ { "title": "should create a new playlist successfully", "ok": true, "tags": [], "tests": [ { "timeout": 60000, "annotations": [], "expectedStatus": "passed", "projectId": "chromium", "projectName": "chromium", "results": [ { "workerIndex": 0, "parallelIndex": 0, "status": "passed", "duration": 16677, "errors": [], "stdout": [ { "text": "πŸ” [LOGIN] Attempting authentication as user@example.com...\n" }, { "text": "⏳ [LOGIN] Waiting 500ms before login (1766361226285ms 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: Create new playlist\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: Test Playlist 1766361239267\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] Playlist created 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: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" }, { "text": "βœ… [TOAST] success message: Playlist créée : Votre playlist a Γ©tΓ© créée avec succΓ¨s.\n" }, { "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" } ], "stderr": [], "retry": 0, "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", "annotations": [], "attachments": [] } ], "status": "expected" } ], "id": "c0f639fec2fbba9ee0bd-fed8f872c267d9e5ec51", "file": "tracks_upload_chunked.spec.ts", "line": 399, "column": 3 } ] } ] } ], "errors": [], "stats": { "startTime": "2025-12-21T23:53:42.245Z", "duration": 416598.547, "expected": 9, "skipped": 1, "unexpected": 0, "flaky": 0 } }