Skip to main content

E2E Flows

🤖 This is a generated document — do not edit. Built by tools/wiki/generate-e2e-page.ts from the *.e2e.ts sources under apps/playwright-e2e/src (test.describe / test titles). Refresh with bun run wiki:build and commit; staleness fails the wiki gates in CI and pre-push. About this section: Generated Docs.

See also: Testing, Storybook, Test Coverage

The user flows with Playwright end-to-end coverage — 17 suites, 53 flows across extension / mobile / web. Run them with bun run e2e:playwright (fresh seeded emulator; flags all-on, admin account). The Cypress suites are frozen — every NEW flow lands here, so this page is the coverage map to check before shipping one.

extension (3 suites · 4 flows)​

annotation.e2e.ts

  • annotates fixture-shop prices and shows the hover tooltip
  • detects multi-currency prices in the fixture article

layaway.e2e.ts

  • signed-out alt-click on a price shows the sign-in prompt toast

popup.e2e.ts

  • saving an hourly rate persists to storage

mobile (2 suites · 3 flows)​

guest-journey.e2e.ts

  • guest walks onboarding into the translator home

shell.e2e.ts

  • redirects every entry point to /login
  • shows the reused login organism including the Google button

web (12 suites · 46 flows)​

account-deletion.e2e.ts

  • right to erasure: deleting the account removes the Auth user AND every Firestore doc
  • right to know/portability: the export is complete, self-describing JSON
  • reset all stories wipes the answers but keeps the account

account-plan-switch.e2e.ts

  • a plain member sees the ordinary funnel — no switcher anywhere
  • an admin switches plan from a tier card and the account moves to it

admin.e2e.ts

  • a signed-out visitor is bounced away from /admin/story-builder
  • an ordinary signed-in user is bounced away from /admin/partners
  • an admin-claim user reaches the story builder

auth.e2e.ts

  • creates a new account through the sign-in modal
  • signs in an existing user
  • shows an error for a wrong password and stays logged out

encryption.e2e.ts

  • enabling encryption persists — still enabled (and locked) after a reload

expenses.e2e.ts

  • a Days member is stopped on the dashboard until they choose a system
  • /expenses: bank connect is the only (coming-soon) door; one tap files a merchant everywhere
  • below Days: no gate, no switch, and /expenses shows the unlock note

navigation.e2e.ts

  • landing renders with the signed-out header
  • the header wordmark routes back home from any page
  • stories page renders the map with nodes
  • flag-gated /partners renders because flags are seeded ON
  • clicking a link lands the destination at the top of the page
  • unknown URLs render the custom 404 without redirecting

news.e2e.ts

  • headlines and prices render for a signed-out visitor
  • the analysis is redacted signed out — bars carry no text
  • the sign-up CTA opens the login dialog in place

price-translator.e2e.ts

  • a fresh account is told exactly which foundation stories to finish
  • cards run on story-derived rates; Unallocated is locked IN PLACE for a free member
  • selecting Spendable while locked turns the card region into the pitch
  • an Hours member sees no locks — Unallocated waits on the expenses story

stories.e2e.ts

  • signed out: foundations playable, deep stories redacted — no titles in the DOM
  • a free story plays without an account
  • the paid overlay CTA opens the sign-in dialog in place
  • deep-linking a blocked story redirects to the map with the paid banner open

tier-features.e2e.ts

  • signed out on /compare, the Days-plan upsell banner leads above the teaser hero
  • /compare carries the clearly-fake sample-data Compare preview
  • signed out on /projections, the banner names the Months plan and shows no preview
  • signed out on /voting, the Hours-plan banner leads and the sample board shows
  • the sidebar nav lists every public tier-feature entry
  • the sidebar never names the secret tier features when signed out
  • an ADMIN with no tier is bounced off the secret rungs, like any free member
  • a member on the generations tier reaches every secret rung
  • a DECADES member reaches /adviser but is still bounced off the generations rungs

worth-it.e2e.ts

  • /worth-it lands on the travel teaser
  • a teaser shows its section structure with redacted answers
  • signed out, the CTA opens the sign-in dialog in place
  • the locked upsell banner leads the page, above the teaser hero
  • an unknown slug falls back to the travel teaser