mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 02:03:04 +00:00
[3.x] Bot API 5.3 + Improvements (#618)
* Regenerate API * Update code * Fixed command filter for photos * Fix tests so they are able to run * Test new and renamed API methods * Reformat files * Fix outer_middleware resolution (#637) (#640) * Fix outer_middleware resolution (#637) * Reformat files * Reorder routers when resolve middlewares Co-authored-by: Alex Root Junior <jroot.junior@gmail.com> * Added possibility to use empty callback data factory filter * Rename KeyboardConstructor to KeyboardBuilder * Fixed type Co-authored-by: evgfilim1 <evgfilim1@yandex.ru>
This commit is contained in:
parent
4599913e18
commit
ac2b0bb198
69 changed files with 1223 additions and 206 deletions
24
tests/test_api/test_methods/test_ban_chat_member.py
Normal file
24
tests/test_api/test_methods/test_ban_chat_member.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import pytest
|
||||
|
||||
from aiogram.methods import BanChatMember, Request
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestKickChatMember:
|
||||
@pytest.mark.asyncio
|
||||
async def test_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(BanChatMember, ok=True, result=True)
|
||||
|
||||
response: bool = await BanChatMember(chat_id=-42, user_id=42)
|
||||
request: Request = bot.get_request()
|
||||
assert request.method == "banChatMember"
|
||||
assert response == prepare_result.result
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(BanChatMember, ok=True, result=True)
|
||||
|
||||
response: bool = await bot.ban_chat_member(chat_id=-42, user_id=42)
|
||||
request: Request = bot.get_request()
|
||||
assert request.method == "banChatMember"
|
||||
assert response == prepare_result.result
|
||||
24
tests/test_api/test_methods/test_delete_my_commands.py
Normal file
24
tests/test_api/test_methods/test_delete_my_commands.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import pytest
|
||||
|
||||
from aiogram.methods import BanChatMember, DeleteMyCommands, Request
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestKickChatMember:
|
||||
@pytest.mark.asyncio
|
||||
async def test_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(DeleteMyCommands, ok=True, result=True)
|
||||
|
||||
response: bool = await DeleteMyCommands()
|
||||
request: Request = bot.get_request()
|
||||
assert request.method == "deleteMyCommands"
|
||||
assert response == prepare_result.result
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(DeleteMyCommands, ok=True, result=True)
|
||||
|
||||
response: bool = await bot.delete_my_commands()
|
||||
request: Request = bot.get_request()
|
||||
assert request.method == "deleteMyCommands"
|
||||
assert response == prepare_result.result
|
||||
|
|
@ -3,7 +3,7 @@ from typing import List
|
|||
import pytest
|
||||
|
||||
from aiogram.methods import GetChatAdministrators, Request
|
||||
from aiogram.types import ChatMember, User
|
||||
from aiogram.types import ChatMember, ChatMemberOwner, User
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
|
|
@ -14,7 +14,9 @@ class TestGetChatAdministrators:
|
|||
GetChatAdministrators,
|
||||
ok=True,
|
||||
result=[
|
||||
ChatMember(user=User(id=42, is_bot=False, first_name="User"), status="creator")
|
||||
ChatMemberOwner(
|
||||
user=User(id=42, is_bot=False, first_name="User"), is_anonymous=False
|
||||
)
|
||||
],
|
||||
)
|
||||
|
||||
|
|
@ -29,7 +31,9 @@ class TestGetChatAdministrators:
|
|||
GetChatAdministrators,
|
||||
ok=True,
|
||||
result=[
|
||||
ChatMember(user=User(id=42, is_bot=False, first_name="User"), status="creator")
|
||||
ChatMemberOwner(
|
||||
user=User(id=42, is_bot=False, first_name="User"), is_anonymous=False
|
||||
)
|
||||
],
|
||||
)
|
||||
response: List[ChatMember] = await bot.get_chat_administrators(chat_id=-42)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from aiogram.methods import GetChatMember, Request
|
||||
from aiogram.types import ChatMember, User
|
||||
from aiogram.types import ChatMember, ChatMemberOwner, User
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
|
|
@ -11,7 +11,9 @@ class TestGetChatMember:
|
|||
prepare_result = bot.add_result_for(
|
||||
GetChatMember,
|
||||
ok=True,
|
||||
result=ChatMember(user=User(id=42, is_bot=False, first_name="User"), status="creator"),
|
||||
result=ChatMemberOwner(
|
||||
user=User(id=42, is_bot=False, first_name="User"), is_anonymous=False
|
||||
),
|
||||
)
|
||||
|
||||
response: ChatMember = await GetChatMember(chat_id=-42, user_id=42)
|
||||
|
|
@ -24,7 +26,9 @@ class TestGetChatMember:
|
|||
prepare_result = bot.add_result_for(
|
||||
GetChatMember,
|
||||
ok=True,
|
||||
result=ChatMember(user=User(id=42, is_bot=False, first_name="User"), status="creator"),
|
||||
result=ChatMemberOwner(
|
||||
user=User(id=42, is_bot=False, first_name="User"), is_anonymous=False
|
||||
),
|
||||
)
|
||||
|
||||
response: ChatMember = await bot.get_chat_member(chat_id=-42, user_id=42)
|
||||
|
|
|
|||
24
tests/test_api/test_methods/test_get_chat_member_count.py
Normal file
24
tests/test_api/test_methods/test_get_chat_member_count.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import pytest
|
||||
|
||||
from aiogram.methods import GetChatMemberCount, Request
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestGetChatMembersCount:
|
||||
@pytest.mark.asyncio
|
||||
async def test_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(GetChatMemberCount, ok=True, result=42)
|
||||
|
||||
response: int = await GetChatMemberCount(chat_id=-42)
|
||||
request: Request = bot.get_request()
|
||||
assert request.method == "getChatMemberCount"
|
||||
assert response == prepare_result.result
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(GetChatMemberCount, ok=True, result=42)
|
||||
|
||||
response: int = await bot.get_chat_member_count(chat_id=-42)
|
||||
request: Request = bot.get_request()
|
||||
assert request.method == "getChatMemberCount"
|
||||
assert response == prepare_result.result
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
import pytest
|
||||
|
||||
from aiogram.types import ChatMember, User
|
||||
|
||||
user = User(id=42, is_bot=False, first_name="User", last_name=None)
|
||||
|
||||
|
||||
class TestChatMember:
|
||||
@pytest.mark.parametrize(
|
||||
"status,result", [["administrator", True], ["creator", True], ["member", False]]
|
||||
)
|
||||
def test_is_chat_admin(self, status: str, result: bool):
|
||||
chat_member = ChatMember(user=user, status=status)
|
||||
assert chat_member.is_chat_admin == result
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"status,result",
|
||||
[
|
||||
["administrator", True],
|
||||
["creator", True],
|
||||
["member", True],
|
||||
["restricted", True],
|
||||
["kicked", False],
|
||||
["left", False],
|
||||
],
|
||||
)
|
||||
def test_is_chat_member(self, status: str, result: bool):
|
||||
chat_member = ChatMember(user=user, status=status)
|
||||
assert chat_member.is_chat_member == result
|
||||
Loading…
Add table
Add a link
Reference in a new issue