fix: simplify master password validation message logic

Remove password mismatch task from Docs/Tasks.md (test resolved).
Restructure validationMessage ternary in SetupPage.tsx to eliminate
redundant ?? check. Logic unchanged, readability improved.
This commit is contained in:
2026-06-21 20:17:49 +02:00
parent 38d1594d21
commit cbddebf3b8
2 changed files with 23 additions and 45 deletions

View File

@@ -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 ## Task: 01 Setup And Auth — Empty Required Fields Show Validation Errors
**Test:** `Empty Required Fields Show Validation Errors` **Test:** `Empty Required Fields Show Validation Errors`

View File

@@ -299,8 +299,9 @@ export function SetupPage(): React.JSX.Element {
label="Master Password" label="Master Password"
required required
validationMessage={ validationMessage={
errors.masterPassword ?? errors.masterPassword
(passwordRules.some((rule) => !rule.satisfied) ? errors.masterPassword
: passwordRules.some((rule) => !rule.satisfied)
? { ? {
children: ( children: (
<ul className={styles.passwordRuleList}> <ul className={styles.passwordRuleList}>
@@ -319,7 +320,7 @@ export function SetupPage(): React.JSX.Element {
</ul> </ul>
), ),
} }
: undefined) : undefined
} }
validationState={ validationState={
errors.masterPassword || passwordRules.some((rule) => !rule.satisfied) errors.masterPassword || passwordRules.some((rule) => !rule.satisfied)