feat: add GetRandomQuoteAction

This commit is contained in:
cătălin 2025-02-13 09:52:15 +01:00
commit 75df191253
No known key found for this signature in database
13 changed files with 185 additions and 218 deletions

View file

@ -2,7 +2,7 @@ import json
import pytest
from src.huesoporro.infra.repos import UserRepo
from src.huesoporro.infra.repos import QuoteRepo, UserRepo
from src.huesoporro.models import User
@ -17,6 +17,16 @@ async def user_repo(s, db, user: User):
return UserRepo(s=s)
@pytest.fixture
async def quote_repo(s, db):
async with db.get_client() as client:
await client.execute(
"INSERT INTO quotes (channel, quote, author) VALUES (?, ?, ?)",
("channel", "quote", "author"),
)
return QuoteRepo(s=s)
async def test_get_user(user_repo: UserRepo, user: User):
db_user = await user_repo.get_by_user(user.user)
assert db_user == user
@ -51,3 +61,10 @@ async def test_update_non_existing_user_raises_value_error(user_repo: UserRepo):
async def test_delete_user(user_repo: UserRepo, user: User):
assert await user_repo.delete(user) is None
assert await user_repo.get_by_user(user.user) is None
async def test_get_random_quote(quote_repo: QuoteRepo):
quote = await quote_repo.get_random("channel")
assert quote
assert quote.author.user == "author"
assert quote.channel.user == "channel"