# Testing Conventions ## Backend Tests - Real DB + real Redis. No mocks. conftest.py has shared fixtures. - Location: cofee_backend/tests/integration/.py - Naming: test__ (e.g., test_create_project_without_name) - Run: cd cofee_backend && uv run pytest - Single test: uv run pytest -k "test_name" - API fuzzing: cd cofee_backend && uv run --group tools schemathesis run http://localhost:8000/api/schema/ --checks all ## Frontend E2E Tests - Playwright with data-testid selectors on every interactive element - Location: cofee_frontend/tests/ - Run: cd cofee_frontend && bun run test:e2e - Every component root element must have data-testid ## General - Never mock the database — use real test DB - Tests must be deterministic — no Date.now(), no Math.random() - Test error paths, not just happy paths