Integration Testing Skill
Purpose
This skill provides integration testing conventions for facades, server actions, and database operations. Integration tests use real database interactions via Testcontainers.
Activation
This skill activates when:
- •Creating or modifying files in
tests/integration/ - •Testing facades or business logic
- •Testing server actions
- •Testing database queries with real data
- •Working with Testcontainers
File Patterns
- •
tests/integration/**/*.test.ts - •
tests/integration/**/*.integration.test.ts
Workflow
- •Detect integration test work (file path contains
tests/integration/) - •Load
references/Integration-Testing-Conventions.md - •Also load
testing-baseskill for shared conventions - •Apply integration test patterns with database helpers
- •Ensure proper database cleanup between tests
Key Patterns (REQUIRED)
Database Management
- •Database auto-starts via global setup (Testcontainers)
- •Use
getTestDb()fromtests/setup/test-db.ts - •Use
resetTestDatabase()orcleanupTable()inbeforeEach - •Mock
@/lib/dbto use test database
Factory Usage
- •Use factories from
tests/fixtures/for test data - •Create realistic test scenarios with proper relationships
- •Clean up created data between tests
External Service Mocking
- •Mock Sentry for breadcrumb verification
- •Mock CacheService for cache behavior control
- •Mock Redis client to avoid connection issues
References
- •
references/Integration-Testing-Conventions.md- Complete integration testing conventions