Starter ProUpdated June 7, 2026

Testing Fixtures

Validate auth, billing, onboarding, and protected SaaS states locally with production-shaped testing fixtures.

Starter ProTesting Fixtures

Production-shaped local testingLink to section

Starter Pro includes seeded account states designed to validate realistic SaaS behavior during development.

The goal is not only to create users.

The goal is to simulate:

  • authentication states
  • onboarding states
  • billing states
  • protected route behavior
  • subscription-aware product access

Validate realistic SaaS states locally.

Test auth, billing, onboarding, and protected access without rebuilding account states manually.
Local development

One-time payment · Instant access after purchase

Core principle

Serious SaaS products require realistic account states during development.

Why this existsLink to section

Most SaaS products become difficult to validate locally because developers must manually recreate account edge cases repeatedly.

Starter Pro reduces that friction by exposing reusable testing states.

testing-fixtures-model.txt
Seed fixtures

Account states

Billing states

Protected routes

Realistic product validation

Why account states matterLink to section

Real SaaS products behave differently depending on:

  • verification lifecycle
  • billing status
  • provider state
  • onboarding state
  • protected access level

Without realistic fixtures, developers often validate only happy paths.

That creates hidden production risk later.

Production insight

A single happy-path user is not enough to validate a SaaS product. Real products require multiple identity, billing, and access states.

Mental modelLink to section

Identity state

Identity state determines whether a user is verified, OAuth-only, password-based, or ready for normal product access.

VerifiedUnverifiedOAuth-only

Feature overviewLink to section

Authentication testing

Validate credentials auth, OAuth flows, verification behavior, and protected routes.

Billing validation

Validate subscription-aware product behavior and billing-gated access.

Onboarding states

Test verified, unverified, and provider-only onboarding experiences.

Product confidence

Reduce repetitive setup work and validate realistic SaaS behavior faster.

Enable fixturesLink to section

.env.local
SEED_AUTH_FIXTURES=true

Then run:

seed.sh
pnpm app:setup

Included testing statesLink to section

Verified

Standard user

Validate normal authenticated product behavior and dashboard flows.
  • protected routes
  • dashboard navigation
  • authenticated settings
  • normal SaaS usage
Verification

Unverified user

Validate verification-aware onboarding and restricted account behavior.
  • email verification
  • restricted access
  • verification prompts
  • onboarding edge cases
OAuth

Provider-only user

Validate provider-linked accounts and passwordless account behavior.
  • Google sign in
  • GitHub sign in
  • provider linking
  • OAuth-only restrictions
Billing

Subscription-enabled user

Validate billing-aware navigation and premium product access.
  • premium routes
  • upgrade flows
  • billing access
  • plan-aware UI

Seeded accountsLink to section

When SEED_AUTH_FIXTURES=true, Starter Pro creates multiple local testing accounts designed to validate realistic SaaS behavior.

Included accountsLink to section

AccountPasswordStateUse case
free@pycolors.ioPassword123!Verified free userValidate normal authenticated product behavior without PRO access
unverified@pycolors.ioPassword123!Unverified userValidate email verification and restricted onboarding flows
oauth@pycolors.ioNo passwordOAuth-only userValidate provider-linked accounts and add-password flows
pro@pycolors.ioPassword123!Verified PRO trialing userValidate premium access, billing-aware navigation, and subscription-gated product behavior

Local-only fixtures

These accounts are development fixtures intended only for local and controlled staging environments. Never reuse these credentials in production systems.

Default credentialsLink to section

credentials.txt
Password123!

These credentials are intended only for local development environments.

Security rule

Never reuse development credentials in staging or production environments.

Enable fixture seedingLink to section

Set SEED_AUTH_FIXTURES=true in your local environment.

Run setupLink to section

pnpm app:setup

Validate authentication statesLink to section

Test verified, unverified, password-based, and OAuth-oriented account behavior.

Validate billing-aware statesLink to section

Confirm that premium, free, and upgrade-gated surfaces behave as expected.

Validate mobile and PWA behaviorLink to section

Confirm that the same account states remain usable in mobile and standalone app contexts.

Common mistakesLink to section

Testing only happy paths

Skipping verification, provider-only, or billing edge cases.

Hardcoded product access

Bypassing realistic protected access behavior during development.

Fixture leakage

Letting local-only development credentials influence production environments.

Desktop-only validation

Skipping mobile, standalone, and PWA behavior for important account states.

Prefer / avoidLink to section

Prefer

  • validate multiple account states
  • test billing-aware product behavior
  • keep fixtures isolated to development
  • test OAuth and credentials flows
  • validate mobile and PWA behavior

Avoid

  • hardcoding product access
  • testing only one account state
  • using development credentials in production
  • coupling fixtures to business logic
  • skipping restricted account states

Common questionsLink to section