from pathlib import Path import pytest from fastapi.testclient import TestClient from sqlalchemy.orm import Session from app.db import SessionLocal, configure_database from app.main import create_app @pytest.fixture def client(tmp_path: Path): test_db_path = tmp_path / "test.db" database_url = f"sqlite:///{test_db_path}" configure_database(database_url) app = create_app() with TestClient(app) as test_client: yield test_client @pytest.fixture def db_session(client) -> Session: db = SessionLocal() try: yield db finally: db.close()