diff --git a/Docs/Tasks.md b/Docs/Tasks.md index f4303b2..47c369b 100644 --- a/Docs/Tasks.md +++ b/Docs/Tasks.md @@ -1,26 +1,3 @@ -## Task: 01 Setup And Auth — Password Mismatch Shows Validation Error - -**Test:** `Password Mismatch Shows Validation Error` -**Suite:** `01_setup_and_auth.robot` - -**Step That Fails:** Waiting for validation alert after submitting mismatched passwords. - -**Error:** `TimeoutError: locator.evaluate: Timeout 10000ms exceeded.` -Waiting for locator: `//*[@aria-label="Confirm Password"]/ancestor::*[contains(@class,"field")]//*[@role="alert"]` - -**Files to Check:** -- `e2e/tests/01_setup_and_auth.robot` -- `frontend/src/pages/SetupPage.tsx` -- `e2e/resources/common.resource` - -**Reference Docs:** -- `Docs/Features.md` — Setup wizard validation behavior -- `Docs/Testing-Requirements.md` — E2E assertion patterns - -**Expected Behavior:** When passwords don't match and form is submitted, a visible `[role="alert"]` element should appear inside the Confirm Password field container within 10 seconds. - ---- - ## Task: 01 Setup And Auth — Empty Required Fields Show Validation Errors **Test:** `Empty Required Fields Show Validation Errors` @@ -2036,4 +2013,4 @@ rfbrowser init --- -*End of tasks. Total: 84 failing tests documented across 13 test suites, plus 13 meta-tasks grouping common root causes.* +*End of tasks. Total: 84 failing tests documented across 13 test suites, plus 13 meta-tasks grouping common root causes.* \ No newline at end of file diff --git a/frontend/src/pages/SetupPage.tsx b/frontend/src/pages/SetupPage.tsx index c96bf9f..08df893 100644 --- a/frontend/src/pages/SetupPage.tsx +++ b/frontend/src/pages/SetupPage.tsx @@ -299,27 +299,28 @@ export function SetupPage(): React.JSX.Element { label="Master Password" required validationMessage={ - errors.masterPassword ?? - (passwordRules.some((rule) => !rule.satisfied) - ? { - children: ( - - ), - } - : undefined) + errors.masterPassword + ? errors.masterPassword + : passwordRules.some((rule) => !rule.satisfied) + ? { + children: ( + + ), + } + : undefined } validationState={ errors.masterPassword || passwordRules.some((rule) => !rule.satisfied)