feat: ChatFactory and private_chat fixture

This commit is contained in:
Egor 2020-07-03 16:08:31 +05:00
parent 2cf2c2e98b
commit 3016c8e21e
18 changed files with 161 additions and 131 deletions

View file

@ -2,28 +2,32 @@ import pytest
from aiogram.api.methods import GetChat, Request
from aiogram.api.types import Chat
from aiogram.api.types.chat import ChatType
from tests.factories.chat import ChatFactory
from tests.mocked_bot import MockedBot
class TestGetChat:
@pytest.mark.asyncio
async def test_method(self, bot: MockedBot):
channel = ChatFactory(type=ChatType.CHANNEL)
prepare_result = bot.add_result_for(
GetChat, ok=True, result=Chat(id=-42, type="channel", title="chat")
GetChat, ok=True, result=channel
)
response: Chat = await GetChat(chat_id=-42)
response: Chat = await GetChat(chat_id=channel.id)
request: Request = bot.get_request()
assert request.method == "getChat"
assert response == prepare_result.result
@pytest.mark.asyncio
async def test_bot_method(self, bot: MockedBot):
channel = ChatFactory(type=ChatType.CHANNEL)
prepare_result = bot.add_result_for(
GetChat, ok=True, result=Chat(id=-42, type="channel", title="chat")
GetChat, ok=True, result=channel
)
response: Chat = await bot.get_chat(chat_id=-42)
response: Chat = await bot.get_chat(chat_id=channel.id)
request: Request = bot.get_request()
assert request.method == "getChat"
assert response == prepare_result.result