mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Added support for Bot API 7.0 (#1387)
* Added support for Bot API 7.0 * Fixed available tests * Fixed text decorations * Bot API 7.0 tests for ForwardMessages * Bot API 7.0 tests for CopyMessages * Bot API 7.0 tests for DeleteMessages * Bot API 7.0 tests for GetUserChatBoosts * Bot API 7.0 tests for SetMessageReaction * Fixed custom_emoji attribute name * Fixed tests * Test parsing CallbackQuery message (inaccessible and accessible) * Added changes description * Bot API 7.0 tests for dispatcher handle update message_reaction * Bot API 7.0 tests for dispatcher handle update message_reaction_count * Bot API 7.0 tests for dispatcher handle update chat_boost * Bot API 7.0 tests for dispatcher handle update removed_chat_boost * fix tests: update ReactionTypeCustomEmoji custom_emoji -> custom_emoji_id * micro fix Markdown V2 blockquote * add tests for Markdown tools * fix markdown test apply single entity * add tests coverage for Message.react * check that all messages and content types are covered for Message.content_type * sort imports in tests (run `make reformat lint`) * update Giveaway objects Unix time field to DateTime type * Update Message.content_type property * upgrade tests for message content_types and sent_copy * Update Giveaway type generation config * Update GiveawayWinners and PassportFile types generation configs --------- Co-authored-by: Suren Khorenyan <surenkhorenyan@gmail.com>
This commit is contained in:
parent
756cfeba0a
commit
6795b3de05
244 changed files with 9401 additions and 1715 deletions
29
tests/test_api/test_methods/test_copy_messages.py
Normal file
29
tests/test_api/test_methods/test_copy_messages.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from random import randint
|
||||
|
||||
from aiogram.methods import CopyMessages
|
||||
from aiogram.types import MessageId
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestCopyMessages:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
CopyMessages,
|
||||
ok=True,
|
||||
result=[
|
||||
MessageId(message_id=randint(100, 200)),
|
||||
MessageId(message_id=randint(300, 400)),
|
||||
],
|
||||
)
|
||||
|
||||
response: list[MessageId] = await bot.copy_messages(
|
||||
chat_id=randint(1000, 9999),
|
||||
from_chat_id=randint(1000, 9999),
|
||||
message_ids=[
|
||||
randint(1000, 4999),
|
||||
randint(5000, 9999),
|
||||
],
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert request
|
||||
assert response == prepare_result.result
|
||||
19
tests/test_api/test_methods/test_delete_messages.py
Normal file
19
tests/test_api/test_methods/test_delete_messages.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
from aiogram.methods import DeleteMessages
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestDeleteMessages:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
DeleteMessages,
|
||||
ok=True,
|
||||
result=True,
|
||||
)
|
||||
|
||||
response: bool = await bot.delete_messages(
|
||||
chat_id=42,
|
||||
message_ids=[13, 77],
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert request
|
||||
assert response == prepare_result.result
|
||||
|
|
@ -20,4 +20,5 @@ class TestForwardMessage:
|
|||
|
||||
response: Message = await bot.forward_message(chat_id=42, from_chat_id=42, message_id=42)
|
||||
request = bot.get_request()
|
||||
assert request
|
||||
assert response == prepare_result.result
|
||||
|
|
|
|||
29
tests/test_api/test_methods/test_forward_messages.py
Normal file
29
tests/test_api/test_methods/test_forward_messages.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from random import randint
|
||||
|
||||
from aiogram.methods import ForwardMessages
|
||||
from aiogram.types import MessageId
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestForwardMessages:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
ForwardMessages,
|
||||
ok=True,
|
||||
result=[
|
||||
MessageId(message_id=randint(100, 200)),
|
||||
MessageId(message_id=randint(200, 300)),
|
||||
],
|
||||
)
|
||||
|
||||
response: list[MessageId] = await bot.forward_messages(
|
||||
chat_id=randint(10, 50),
|
||||
from_chat_id=randint(50, 99),
|
||||
message_ids=[
|
||||
randint(400, 500),
|
||||
randint(600, 700),
|
||||
],
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert request
|
||||
assert response == prepare_result.result
|
||||
52
tests/test_api/test_methods/test_get_user_chat_boosts.py
Normal file
52
tests/test_api/test_methods/test_get_user_chat_boosts.py
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
from datetime import datetime, timedelta
|
||||
from random import randint
|
||||
|
||||
from aiogram.methods import GetUserChatBoosts
|
||||
from aiogram.types import (
|
||||
ChatBoost,
|
||||
ChatBoostSourceGiveaway,
|
||||
ChatBoostSourcePremium,
|
||||
User,
|
||||
UserChatBoosts,
|
||||
)
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestGetUserChatBoosts:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
now = datetime.now()
|
||||
user = User(
|
||||
id=randint(200, 500),
|
||||
is_bot=False,
|
||||
first_name="name",
|
||||
)
|
||||
prepare_result = bot.add_result_for(
|
||||
GetUserChatBoosts,
|
||||
ok=True,
|
||||
result=UserChatBoosts(
|
||||
boosts=[
|
||||
ChatBoost(
|
||||
boost_id="eggs",
|
||||
add_date=now - timedelta(days=7),
|
||||
expiration_date=now + timedelta(days=14),
|
||||
source=ChatBoostSourceGiveaway(
|
||||
giveaway_message_id=randint(100, 300),
|
||||
),
|
||||
),
|
||||
ChatBoost(
|
||||
boost_id="spam",
|
||||
add_date=now - timedelta(days=3),
|
||||
expiration_date=now + timedelta(days=21),
|
||||
source=ChatBoostSourcePremium(user=user),
|
||||
),
|
||||
]
|
||||
),
|
||||
)
|
||||
|
||||
response: UserChatBoosts = await bot.get_user_chat_boosts(
|
||||
chat_id=randint(100, 200),
|
||||
user_id=user.id,
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert request
|
||||
assert response == prepare_result.result
|
||||
25
tests/test_api/test_methods/test_set_message_reaction.py
Normal file
25
tests/test_api/test_methods/test_set_message_reaction.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from random import randint
|
||||
|
||||
from aiogram.methods import SetMessageReaction
|
||||
from aiogram.types import ReactionTypeCustomEmoji
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestSetMessageReaction:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
SetMessageReaction,
|
||||
ok=True,
|
||||
result=True,
|
||||
)
|
||||
|
||||
response: bool = await bot.set_message_reaction(
|
||||
chat_id=randint(200, 300),
|
||||
message_id=randint(100, 200),
|
||||
reaction=[
|
||||
ReactionTypeCustomEmoji(custom_emoji_id="qwerty"),
|
||||
],
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert request
|
||||
assert response == prepare_result.result
|
||||
Loading…
Add table
Add a link
Reference in a new issue