diff --git a/aiogram/types/reply_keyboard_remove.py b/aiogram/types/reply_keyboard_remove.py index c5ca6bda..ba16ad5c 100644 --- a/aiogram/types/reply_keyboard_remove.py +++ b/aiogram/types/reply_keyboard_remove.py @@ -12,7 +12,7 @@ class ReplyKeyboardRemove(MutableTelegramObject): Source: https://core.telegram.org/bots/api#replykeyboardremove """ - remove_keyboard: bool + remove_keyboard: bool = True """Requests clients to remove the custom keyboard (user will not be able to summon this keyboard; if you want to hide the keyboard from sight but keep it accessible, use *one_time_keyboard* in :class:`aiogram.types.reply_keyboard_markup.ReplyKeyboardMarkup`)""" selective: Optional[bool] = None """*Optional*. Use this parameter if you want to remove the keyboard for specific users only. Targets: 1) users that are @mentioned in the *text* of the :class:`aiogram.types.message.Message` object; 2) if the bot's message is a reply (has *reply_to_message_id*), sender of the original message.""" diff --git a/tests/test_api/test_methods/test_close.py b/tests/test_api/test_methods/test_close.py new file mode 100644 index 00000000..ce3ce43d --- /dev/null +++ b/tests/test_api/test_methods/test_close.py @@ -0,0 +1,25 @@ +import pytest +from aiogram.methods import Close, Request +from tests.mocked_bot import MockedBot + + +class TestClose: + @pytest.mark.asyncio + async def test_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(Close, ok=True, result=True) + + response: bool = await Close() + request: Request = bot.get_request() + assert request.method == "close" + # assert request.data == {} + assert response == prepare_result.result + + @pytest.mark.asyncio + async def test_bot_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(Close, ok=True, result=True) + + response: bool = await bot.close() + request: Request = bot.get_request() + assert request.method == "close" + # assert request.data == {} + assert response == prepare_result.result diff --git a/tests/test_api/test_methods/test_copy_message.py b/tests/test_api/test_methods/test_copy_message.py new file mode 100644 index 00000000..f0f1812c --- /dev/null +++ b/tests/test_api/test_methods/test_copy_message.py @@ -0,0 +1,30 @@ +import pytest +from aiogram.methods import CopyMessage, Request +from aiogram.types import MessageId +from tests.mocked_bot import MockedBot + + +class TestCopyMessage: + @pytest.mark.asyncio + async def test_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(CopyMessage, ok=True, result=MessageId(message_id=42)) + + response: MessageId = await CopyMessage( + chat_id=42, from_chat_id=42, message_id=42, + ) + request: Request = bot.get_request() + assert request.method == "copyMessage" + # assert request.data == {} + assert response == prepare_result.result + + @pytest.mark.asyncio + async def test_bot_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(CopyMessage, ok=True, result=MessageId(message_id=42)) + + response: MessageId = await bot.copy_message( + chat_id=42, from_chat_id=42, message_id=42, + ) + request: Request = bot.get_request() + assert request.method == "copyMessage" + # assert request.data == {} + assert response == prepare_result.result diff --git a/tests/test_api/test_methods/test_log_out.py b/tests/test_api/test_methods/test_log_out.py new file mode 100644 index 00000000..bc9149f3 --- /dev/null +++ b/tests/test_api/test_methods/test_log_out.py @@ -0,0 +1,25 @@ +import pytest +from aiogram.methods import LogOut, Request +from tests.mocked_bot import MockedBot + + +class TestLogOut: + @pytest.mark.asyncio + async def test_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(LogOut, ok=True, result=True) + + response: bool = await LogOut() + request: Request = bot.get_request() + assert request.method == "logOut" + # assert request.data == {} + assert response == prepare_result.result + + @pytest.mark.asyncio + async def test_bot_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(LogOut, ok=True, result=True) + + response: bool = await bot.log_out() + request: Request = bot.get_request() + assert request.method == "logOut" + # assert request.data == {} + assert response == prepare_result.result diff --git a/tests/test_api/test_methods/test_unpin_all_chat_messages.py b/tests/test_api/test_methods/test_unpin_all_chat_messages.py new file mode 100644 index 00000000..edb2adfc --- /dev/null +++ b/tests/test_api/test_methods/test_unpin_all_chat_messages.py @@ -0,0 +1,25 @@ +import pytest +from aiogram.methods import Request, UnpinAllChatMessages +from tests.mocked_bot import MockedBot + + +class TestUnpinAllChatMessages: + @pytest.mark.asyncio + async def test_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(UnpinAllChatMessages, ok=True, result=True) + + response: bool = await UnpinAllChatMessages(chat_id=42,) + request: Request = bot.get_request() + assert request.method == "unpinAllChatMessages" + # assert request.data == {} + assert response == prepare_result.result + + @pytest.mark.asyncio + async def test_bot_method(self, bot: MockedBot): + prepare_result = bot.add_result_for(UnpinAllChatMessages, ok=True, result=True) + + response: bool = await bot.unpin_all_chat_messages(chat_id=42,) + request: Request = bot.get_request() + assert request.method == "unpinAllChatMessages" + # assert request.data == {} + assert response == prepare_result.result