Add pytest fixtures (engine, db_session, client) with session-scoped event loop to avoid asyncpg loop mismatch errors. Smoke tests verify all three main API endpoints return empty results on a clean DB. Test DB provided by docker-compose.test.yml on port 5433. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
title, status, type, priority, created_at, updated_at
| title | status | type | priority | created_at | updated_at |
|---|---|---|---|---|---|
| Implement Unit & Integration Tests | todo | epic | high | 2026-02-10T09:32:47Z | 2026-02-21T11:29:02Z |
Add comprehensive unit and integration test coverage to both the backend (FastAPI/Python) and frontend (React/TypeScript). The project currently has zero tests — pytest is configured in pyproject.toml with pytest-asyncio and httpx, but no actual test files exist. The frontend has no test tooling at all.
Scope:
- Unit tests for isolated logic (schemas, services, utilities)
- Integration tests for API endpoints (using httpx AsyncClient against a test database)
- Frontend unit/component tests (using Vitest + React Testing Library)
Explicitly out of scope:
- End-to-end / browser tests (e.g. Selenium, Playwright) — requires specialised infrastructure
Success Criteria
- Backend test infrastructure is set up (conftest, fixtures, test DB)
- Backend schemas and services have unit test coverage
- Backend API endpoints have integration test coverage
- Frontend test infrastructure is set up (Vitest, RTL)
- Frontend utilities and hooks have unit test coverage
- Frontend components have basic render/interaction tests