Tests were failing because #settings-section remained hidden. The JavaScript initialization was not being triggered, leaving UI components in hidden state. Added explicit init() call in test setup for Anime Settings, Regenerate NFO, and Update Series Settings test cases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
9.6 KiB
Task 14: UI Anime Settings - Update Series Settings
Suite: Robot.Ui.Anime Settings
Test: Update Series Settings
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=settings-section') to be visible — locator resolved to hidden <section id="settings-section" class="settings-section hidden">…</section>
Instructions:
- Same root cause as Task 12 and 13: the
#settings-sectionelement remains hidden. - Fix the navigation/activation steps in
tests/robot/ui/anime_settings.robotso the settings section is visible before interacting with it. - Ensure the test clicks the correct element to open/show the anime settings.
Task 15: UI Dashboard - Download Selected
Suite: Robot.Ui.Dashboard
Test: Download Selected
Result: FAIL
Error: 'Mit Server verbunden' does not contain 'queue'
Instructions:
- The test expects a toast/notification message containing the word
queueafter clicking "Download Selected". - Instead, the German message
Mit Server verbunden(Connected to server) appears. - Check the dashboard frontend code for the download action toast message.
- Either update the frontend to show an English message containing
queue, or update the test intests/robot/ui/dashboard.robotto match the actual German text. - Consider using a data-testid or a more stable assertion instead of toast text.
Task 16: UI Login - Login Rate Limit UI
Suite: Robot.Ui.Login
Test: Login Rate Limit UI
Result: FAIL
Error: 'invalid credentials' does not contain 'lockout'
Instructions:
- The test expects a lockout message containing
lockoutafter multiple failed login attempts. - Instead, the message
invalid credentialsis shown. - Investigate the login rate-limiting logic in the backend and frontend.
- Check if rate limiting is actually triggered (may require more attempts or a different timing).
- Update the test in
tests/robot/ui/login.robotto match the actual error message, or fix the rate-limiting display in the frontend.
Task 17: UI Settings Modal - Close Settings Modal Via Overlay
Suite: Robot.Ui.Settings Modal
Test: Close Settings Modal Via Overlay
Result: FAIL
Error: TimeoutError: locator.click: Timeout 10000ms exceeded. waiting for locator('id=config-modal .modal-overlay')
Instructions:
- The test tries to click a
.modal-overlayelement inside#config-modal, but the element is not found. - Inspect the settings modal HTML structure in the frontend.
- The overlay element may have a different class name (e.g.,
.modal-backdrop,.overlay) or may not exist as a separate element. - Update the locator in
tests/robot/ui/settings_modal.robotto match the actual DOM structure. - If the overlay click-to-close behavior is missing, implement it in the frontend.
Task 18: UI Settings Modal - Close Settings Modal Via Escape
Suite: Robot.Ui.Settings Modal
Test: Close Settings Modal Via Escape
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 3000ms exceeded. waiting for locator('id=config-modal') to be hidden — locator resolved to visible <div class="modal" id="config-modal">…</div>
Instructions:
- The test presses the Escape key to close the settings modal, but the modal remains visible.
- Investigate the modal JavaScript/frontend code to see if Escape key handling is implemented.
- If Escape-to-close is missing, add an event listener in the frontend that closes
#config-modalonkeydownwithkey === 'Escape'. - If the behavior exists but is broken, debug why the modal is not closing.
- Alternatively, update the test to use a different close method if Escape is not supported.
Task 19: UI Settings Modal - Disable Scheduler
Suite: Robot.Ui.Settings Modal
Test: Disable Scheduler
Result: FAIL
Error: TimeoutError: locator.uncheck: Timeout 10000ms exceeded. waiting for locator('id=scheduled-rescan-enabled') — element is not visible
Instructions:
- The test tries to uncheck
#scheduled-rescan-enabled, but the checkbox is not visible. - The checkbox may be inside a collapsed tab, hidden panel, or require scrolling.
- Investigate the settings modal layout — the scheduler settings may be on a different tab or section.
- Update the test in
tests/robot/ui/settings_modal.robotto navigate to the correct tab/section before interacting with the checkbox. - Alternatively, ensure the checkbox is visible when the modal opens.
Task 20: UI Settings Modal - Edit Backup Settings
Suite: Robot.Ui.Settings Modal
Test: Edit Backup Settings
Result: FAIL
Error: TimeoutError: locator.check: Timeout 10000ms exceeded. waiting for locator('id=backup-enabled') — element is not visible
Instructions:
- The test tries to check
#backup-enabled, but the checkbox is not visible. - Same root cause as Task 19: the backup settings may be inside a collapsed tab or hidden panel.
- Update the test in
tests/robot/ui/settings_modal.robotto navigate to the correct tab/section before interacting with the checkbox. - Ensure the backup settings section is visible when the modal opens or after clicking the appropriate tab.
Task 21: UI Settings Modal - Edit NFO Settings
Suite: Robot.Ui.Settings Modal
Test: Edit NFO Settings
Result: FAIL
Error: TimeoutError: locator.check: Timeout 10000ms exceeded. waiting for locator('id=nfo-auto-create') — element is not visible
Instructions:
- The NFO settings fields suffer from visibility issues similar to Tasks 19 and 20.
- Verify the test in
tests/robot/ui/settings_modal.robotcorrectly navigates to the NFO settings tab/section. - Ensure all form elements are visible before interacting with them.
- Update locators if the element IDs or structure changed.
Task 22: UI Setup Flow - Setup Page Loads
Suite: Robot.Ui.Setup Flow
Test: Setup Page Loads
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=setup-form') to be visible
Instructions:
- The setup flow tests expect
#setup-formto be visible, but it is not found. - Investigate the setup page frontend code.
- The app may already be configured, causing the setup page to redirect to the dashboard instead of showing the form.
- Check if a suite-level setup/teardown resets the app to an unconfigured state before running setup flow tests.
- Update the test setup in
tests/robot/ui/setup_flow.robotor the backend to ensure the setup form is available.
Task 23: UI Setup Flow - Password Strength Weak
Suite: Robot.Ui.Setup Flow
Test: Password Strength Weak
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=setup-form') to be visible
Instructions:
- Same root cause as Task 22: the setup form is not visible.
- Fix the suite setup so the app is in an unconfigured state before each setup flow test.
- Ensure
#setup-formis rendered when navigating to the setup page.
Task 24: UI Setup Flow - Password Strength Medium
Suite: Robot.Ui.Setup Flow
Test: Password Strength Medium
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=setup-form') to be visible
Instructions:
- Same root cause as Task 22: the setup form is not visible.
- Fix the suite setup so the app is in an unconfigured state before each setup flow test.
- Ensure
#setup-formis rendered when navigating to the setup page.
Task 25: UI Setup Flow - Password Strength Strong
Suite: Robot.Ui.Setup Flow
Test: Password Strength Strong
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=setup-form') to be visible
Instructions:
- Same root cause as Task 22: the setup form is not visible.
- Fix the suite setup so the app is in an unconfigured state before each setup flow test.
- Ensure
#setup-formis rendered when navigating to the setup page.
Task 26: UI Setup Flow - Setup Form Validation Empty Password
Suite: Robot.Ui.Setup Flow
Test: Setup Form Validation Empty Password
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=setup-form') to be visible
Instructions:
- Same root cause as Task 22: the setup form is not visible.
- Fix the suite setup so the app is in an unconfigured state before each setup flow test.
- Ensure
#setup-formis rendered when navigating to the setup page.
Task 27: UI Setup Flow - Setup Form Validation Mismatched Passwords
Suite: Robot.Ui.Setup Flow
Test: Setup Form Validation Mismatched Passwords
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=setup-form') to be visible
Instructions:
- Same root cause as Task 22: the setup form is not visible.
- Fix the suite setup so the app is in an unconfigured state before each setup flow test.
- Ensure
#setup-formis rendered when navigating to the setup page.
Task 28: UI Setup Flow - Complete Setup Flow
Suite: Robot.Ui.Setup Flow
Test: Complete Setup Flow
Result: FAIL
Error: TimeoutError: locator.waitFor: Timeout 5000ms exceeded. waiting for locator('id=setup-form') to be visible
Instructions:
- Same root cause as Task 22: the setup form is not visible.
- Fix the suite setup so the app is in an unconfigured state before each setup flow test.
- Ensure
#setup-formis rendered when navigating to the setup page.