mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-14 10:53:23 +00:00
Added full support of Bot API 7.2 (#1444)
* Added base support of Bot API 7.2 * Added base support of Bot API 7.2 * Fixing tests and content types for Telegram Bot API 7.2 update (#1453) * Fixing tests and content types for Telegram Bot API 7.2 * Adding changelog for 1453 PR * Fixes + coverage * Replace `BusinessConnection.date` type * Reformat code * Refactor UserContextMiddleware to use EventContext class This update significantly refactors UserContextMiddleware to leverage a new class, EventContext. Instead of resolving event context as a tuple, it now produces an instance of EventContext. Additional adjustments include supporting a business connection ID for event context identification and facilitating backwards compatibility. Tests and other files were also updated accordingly for these changes. * Cover FSM key builder (business_connection_id * Added changelog --------- Co-authored-by: RoLOQ <roman.fedunn@gmail.com>
This commit is contained in:
parent
5f157beb26
commit
057478621b
147 changed files with 3509 additions and 651 deletions
|
|
@ -1,3 +1,4 @@
|
|||
from aiogram.enums import StickerFormat
|
||||
from aiogram.methods import AddStickerToSet
|
||||
from aiogram.types import InputSticker
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
|
@ -10,7 +11,9 @@ class TestAddStickerToSet:
|
|||
response: bool = await bot.add_sticker_to_set(
|
||||
user_id=42,
|
||||
name="test stickers pack",
|
||||
sticker=InputSticker(sticker="file id", emoji_list=[":)"]),
|
||||
sticker=InputSticker(
|
||||
sticker="file id", format=StickerFormat.STATIC, emoji_list=[":)"]
|
||||
),
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert response == prepare_result.result
|
||||
|
|
|
|||
|
|
@ -13,8 +13,10 @@ class TestCreateNewStickerSet:
|
|||
name="name",
|
||||
title="title",
|
||||
stickers=[
|
||||
InputSticker(sticker="file id", emoji_list=[":)"]),
|
||||
InputSticker(sticker=FSInputFile("file.png"), emoji_list=["=("]),
|
||||
InputSticker(sticker="file id", format=StickerFormat.STATIC, emoji_list=[":)"]),
|
||||
InputSticker(
|
||||
sticker=FSInputFile("file.png"), format=StickerFormat.STATIC, emoji_list=["=("]
|
||||
),
|
||||
],
|
||||
sticker_format=StickerFormat.STATIC,
|
||||
)
|
||||
|
|
|
|||
24
tests/test_api/test_methods/test_get_business_connection.py
Normal file
24
tests/test_api/test_methods/test_get_business_connection.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
from aiogram.methods import GetBusinessConnection
|
||||
from aiogram.types import BusinessConnection, User
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestGetBusinessConnection:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(
|
||||
GetBusinessConnection,
|
||||
ok=True,
|
||||
result=BusinessConnection(
|
||||
id="test",
|
||||
user=User(id=42, is_bot=False, first_name="User"),
|
||||
user_chat_id=42,
|
||||
date=42,
|
||||
can_reply=True,
|
||||
is_enabled=True,
|
||||
),
|
||||
)
|
||||
response: BusinessConnection = await bot.get_business_connection(
|
||||
business_connection_id="test"
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert response == prepare_result.result
|
||||
21
tests/test_api/test_methods/test_replace_sticker_in_set.py
Normal file
21
tests/test_api/test_methods/test_replace_sticker_in_set.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
from aiogram.methods import ReplaceStickerInSet
|
||||
from aiogram.types import InputSticker
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
class TestReplaceStickerInSet:
|
||||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(ReplaceStickerInSet, ok=True, result=True)
|
||||
|
||||
response: bool = await bot.replace_sticker_in_set(
|
||||
user_id=42,
|
||||
name="test",
|
||||
old_sticker="test",
|
||||
sticker=InputSticker(
|
||||
sticker="test",
|
||||
format="static",
|
||||
emoji_list=["test"],
|
||||
),
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert response == prepare_result.result
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
from aiogram.enums import StickerFormat
|
||||
from aiogram.methods import Request, SetStickerSetThumbnail
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
|
@ -6,6 +7,8 @@ class TestSetStickerSetThumbnail:
|
|||
async def test_bot_method(self, bot: MockedBot):
|
||||
prepare_result = bot.add_result_for(SetStickerSetThumbnail, ok=True, result=None)
|
||||
|
||||
response: bool = await bot.set_sticker_set_thumbnail(name="test", user_id=42)
|
||||
response: bool = await bot.set_sticker_set_thumbnail(
|
||||
name="test", format=StickerFormat.STATIC, user_id=42
|
||||
)
|
||||
request = bot.get_request()
|
||||
assert response == prepare_result.result
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue