- download.robot: fix total to total_items in queue statistics test - websocket.robot: add websocket_keywords.py library and use proper keyword - tasks.md: remove completed task entries
5.9 KiB
Task 15: Fix Connect To WebSocket API Test
Test Result: FAIL — Evaluate keyword syntax error / requires custom keyword library
File: tests/robot/api/websocket.robot
Instructions:
The test tries to evaluate __import__('asyncio').run(__import__('websockets').connect(...)) inline, which is unreliable in Robot Framework. Create a small Python keyword library (e.g., tests/robot/resources/websocket_keywords.py) that wraps WebSocket connection logic using the websockets library. Import this library in websocket.robot and replace the inline Evaluate with a proper keyword like Connect To WebSocket. Ensure the library handles token-based authentication.
Task 16: Fix Login Page Loads UI Test
Test Result: FAIL — TimeoutError: locator.waitFor: Timeout 5000ms exceeded. Call log: waiting for locator('id=password-input') to be visible
File: tests/robot/ui/login.robot and src/server/web/templates/login.html
Instructions:
The Robot test looks for id=password-input, but the HTML template uses id=password. Open src/server/web/templates/login.html and change the password input element's id from password to password-input. Also check id=login-submit-btn — the template uses id=login-button. Change it to id=login-submit-btn. Ensure all referenced element IDs in the Robot tests match the actual HTML.
Task 17: Fix Login With Valid Password UI Test
Test Result: FAIL — Same as Task 16 (id=password-input not found)
File: tests/robot/ui/login.robot and src/server/web/templates/login.html
Instructions:
Fix the element ID mismatches in login.html as described in Task 16. The Perform Login keyword in tests/robot/resources/ui_keywords.resource fills id=password-input and clicks id=login-submit-btn. Update the HTML template IDs to match.
Task 18: Fix Login With Invalid Password UI Test
Test Result: FAIL — Same as Task 16
File: tests/robot/ui/login.robot and src/server/web/templates/login.html
Instructions:
Fix the element ID mismatches in login.html as described in Task 16. Also verify that the error message element id=login-error exists in the template and is shown when login fails.
Task 19: Fix Login Rate Limit UI UI Test
Test Result: FAIL — Same as Task 16
File: tests/robot/ui/login.robot and src/server/web/templates/login.html
Instructions:
Fix the element ID mismatches in login.html as described in Task 16. Also verify that after 5 failed attempts, the login form shows a lockout message containing the word "lockout" and the id=login-error element displays it.
Task 20: Fix Password Visibility Toggle UI Test
Test Result: FAIL — Same as Task 16
File: tests/robot/ui/login.robot and src/server/web/templates/login.html
Instructions:
Fix the element ID mismatches in login.html as described in Task 16. The test clicks id=password-toggle — verify this ID exists in the template (it may be id=password-toggle already, but confirm). Ensure the toggle button changes the input type attribute between password and text.
Task 21: Fix Logout UI Test
Test Result: FAIL — Same as Task 16
File: tests/robot/ui/login.robot and src/server/web/templates/login.html
Instructions:
Fix the element ID mismatches in login.html as described in Task 16. The Perform Logout keyword clicks id=logout-btn. Verify this button exists in the dashboard/index template and redirects to /login after logout.
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
Instructions:
Fix Task 16 first. Then verify that the anime settings page loads after login and contains the elements expected by the Robot tests. Update IDs in the HTML or tests as needed.
Task 24: Fix All Queue Page UI Tests
Test Result: FAIL — All 6 tests fail with the same login timeout
File: tests/robot/ui/queue_page.robot
Instructions:
Fix Task 16 first. Then verify that the queue page loads after login and contains the elements expected by the Robot tests. Update IDs in the HTML or tests as needed.
Task 25: Fix All Settings Modal UI Tests
Test Result: FAIL — All tests fail with the same login timeout
File: tests/robot/ui/settings_modal.robot
Instructions:
Fix Task 16 first. Then verify that the settings modal opens from the dashboard and contains the expected form elements. Update IDs in the HTML or tests as needed.
Task 26: Fix All Setup Flow UI Tests
Test Result: FAIL — All tests fail with the same login timeout
File: tests/robot/ui/setup_flow.robot
Instructions:
Fix Task 16 first. The setup flow tests may need to run before the app is configured. Verify that tests/robot/start_server.sh correctly removes data/config.json so the app starts unconfigured. Ensure the setup page elements match the Robot test selectors.
Task 27: Fix All Responsive UI Tests
Test Result: FAIL — All tests fail with the same login timeout
File: tests/robot/ui/responsive.robot
Instructions:
Fix Task 16 first. Then verify that responsive layout tests check for viewport-specific elements that actually exist in the HTML.