aiogram/tests/test_api/test_methods/test_send_chat_action.py
ShiroNoHaga 851f7a2a37
Add class helper ChatAction (#803)
* Add class helper ChatAction

* Change using helper to using enum.Enum

* Add test for class ChatAction

* Use black formatting

* Add pull request description to CHANGES

* Add test coverage

* Use AutoName class for enum values

* Move `AutoName` to separate file

* Move inheritance from `str`

* Fix failing mypy

* Delete old actions

Co-authored-by: Evgen Fil <evgfilim1@yandex.ru>
2022-07-09 23:47:11 +03:00

34 lines
1.3 KiB
Python

import pytest
from aiogram.methods import Request, SendChatAction
from aiogram.types import ChatAction
from tests.mocked_bot import MockedBot
pytestmark = pytest.mark.asyncio
class TestSendChatAction:
async def test_method(self, bot: MockedBot):
prepare_result = bot.add_result_for(SendChatAction, ok=True, result=True)
response: bool = await SendChatAction(chat_id=42, action="typing")
request: Request = bot.get_request()
assert request.method == "sendChatAction"
assert response == prepare_result.result
async def test_bot_method(self, bot: MockedBot):
prepare_result = bot.add_result_for(SendChatAction, ok=True, result=True)
response: bool = await bot.send_chat_action(chat_id=42, action="typing")
request: Request = bot.get_request()
assert request.method == "sendChatAction"
assert response == prepare_result.result
async def test_chat_action_class(self, bot: MockedBot):
prepare_result = bot.add_result_for(SendChatAction, ok=True, result=True)
response: bool = await bot.send_chat_action(chat_id=42, action=ChatAction.TYPING)
request: Request = bot.get_request()
assert request.method == "sendChatAction"
assert request.data["action"] == "typing"
assert response == prepare_result.result