StandardsTesting Strategy

Testing Strategy

Layers

LayerToolScope
Go unit testsgo testService logic, handlers
Go integration testsgo test + testcontainersDB queries, Temporal workflows
TypeScript unit testsVitestReact components, hooks, utilities
E2E testsPlaywrightCritical user flows

Principles

  • Test behavior, not implementation details
  • Use table-driven tests in Go
  • Mock external services at the boundary (HTTP client, Temporal client)
  • Integration tests use real Postgres via testcontainers
  • E2E tests cover critical paths: auth, core CRUD, real-time updates