import pytest from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from models import Base from models.category import Category, CategoryWord # noqa: F401 from models.game import Game, Word # noqa: F401 @pytest.fixture def db_engine(): engine = create_engine("sqlite:///:memory:") Base.metadata.create_all(engine) yield engine engine.dispose() @pytest.fixture def db_session(db_engine): Session = sessionmaker(bind=db_engine) session = Session() yield session session.close() @pytest.fixture def app(db_engine): from app import make_app Session = sessionmaker(bind=db_engine) application = make_app(session_factory=Session) return application