Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
725 B
Python
33 lines
725 B
Python
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
|