82 tests covering download.ts and all React Query hooks. API modules are mocked with vi.mock; mutation tests spy on queryClient.invalidateQueries to verify cache invalidation. Conditional queries (null id) are verified to stay idle. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
---
|
|
# nuzlocke-tracker-yzpb
|
|
title: Implement Unit & Integration Tests
|
|
status: todo
|
|
type: epic
|
|
priority: high
|
|
created_at: 2026-02-10T09:32:47Z
|
|
updated_at: 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
|
|
|
|
- [x] Backend test infrastructure is set up (conftest, fixtures, test DB)
|
|
- [ ] Backend schemas and services have unit test coverage
|
|
- [x] Backend API endpoints have integration test coverage
|
|
- [x] Frontend test infrastructure is set up (Vitest, RTL)
|
|
- [x] Frontend utilities and hooks have unit test coverage
|
|
- [ ] Frontend components have basic render/interaction tests |