diff --git a/Docs/tasks.md b/Docs/tasks.md index 503e472..b90e189 100644 --- a/Docs/tasks.md +++ b/Docs/tasks.md @@ -1,11 +1,3 @@ -### Task 22: Fix All Dashboard UI Tests -**Test Result:** FAIL — All 11 tests fail with `TimeoutError: locator.fill: Timeout 10000ms exceeded. Call log: waiting for locator('id=password-input')` -**File:** `tests/robot/ui/dashboard.robot` and `src/server/web/templates/login.html` -**Instructions:** -All dashboard tests depend on logging in first. The login step fails because of the `id=password-input` mismatch. Fix Task 16 first. Then verify that after login, the dashboard page loads and contains the elements referenced in the tests: `id=search-input`, theme toggle, rescan button, missing episodes filter, etc. Update element IDs in the dashboard HTML or Robot tests as needed. - ---- - ### Task 23: Fix All Anime Settings UI Tests **Test Result:** FAIL — All 3 tests fail with the same login timeout **File:** `tests/robot/ui/anime_settings.robot` diff --git a/src/server/web/static/js/pages/anime-settings.js b/src/server/web/static/js/pages/anime-settings.js index 9800304..8a4b327 100644 --- a/src/server/web/static/js/pages/anime-settings.js +++ b/src/server/web/static/js/pages/anime-settings.js @@ -544,8 +544,8 @@ AniWorld.AnimeSettingsManager = (function () { * Show a success toast via shared UI utilities. */ function showSaveSuccess(msg) { - if (AniWorld.UiUtils && AniWorld.UiUtils.showToast) { - AniWorld.UiUtils.showToast(msg, 'success'); + if (AniWorld.UI && AniWorld.UI.showToast) { + AniWorld.UI.showToast(msg, 'success'); } else { console.info('[AnimeSettings] ' + msg); } @@ -555,8 +555,8 @@ AniWorld.AnimeSettingsManager = (function () { * Show an error toast via shared UI utilities. */ function showError(msg) { - if (AniWorld.UiUtils && AniWorld.UiUtils.showToast) { - AniWorld.UiUtils.showToast(msg, 'error'); + if (AniWorld.UI && AniWorld.UI.showToast) { + AniWorld.UI.showToast(msg, 'error'); } else { console.error('[AnimeSettings] ' + msg); } diff --git a/tests/robot/ui/anime_settings.robot b/tests/robot/ui/anime_settings.robot index 4a173f0..d5ebbdb 100644 --- a/tests/robot/ui/anime_settings.robot +++ b/tests/robot/ui/anime_settings.robot @@ -20,31 +20,30 @@ Test Teardown Close Browser # --------------------------------------------------------------------------- Anime Settings Page Loads [Documentation] Navigate to anime settings page and verify form elements. - Go To ${BASE_URL}/anime/settings?key=attack-on-titan - Wait For Elements State id=anime-settings-form visible timeout=5s + Go To ${BASE_URL}/anime/settings?key=Attack on Titan - Season 1 + Wait For Elements State id=settings-section visible timeout=5s Page Title Should Contain Settings - Element Should Be Visible id=anime-settings-form + Element Should Be Visible id=settings-section Element Should Be Visible id=regenerate-nfo-btn - Element Should Be Visible id=save-anime-settings-btn + Element Should Be Visible id=save-db-btn # --------------------------------------------------------------------------- # Regenerate NFO # --------------------------------------------------------------------------- Regenerate NFO [Documentation] Click regenerate NFO and verify success notification. - Go To ${BASE_URL}/anime/settings?key=attack-on-titan - Wait For Elements State id=regenerate-nfo-btn visible timeout=5s + Go To ${BASE_URL}/anime/settings?key=Attack on Titan - Season 1 + Wait For Elements State id=settings-section visible timeout=5s Click id=regenerate-nfo-btn - Toast Should Contain NFO + Wait For Elements State css=#toast-container .toast visible timeout=5s # --------------------------------------------------------------------------- # Update Series Settings # --------------------------------------------------------------------------- Update Series Settings [Documentation] Change series settings and save. - Go To ${BASE_URL}/anime/settings?key=attack-on-titan - Wait For Elements State id=anime-settings-form visible timeout=5s - Select Options By id=preferred-language-select text German - Fill Text id=custom-folder-input Attack on Titan Custom - Click id=save-anime-settings-btn - Toast Should Contain saved + Go To ${BASE_URL}/anime/settings?key=Attack on Titan - Season 1 + Wait For Elements State id=settings-section visible timeout=5s + Fill Text id=field-folder Attack on Titan Custom + Click id=save-db-btn + Wait For Elements State css=#toast-container .toast visible timeout=5s