@@ -46,7 +46,7 @@ This file provides guidance to GitHub Copilot when working with code in this rep
4646# Install dependencies (uses uv - fast Python package manager)
4747uv sync --all-extras
4848
49- # Run all tests (unit + integration)
49+ # Run all tests (unit + integration + e2e )
5050uv run pytest
5151
5252# Run only unit tests
@@ -55,6 +55,9 @@ uv run pytest tests/unit
5555# Run only integration tests (uses SQLite in-memory)
5656uv run pytest tests/integration
5757
58+ # Run only E2E tests (requires DATABASE_URL)
59+ uv run pytest tests/e2e
60+
5861# Check code formatting and linting
5962uv run ruff check .
6063
@@ -164,9 +167,9 @@ Examples: `scatter-basic`, `scatter-color-mapped`, `bar-grouped-horizontal`, `he
164167- ** Naming** : ` test_{what_it_does} `
165168- ** Fixtures** : Use pytest fixtures in ` tests/conftest.py `
166169- ** Test Types** :
167- - ** Unit tests** (` tests/unit/ ` ): Fast, isolated, mocked dependencies - run in CI
168- - ** Integration tests** (` tests/integration/ ` ): Real database with SQLite in-memory - run in CI
169- - ** E2E tests** (` tests/e2e/ ` ): Full stack with FastAPI TestClient - not yet in CI
170+ - ** Unit tests** (` tests/unit/ ` ): Fast, isolated, mocked dependencies
171+ - ** Integration tests** (` tests/integration/ ` ): SQLite in-memory for API tests
172+ - ** E2E tests** (` tests/e2e/ ` ): Real PostgreSQL with isolated ` test_e2e ` schema (skipped if DATABASE_URL not set)
170173- ** Markers** : Use ` @pytest.mark.unit ` , ` @pytest.mark.integration ` , ` @pytest.mark.e2e `
171174
172175### Plot Implementation Style (KISS)
0 commit comments