| name | testing |
| description | Run tests before and after changes. Only add tests for complex logic, not boilerplate. Database tests matter most. |
Testing
Verify changes don't break things. Don't create test bloat.
Announce: "I'm running tests to verify the changes."
Philosophy
Database (pgTAP): This is where real logic lives. Test it thoroughly.
Frontend (Vitest): Thin RPC layer. Only test:
- Complex transformations
- Non-obvious edge cases
- NOT: "does this call that function"
Workflow
Before implementing:
bun run test
If tests fail, fix them first.
After implementing:
bun run test
If tests fail, your change broke something. Fix it.
When to Add Tests
YES - add tests for:
- New database functions with business logic
- Complex data transformations
- Non-obvious edge cases you discovered
NO - don't test:
- "Does this function call that function"
- Pinia store initialization
- Vue component mounting
- API calls with mocked responses
- Obvious behavior readable from code
Commands
bun run test # All tests (unit + db)
bun run test:unit # Frontend only
bun run test:db # Database only (pgTAP)
If Tests Fail
- Read the error message
- Check if YOUR change caused it
- If yes → fix your code
- If no → fix the test or report the issue