-
Testing
End-to-end test my app's core user flows
Cover the three to five things users actually do in your app with browser-level tests that run before every deploy.
Free Prompt
Beyond signup and checkout, my app has a handful of things users actually do. I want end-to-end tests covering those core flows.
First, ask me (or infer from my routes and UI) what the three to five core user flows are. For example: create a thing, edit a thing, share a thing, invite a teammate, export data. Confirm the list with me before writing tests.
For each confirmed flow, write a browser-level test that:
1. Logs in as a fixture user (reuse my test account setup or fixtures if they exist).
2. Walks the flow exactly as a user would, through the real UI.
3. Asserts the end state both in the UI and, where it matters, in the database.
4. Includes one negative case per flow where it makes sense: deleting something that shouldn't be deletable, submitting an empty required form, exceeding a limit.
Keep each test independent. No test should depend on another test having run first. Each one creates its own data and cleans up, or runs against a reset test database.
Don't chase pixel-perfect assertions or test copy text that changes often. Assert on structural things: the record exists, the button state changed, the item appears in the list. Brittle tests get deleted.
When finished, run the suite and report pass/fail per flow, plus how long the full suite takes to run.
What This Does / How This Helps
This covers your app's main user flows with browser-level tests: the create, edit, share, invite, and export actions your users depend on, each with a negative case. These tests are your regression net after launch. When you're shipping fast and something breaks, you want to know before users tell you. The emphasis on independent, non-brittle tests matters because suites that cry wolf get ignored, and ignored suites get deleted, and then you're back to hoping.
Want to skip doing this by hand?
Fortivibe audits your app for all of the areas these prompts cover (and more).