mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-10 17:53:17 +00:00
102 lines
3.2 KiB
Python
102 lines
3.2 KiB
Python
import datetime
|
|
from typing import List
|
|
|
|
import pytest
|
|
|
|
from aiogram.api.methods import Request, SendMediaGroup
|
|
from aiogram.api.types import (
|
|
BufferedInputFile,
|
|
Chat,
|
|
InputMediaPhoto,
|
|
InputMediaVideo,
|
|
Message,
|
|
PhotoSize,
|
|
Video,
|
|
)
|
|
from tests.mocked_bot import MockedBot
|
|
|
|
|
|
class TestSendMediaGroup:
|
|
@pytest.mark.asyncio
|
|
async def test_method(self, bot: MockedBot):
|
|
prepare_result = bot.add_result_for(
|
|
SendMediaGroup,
|
|
ok=True,
|
|
result=[
|
|
Message(
|
|
message_id=42,
|
|
date=datetime.datetime.now(),
|
|
photo=[
|
|
PhotoSize(file_id="file id", width=42, height=42, file_unique_id="file id")
|
|
],
|
|
media_group_id="media group",
|
|
chat=Chat(id=42, type="private"),
|
|
),
|
|
Message(
|
|
message_id=43,
|
|
date=datetime.datetime.now(),
|
|
video=Video(
|
|
file_id="file id",
|
|
width=42,
|
|
height=42,
|
|
duration=0,
|
|
file_unique_id="file id",
|
|
),
|
|
media_group_id="media group",
|
|
chat=Chat(id=42, type="private"),
|
|
),
|
|
],
|
|
)
|
|
|
|
response: List[Message] = await SendMediaGroup(
|
|
chat_id=42,
|
|
media=[
|
|
InputMediaPhoto(media="file id"),
|
|
InputMediaVideo(media=BufferedInputFile(b"", "video.mp4")),
|
|
],
|
|
)
|
|
request: Request = bot.get_request()
|
|
assert request.method == "sendMediaGroup"
|
|
assert response == prepare_result.result
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_bot_method(self, bot: MockedBot):
|
|
prepare_result = bot.add_result_for(
|
|
SendMediaGroup,
|
|
ok=True,
|
|
result=[
|
|
Message(
|
|
message_id=42,
|
|
date=datetime.datetime.now(),
|
|
photo=[
|
|
PhotoSize(file_id="file id", width=42, height=42, file_unique_id="file id")
|
|
],
|
|
media_group_id="media group",
|
|
chat=Chat(id=42, type="private"),
|
|
),
|
|
Message(
|
|
message_id=43,
|
|
date=datetime.datetime.now(),
|
|
video=Video(
|
|
file_id="file id",
|
|
width=42,
|
|
height=42,
|
|
duration=0,
|
|
file_unique_id="file id",
|
|
),
|
|
media_group_id="media group",
|
|
chat=Chat(id=42, type="private"),
|
|
),
|
|
],
|
|
)
|
|
|
|
response: List[Message] = await bot.send_media_group(
|
|
chat_id=42,
|
|
media=[
|
|
InputMediaPhoto(media="file id"),
|
|
InputMediaVideo(media=BufferedInputFile(b"", "video.mp4")),
|
|
],
|
|
)
|
|
request: Request = bot.get_request()
|
|
assert request.method == "sendMediaGroup"
|
|
assert response == prepare_result.result
|