Skip to main content

Auth Setup Wizard Full Wizard

EPIC: auth
Authentication + Onboarding
STORY: setup_wizard
As a new household admin, I can walk the full onboarding wizard — household, first kid, parental consent, token value, first chore — and land on Today with everything set up.
AC: full_wizard
Completing the wizard (kid with DOB, consent skipped, quick-start chore) lands on Today with content.

initial state — name step (step 1 of 6)

Expect:
  • warp lands on SetupPage
  • name-step title renders
  • Continue CTA is present

enter household name + pick 🏠

User Actions:
  • Entered text: Casa Lumen
  • Tapped: widget with key [<'SetupPage.householdEmoji'>]
  • Tapped: widget with a semantics label named "House"
Expect:
  • entered household name renders
  • chosen household emoji renders in the chip
Events:
  • [ANALYTIC] [page_popped]: SetupRoute

tap Continue → kid step (step 2 of 6)

User Actions:
  • Tapped: widget with key [<'SetupPage.continueButton'>]
Expect:
  • kid-step title renders after naming the household
  • the optional DOB field is present on the kid step
Events:
  • SetupHouseholdNamed

enter kid name + pick colour + DOB (defaults to 8y ago)

User Actions:
  • Entered text: Luna
  • Tapped: widget with a semantics label named "Colour 3"
  • Tapped: widget with key [<'SetupPage.kidDobField'>]
  • Tapped: widget with text "OK"
Expect:
  • entered kid name renders
  • the DOB field shows the picked date, not "Not set"
Events:
  • [ANALYTIC] [page_popped]: SetupRoute
User Actions:
  • Tapped: widget with key [<'SetupPage.addKidButton'>]
Expect:
  • the consent step title reads "Parental consent" — spelled out, never the abbreviation
  • the under-13 note shows for a kid with an under-13 DOB
  • the consent step is skippable
  • the picked DOB is persisted on the created kid
Events:
  • SetupKidSubmitted

tap "Do this later" → economy step (nothing recorded)

User Actions:
  • Tapped: widget with key [<'SetupPage.skipConsent'>]
Expect:
  • skipping consent lands on the economy step
  • the default 0.10 rate reads "10 tokens = $1.00"
Events:
  • SetupConsentSkipped

tap "Keep the default" → first-chore step

User Actions:
  • Tapped: widget with key [<'SetupPage.skipEconomy'>]
Expect:
  • skipping economy lands on the first-chore step
Events:
  • SetupEconomySkipped

tap the "Tidy your room · 5" quick-start

User Actions:
  • Tapped: widget with key [<'SetupPage.choreTemplate0'>]
Expect:
  • the quick-start fills the chore name field
  • the token hint reflects the template

tap Create chore → checklist (step 6 of 6)

User Actions:
  • Tapped: widget with key [<'SetupPage.createChoreButton'>]
Expect:
  • the checklist step renders after creating the chore
  • the household row is done
  • the skipped consent shows as a later row pointing at Admin → Roles & owners
  • the chore row is done
Events:
  • SetupChoreSubmitted

tap Go to Today → Home WITH content (no guided card)

User Actions:
  • Tapped: widget with key [<'SetupPage.goToToday'>]
Expect:
  • "Go to Today" navigates to the Home page
  • the wizard created a kid + chore, so the guided empty-state does not show
  • the created bounty renders on Today
Events:
  • [ANALYTIC] [page]: HomeTabRoute
  • HouseholdStarted
  • TodayChoresStarted
  • HouseholdMembersChanged
  • [ANALYTIC] event: today_section_shown {section: bounties, count: 1, claimable_count: 1}
  • TodayChoresChanged