mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Merge remote-tracking branch 'origin/dev-3.x-api-5.3' into dev-3.x-api-5.3
This commit is contained in:
commit
259e4d000e
8 changed files with 98 additions and 51 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
|
import pytest
|
||||||
|
|
||||||
from aiogram.methods import GetChatAdministrators, Request
|
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
|
from tests.mocked_bot import MockedBot
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -14,7 +14,9 @@ class TestGetChatAdministrators:
|
||||||
GetChatAdministrators,
|
GetChatAdministrators,
|
||||||
ok=True,
|
ok=True,
|
||||||
result=[
|
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,
|
GetChatAdministrators,
|
||||||
ok=True,
|
ok=True,
|
||||||
result=[
|
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)
|
response: List[ChatMember] = await bot.get_chat_administrators(chat_id=-42)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from aiogram.methods import GetChatMember, Request
|
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
|
from tests.mocked_bot import MockedBot
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -11,7 +11,9 @@ class TestGetChatMember:
|
||||||
prepare_result = bot.add_result_for(
|
prepare_result = bot.add_result_for(
|
||||||
GetChatMember,
|
GetChatMember,
|
||||||
ok=True,
|
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)
|
response: ChatMember = await GetChatMember(chat_id=-42, user_id=42)
|
||||||
|
|
@ -24,7 +26,9 @@ class TestGetChatMember:
|
||||||
prepare_result = bot.add_result_for(
|
prepare_result = bot.add_result_for(
|
||||||
GetChatMember,
|
GetChatMember,
|
||||||
ok=True,
|
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)
|
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
|
|
||||||
|
|
@ -14,7 +14,7 @@ from aiogram.methods import GetMe, GetUpdates, SendMessage
|
||||||
from aiogram.types import (
|
from aiogram.types import (
|
||||||
CallbackQuery,
|
CallbackQuery,
|
||||||
Chat,
|
Chat,
|
||||||
ChatMember,
|
ChatMemberMember,
|
||||||
ChatMemberUpdated,
|
ChatMemberUpdated,
|
||||||
ChosenInlineResult,
|
ChosenInlineResult,
|
||||||
InlineQuery,
|
InlineQuery,
|
||||||
|
|
@ -375,11 +375,11 @@ class TestDispatcher:
|
||||||
chat=Chat(id=42, type="private"),
|
chat=Chat(id=42, type="private"),
|
||||||
from_user=User(id=42, is_bot=False, first_name="Test"),
|
from_user=User(id=42, is_bot=False, first_name="Test"),
|
||||||
date=datetime.datetime.now(),
|
date=datetime.datetime.now(),
|
||||||
old_chat_member=ChatMember(
|
old_chat_member=ChatMemberMember(
|
||||||
user=User(id=42, is_bot=False, first_name="Test"), status="restricted"
|
user=User(id=42, is_bot=False, first_name="Test")
|
||||||
),
|
),
|
||||||
new_chat_member=ChatMember(
|
new_chat_member=ChatMemberMember(
|
||||||
user=User(id=42, is_bot=False, first_name="Test"), status="restricted"
|
user=User(id=42, is_bot=False, first_name="Test")
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
@ -394,11 +394,11 @@ class TestDispatcher:
|
||||||
chat=Chat(id=42, type="private"),
|
chat=Chat(id=42, type="private"),
|
||||||
from_user=User(id=42, is_bot=False, first_name="Test"),
|
from_user=User(id=42, is_bot=False, first_name="Test"),
|
||||||
date=datetime.datetime.now(),
|
date=datetime.datetime.now(),
|
||||||
old_chat_member=ChatMember(
|
old_chat_member=ChatMemberMember(
|
||||||
user=User(id=42, is_bot=False, first_name="Test"), status="restricted"
|
user=User(id=42, is_bot=False, first_name="Test")
|
||||||
),
|
),
|
||||||
new_chat_member=ChatMember(
|
new_chat_member=ChatMemberMember(
|
||||||
user=User(id=42, is_bot=False, first_name="Test"), status="restricted"
|
user=User(id=42, is_bot=False, first_name="Test")
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from typing import Any
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from aiogram.dispatcher.handler.chat_member import ChatMemberHandler
|
from aiogram.dispatcher.handler.chat_member import ChatMemberHandler
|
||||||
from aiogram.types import Chat, ChatMember, ChatMemberUpdated, User
|
from aiogram.types import Chat, ChatMemberMember, ChatMemberUpdated, User
|
||||||
|
|
||||||
|
|
||||||
class TestChatMemberUpdated:
|
class TestChatMemberUpdated:
|
||||||
|
|
@ -14,12 +14,8 @@ class TestChatMemberUpdated:
|
||||||
chat=Chat(id=42, type="private"),
|
chat=Chat(id=42, type="private"),
|
||||||
from_user=User(id=42, is_bot=False, first_name="Test"),
|
from_user=User(id=42, is_bot=False, first_name="Test"),
|
||||||
date=datetime.datetime.now(),
|
date=datetime.datetime.now(),
|
||||||
old_chat_member=ChatMember(
|
old_chat_member=ChatMemberMember(user=User(id=42, is_bot=False, first_name="Test")),
|
||||||
user=User(id=42, is_bot=False, first_name="Test"), status="restricted"
|
new_chat_member=ChatMemberMember(user=User(id=42, is_bot=False, first_name="Test")),
|
||||||
),
|
|
||||||
new_chat_member=ChatMember(
|
|
||||||
user=User(id=42, is_bot=False, first_name="Test"), status="restricted"
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
class MyHandler(ChatMemberHandler):
|
class MyHandler(ChatMemberHandler):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue