mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 10:11:52 +00:00
* 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>
34 lines
1.3 KiB
Python
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
|