Skip to main content

Consent Adult Tos Gate Stale Adult Is Gated Until Accept

EPIC: consent
Personas & Authorization
STORY: adult_tos_gate
As the app, I block an adult whose accepted terms are out of date until they accept the current terms.
AC: stale_adult_is_gated_until_accept
A signed-in adult below the current terms version is shown the blocking acceptance surface; accepting calls acceptTerms and unblocks the app.

sign in as a stale adult → the ToS gate blocks the app

User Actions:
  • Tapped: widget with key [<'WelcomePage.signIn'>]
  • Entered text: [email protected]
  • Entered text: hunter2
  • Tapped: widget with key [<'SignInPage.signInButton'>]
Expect:
  • the blocking ToS surface gates the app on launch
  • the acceptance surface wears its title
  • the app (Home) is blocked behind the gate
  • the tappable ToS link is present when a URL is provided
Events:
  • [ANALYTIC] [page]: WelcomeRoute
  • [ANALYTIC] [page]: SignInRoute
  • AuthSignInRequested
  • AuthUserChanged

accepting the terms calls acceptTerms and unblocks Home

User Actions:
  • Tapped: widget with key [<'TermsGate.acceptButton'>]
Expect:
  • the gate is dismissed once the terms are accepted
  • the app is unblocked and lands on Home
Events:
  • TermsAccepted
  • [ANALYTIC] [page]: HomeTabRoute
  • HouseholdStarted
  • TodayChoresStarted