22 lines
779 B
Python
22 lines
779 B
Python
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from property_bot.repository import SubscriptionRepository
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_subscription_lifecycle(tmp_path: Path) -> None:
|
|
repository = SubscriptionRepository(tmp_path / "subscriptions.sqlite3")
|
|
await repository.open()
|
|
try:
|
|
await repository.activate(100, 200)
|
|
assert await repository.active_chat_ids() == [100]
|
|
assert (await repository.get(100)).is_active is True # type: ignore[union-attr]
|
|
assert await repository.deactivate(100) is True
|
|
assert await repository.active_chat_ids() == []
|
|
await repository.activate(100, 201)
|
|
assert (await repository.get(100)).user_id == 201 # type: ignore[union-attr]
|
|
finally:
|
|
await repository.close()
|