# Testing All tests should run inside Docker containers. ## Canonical test command ```bash docker compose run --rm backend python manage.py test docker compose run --rm frontend npm run check docker compose run --rm frontend npm run build docker compose config --quiet ``` ## Test categories The test suite covers: - Django model and API integration tests; - Astro static type and template validation; - production frontend build; - Docker Compose configuration validation. All commands run in containers. The backend test container starts PostgreSQL through Compose; the frontend checks use the checked-in lockfile for reproducible installs. After seeding, smoke-test `/health/`, `/api/site/home/`, and the public page. Basic keyboard navigation, responsive layout, and accessible names require a manual browser pass until browser automation is added.