import pytest from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine from app.database.models import Base from app.database.repositories import PromptRepository @pytest.mark.asyncio async def test_prompt_versions_can_roll_back() -> None: engine = create_async_engine("sqlite+aiosqlite:///:memory:") async with engine.begin() as connection: await connection.run_sync(Base.metadata.create_all) factory = async_sessionmaker(engine, expire_on_commit=False) async with factory() as session: repo = PromptRepository(session) await repo.set("first", 1) await repo.set("second", 1) assert (await repo.active()).text == "second" assert (await repo.rollback()).text == "first" await engine.dispose()