Testing
Complete testing setup with Neon database branching, Playwright browser tests, integration tests, and unit tests. Isolated branches with automatic TTL cleanup.
Prerequisites
Complete these recipes first (in order):
Type-Safe Environment Configuration
Type-safe environment variable validation using Zod with a Drizzle-like schema API. Supports server/public fields, feature flags, either-or constraints, and client-side protection.
bash
curl -H "Accept: text/markdown" https://fullstackrecipes.com/api/recipes/config-schema-setup
Neon + Drizzle Setup
Connect a Next.js app to Neon Postgres using Drizzle ORM with optimized connection pooling for Vercel serverless functions.
bash
curl -H "Accept: text/markdown" https://fullstackrecipes.com/api/recipes/neon-drizzle-setup
Cookbook - Complete These Recipes in Order
Neon Test Branches
Create isolated Neon database branches for testing. Schema-only branches with auto-cleanup via TTL, test server orchestration, and environment variable management.
bash
curl -H "Accept: text/markdown" https://fullstackrecipes.com/api/recipes/neon-test-branches
Unit Tests with Bun
Configure unit testing with Bun's built-in test runner. Fast, Jest-compatible syntax, co-located test files, and mocking support.
bash
curl -H "Accept: text/markdown" https://fullstackrecipes.com/api/recipes/unit-tests
Integration Tests
Test API routes by importing handlers directly with Bun's test runner. Fast, reliable tests without HTTP overhead.
bash
curl -H "Accept: text/markdown" https://fullstackrecipes.com/api/recipes/integration-tests
Browser Tests with Playwright
End-to-end browser testing with Playwright. Test user interactions, form validation, navigation, and visual feedback with full browser automation.
bash
curl -H "Accept: text/markdown" https://fullstackrecipes.com/api/recipes/playwright-tests
Working with Tests
Testing strategy and workflow. Tests run in parallel with isolated data per suite. Prioritize Playwright for UI, integration tests for APIs, unit tests for logic.
bash
curl -H "Accept: text/markdown" https://fullstackrecipes.com/api/recipes/using-tests