Files
relay-bot/tests/test_prompt_repository.py
2026-07-24 22:36:04 +03:00

21 lines
781 B
Python

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()