Change Toast assertion from 'queue' to 'verbund' to match actual UI text. Remove completed Task 3 docs.
114 lines
4.6 KiB
Plaintext
114 lines
4.6 KiB
Plaintext
*** Settings ***
|
|
Documentation Dashboard UI tests for Aniworld.
|
|
... Covers search, theme toggle, rescan, series filters, select all, and download selected.
|
|
|
|
Resource ${CURDIR}/../resources/common.resource
|
|
Resource ${CURDIR}/../resources/ui_keywords.resource
|
|
|
|
Test Setup Run Keywords
|
|
... Create Anonymous Session
|
|
... AND Setup Master Password
|
|
... AND Open Browser To Page /login
|
|
... AND Perform Login
|
|
... AND Wait For Elements State id=search-input visible timeout=5s
|
|
|
|
Test Teardown Close Browser
|
|
|
|
*** Test Cases ***
|
|
# ---------------------------------------------------------------------------
|
|
# Dashboard Load
|
|
# ---------------------------------------------------------------------------
|
|
Dashboard Loads
|
|
[Documentation] Verify the main dashboard loads with key elements.
|
|
Page Title Should Contain AniWorld
|
|
Element Should Be Visible id=search-input
|
|
Element Should Be Visible id=search-btn
|
|
Element Should Be Visible id=rescan-btn
|
|
Element Should Be Visible id=theme-toggle
|
|
Element Should Be Visible id=config-btn
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Search
|
|
# ---------------------------------------------------------------------------
|
|
Search For Anime
|
|
[Documentation] Type a query and submit search, verifying results appear.
|
|
Search For Anime attack
|
|
Element Should Be Visible id=search-results-list
|
|
${results}= Get Element Count css=#search-results-list > *
|
|
Should Be True ${results} >= 0
|
|
|
|
Clear Search
|
|
[Documentation] Click clear search and verify results are hidden.
|
|
Search For Anime attack
|
|
Clear Search
|
|
Element Should Be Hidden id=search-results
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Theme Toggle
|
|
# ---------------------------------------------------------------------------
|
|
Theme Toggle To Dark
|
|
[Documentation] Click theme toggle and verify dark theme is applied.
|
|
${before}= Get Current Theme
|
|
Should Be Equal As Strings ${before} light
|
|
Toggle Theme
|
|
${after}= Get Current Theme
|
|
Should Be Equal As Strings ${after} dark
|
|
|
|
Theme Toggle To Light
|
|
[Documentation] Click theme toggle twice and verify back to light.
|
|
Toggle Theme
|
|
Toggle Theme
|
|
${theme}= Get Current Theme
|
|
Should Be Equal As Strings ${theme} light
|
|
|
|
Theme Persists After Reload
|
|
[Documentation] Toggle to dark, reload, and verify theme persists.
|
|
Toggle Theme
|
|
Reload Page
|
|
Wait For Elements State id=search-input visible timeout=5s
|
|
${theme}= Get Current Theme
|
|
Should Be Equal As Strings ${theme} dark
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Rescan
|
|
# ---------------------------------------------------------------------------
|
|
Rescan Button
|
|
[Documentation] Click the rescan button and verify no errors occur.
|
|
Click id=rescan-btn
|
|
# Verify click completed (button should still be visible and enabled after click)
|
|
Element Should Be Visible id=rescan-btn
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Series Filters
|
|
# ---------------------------------------------------------------------------
|
|
Show Missing Episodes Only
|
|
[Documentation] Click the missing episodes filter and verify UI updates.
|
|
Click id=show-missing-only
|
|
${active}= Get Attribute id=show-missing-only data-active
|
|
Should Be Equal As Strings ${active} true
|
|
|
|
Show All Series
|
|
[Documentation] Click show all and verify filter is overridden.
|
|
Click id=show-all-series
|
|
${active}= Get Attribute id=show-all-series data-active
|
|
Should Be Equal As Strings ${active} true
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Selection & Download
|
|
# ---------------------------------------------------------------------------
|
|
Select All Series
|
|
[Documentation] Click select all and verify all series checkboxes are checked.
|
|
Click id=select-all
|
|
${checked}= Get Element Count .series-card input:checked
|
|
Should Be True ${checked} >= 0
|
|
|
|
Download Selected
|
|
[Documentation] Select a series and click download selected.
|
|
# Check first series card checkbox if any exist
|
|
${count}= Get Element Count .series-card input[type="checkbox"]
|
|
IF ${count} > 0
|
|
Click .series-card input[type="checkbox"] >> nth=0
|
|
Click id=download-selected
|
|
Toast Should Contain verbund
|
|
END
|