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:
Alex Root Junior 2023-12-31 01:40:44 +02:00 committed by GitHub
parent 756cfeba0a
commit 6795b3de05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
244 changed files with 9401 additions and 1715 deletions

View file

@ -18,16 +18,24 @@ from aiogram.methods import GetMe, GetUpdates, SendMessage, TelegramMethod
from aiogram.types import (
CallbackQuery,
Chat,
ChatBoost,
ChatBoostRemoved,
ChatBoostSourceGiveaway,
ChatBoostUpdated,
ChatJoinRequest,
ChatMemberMember,
ChatMemberUpdated,
ChosenInlineResult,
InlineQuery,
Message,
MessageReactionCountUpdated,
MessageReactionUpdated,
Poll,
PollAnswer,
PollOption,
PreCheckoutQuery,
ReactionCount,
ReactionTypeCustomEmoji,
ShippingAddress,
ShippingQuery,
Update,
@ -447,6 +455,76 @@ class TestDispatcher:
True,
True,
),
pytest.param(
"message_reaction",
Update(
update_id=42,
message_reaction=MessageReactionUpdated(
chat=Chat(id=-42, type="channel"),
message_id=12345,
user=User(id=42, is_bot=False, first_name="Test"),
date=datetime.datetime.now(),
old_reaction=[],
new_reaction=[ReactionTypeCustomEmoji(custom_emoji_id="qwerty")],
),
),
True,
True,
),
pytest.param(
"message_reaction_count",
Update(
update_id=42,
message_reaction_count=MessageReactionCountUpdated(
chat=Chat(id=-42, type="channel"),
message_id=12345,
date=datetime.datetime.now(),
reactions=[
ReactionCount(
type=ReactionTypeCustomEmoji(custom_emoji_id="qwerty"),
total_count=123,
),
],
),
),
True,
False,
),
pytest.param(
"chat_boost",
Update(
update_id=42,
chat_boost=ChatBoostUpdated(
chat=Chat(id=-42, type="channel"),
boost=ChatBoost(
boost_id="qwerty",
add_date=datetime.datetime.now(),
expiration_date=datetime.datetime.now(),
source=ChatBoostSourceGiveaway(
giveaway_message_id=77,
),
),
),
),
True,
False,
),
pytest.param(
"removed_chat_boost",
Update(
update_id=42,
removed_chat_boost=ChatBoostRemoved(
chat=Chat(id=-42, type="channel"),
boost_id="qwerty",
remove_date=datetime.datetime.now(),
source=ChatBoostSourceGiveaway(
giveaway_message_id=77,
),
),
),
True,
False,
),
],
)
async def test_listen_update(