|
| 1 | +import pytest |
| 2 | +from bot.bot_storage import ( |
| 3 | + get_all_users, |
| 4 | + get_last_sent_id, |
| 5 | + get_news_after_id, |
| 6 | + save_last_sent_news_id, |
| 7 | +) |
| 8 | + |
| 9 | + |
| 10 | +@pytest.mark.asyncio |
| 11 | +async def test_get_last_sent_id(async_session): |
| 12 | + """Проверка id последней отправленой новости""" |
| 13 | + chat_id = 100 |
| 14 | + |
| 15 | + last_id = await get_last_sent_id(chat_id, async_session) |
| 16 | + assert ( |
| 17 | + last_id == 0 |
| 18 | + ), "id последней отпрвленной новости должен быть равен 0, если нет отправленных новостей" |
| 19 | + |
| 20 | + await save_last_sent_news_id( |
| 21 | + chat_id=chat_id, last_id=10, session=async_session |
| 22 | + ) |
| 23 | + last_id = await get_last_sent_id(chat_id, async_session) |
| 24 | + assert ( |
| 25 | + last_id == 10 |
| 26 | + ), "id последней отпрвленной новости должен быть равен 10" |
| 27 | + |
| 28 | + |
| 29 | +@pytest.mark.asyncio |
| 30 | +async def test_get_news_after_id(async_session, news_list): |
| 31 | + """Получение новостей""" |
| 32 | + news = await get_news_after_id(last_id=0, session=async_session) |
| 33 | + assert len(news) == 2, "Должно быть получено 2 новости" |
| 34 | + assert ( |
| 35 | + news[0].title == "Test Title 1" |
| 36 | + ), "Заголовок первой новости должен быть 'Test Title 1'" |
| 37 | + assert ( |
| 38 | + news[1].title == "Test Title 2" |
| 39 | + ), "Заголовок второй новости должен быть 'Test Title 2'" |
| 40 | + |
| 41 | + |
| 42 | +@pytest.mark.asyncio |
| 43 | +async def test_get_all_users(async_session): |
| 44 | + """Получение пользователей""" |
| 45 | + await save_last_sent_news_id( |
| 46 | + chat_id=111, last_id=11, session=async_session |
| 47 | + ) |
| 48 | + await save_last_sent_news_id( |
| 49 | + chat_id=222, last_id=22, session=async_session |
| 50 | + ) |
| 51 | + |
| 52 | + users = await get_all_users(async_session) |
| 53 | + assert len(users) == 2, "Должно быть 2 пользователя в базе" |
| 54 | + assert users[0] == 111, "id первого юзера должен быть 111" |
| 55 | + assert users[1] == 222, "id второго юзеера должен быть 222" |
0 commit comments