"""Test fixtures: fresh temp-file SQLite DB per test session (spec ยง8.4).""" import os import tempfile import pytest # Must be set before any app module is imported (engine binds at import time) _tmpdir = tempfile.mkdtemp(prefix="calcount-test-") os.environ["CALCOUNT_DATABASE_URL"] = f"sqlite:///{_tmpdir}/test.db" from fastapi.testclient import TestClient # noqa: E402 from database import run_migrations # noqa: E402 from main import app # noqa: E402 @pytest.fixture(scope="session") def client(): run_migrations() with TestClient(app) as c: yield c