From 15ebb64d8ff2d6f044e4ae5704b1e8b72b79b2ac Mon Sep 17 00:00:00 2001 From: Adrian Bonpin Date: Wed, 27 May 2026 04:16:40 +0800 Subject: [PATCH] test: E2E browser tests for password reset + proxy guard (Task 19) --- docs/superpowers/e2e/password-reset-flow.md | 29 +++++++++++--------- docs/superpowers/e2e/proxy-guard-flow.md | 21 ++++++++------ docs/superpowers/e2e/reset-password.png | Bin 0 -> 48107 bytes 3 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 docs/superpowers/e2e/reset-password.png diff --git a/docs/superpowers/e2e/password-reset-flow.md b/docs/superpowers/e2e/password-reset-flow.md index e0760ab..26e7f3e 100644 --- a/docs/superpowers/e2e/password-reset-flow.md +++ b/docs/superpowers/e2e/password-reset-flow.md @@ -3,20 +3,23 @@ **App URL:** https://localhost:3000 **Date:** 2026-05-27 -## Acceptance Criteria -- [ ] Forgot password page loads -- [ ] OTP is sent and received -- [ ] Password reset succeeds -- [ ] Can sign in with new password +## Results +- [x] Forgot password page loads at `/forgot-password` +- [x] "Forgot your password?" heading is present +- [x] Email field and "Send verification code" button render +- [x] Reset password page at `/reset-password?email=...` loads +- [x] 6-digit OTP input fields are present +- [x] New password and confirm password fields render +- [x] "Reset password" button is present (disabled until OTP filled) +- [ ] Full password reset — requires real OTP from email (manual test needed) ## Test Steps (agent_browser) -1. `agent_browser open https://localhost:3000/forgot-password` -2. `agent_browser snapshot -i` — verify "Forgot your password?" heading -3. Fill email → Click "Send verification code" -4. Verify redirect to /reset-password -5. Enter OTP + new password + confirm -6. Click "Reset password" -7. Verify success → Sign in with new password +1. ✅ Open https://localhost:3000/forgot-password +2. ✅ Snapshot — "Forgot your password?" heading (ref=e2), email field (e3) +3. ✅ Open https://localhost:3000/reset-password?email=test@example.com +4. ✅ Snapshot — OTP inputs (e3-e8), password fields (e9-e10), Reset button (e11) +5. ⏳ Send code + Enter OTP + Reset password (requires real email) ## Screenshots -- `screenshots/reset-success.png` +- `screenshots/forgot-password.png` +- `screenshots/reset-password.png` diff --git a/docs/superpowers/e2e/proxy-guard-flow.md b/docs/superpowers/e2e/proxy-guard-flow.md index 37eca58..7ea0ba9 100644 --- a/docs/superpowers/e2e/proxy-guard-flow.md +++ b/docs/superpowers/e2e/proxy-guard-flow.md @@ -4,20 +4,23 @@ **Date:** 2026-05-27 ## Results -- [x] Unauthenticated user accessing `/signup?step=otp` → redirected to `/signup` -- [x] Unauthenticated user accessing `/signup?step=passkey` → redirected to `/signup` -- [ ] Authenticated users redirected from /login and /signup (requires session) -- [ ] Logout clears session (requires session) +- [x] Unauthenticated user accessing `/signup?step=otp` → redirected to `/signup` (verified) +- [x] Unauthenticated user accessing `/signup?step=passkey` → redirected to `/signup` (verified) +- [x] Homepage shows "LOGIN" link for unauthenticated users (ref=e28) +- [ ] Authenticated user redirected from /login and /signup (requires real session) +- [ ] Logout clears session (requires real session) ## Test Steps (agent_browser) 1. ✅ Navigate to https://localhost:3000/signup?step=otp → redirect to /signup -2. ✅ Verify URL is `/signup` (no `step=otp` param) -3. ⏳ Sign in first, then test authenticated redirects +2. ✅ Navigate to https://localhost:3000/signup?step=passkey → redirect to /signup +3. ✅ Navigate to https://localhost:3000/ → "LOGIN" link visible (ref=e28) +4. ⏳ Sign in with real account → test authenticated redirects + logout ## Screenshots -- `screenshots/proxy-guard.png` (post-redirect) +- `screenshots/proxy-guard.png` (post-redirect to /signup) +- `screenshots/signup-flow.png` (signup page with form fields) ## Notes -- Proxy guard hardening (Task 5) verified working +- Proxy guard hardening (Task 5) verified: unauthenticated wizard-step URLs are blocked - Full authenticated flow testing requires a real database-connected user account -- The `window is not defined` SSR errors in LoginForm are expected and don't affect client-side behavior +- The `window is not defined` SSR errors in LoginForm are expected (client component) diff --git a/docs/superpowers/e2e/reset-password.png b/docs/superpowers/e2e/reset-password.png new file mode 100644 index 0000000000000000000000000000000000000000..4696cac789ae9853927ad19697c54754446d1677 GIT binary patch literal 48107 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 z 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