2019-11-18 22:22:46 +02:00
|
|
|
import pytest
|
2019-11-19 00:04:02 +02:00
|
|
|
|
2019-12-03 13:10:09 +02:00
|
|
|
from aiogram import Bot
|
2021-01-26 21:20:52 +02:00
|
|
|
from aiogram.methods import AnswerInlineQuery, Request
|
2021-08-17 00:08:36 +03:00
|
|
|
from aiogram.types import InlineQueryResult, InlineQueryResultPhoto, InputTextMessageContent
|
2019-11-18 22:22:46 +02:00
|
|
|
from tests.mocked_bot import MockedBot
|
|
|
|
|
|
2021-08-03 23:40:14 +03:00
|
|
|
pytestmark = pytest.mark.asyncio
|
|
|
|
|
|
2019-11-18 22:22:46 +02:00
|
|
|
|
|
|
|
|
class TestAnswerInlineQuery:
|
|
|
|
|
async def test_method(self, bot: MockedBot):
|
2019-11-19 00:04:02 +02:00
|
|
|
prepare_result = bot.add_result_for(AnswerInlineQuery, ok=True, result=True)
|
2019-11-18 22:22:46 +02:00
|
|
|
|
|
|
|
|
response: bool = await AnswerInlineQuery(
|
2019-11-19 00:04:02 +02:00
|
|
|
inline_query_id="query id", results=[InlineQueryResult()]
|
2019-11-18 22:22:46 +02:00
|
|
|
)
|
|
|
|
|
request: Request = bot.get_request()
|
|
|
|
|
assert request.method == "answerInlineQuery"
|
|
|
|
|
assert response == prepare_result.result
|
|
|
|
|
|
|
|
|
|
async def test_bot_method(self, bot: MockedBot):
|
2019-11-19 00:04:02 +02:00
|
|
|
prepare_result = bot.add_result_for(AnswerInlineQuery, ok=True, result=True)
|
2019-11-18 22:22:46 +02:00
|
|
|
|
|
|
|
|
response: bool = await bot.answer_inline_query(
|
2019-11-19 00:04:02 +02:00
|
|
|
inline_query_id="query id", results=[InlineQueryResult()]
|
2019-11-18 22:22:46 +02:00
|
|
|
)
|
|
|
|
|
request: Request = bot.get_request()
|
|
|
|
|
assert request.method == "answerInlineQuery"
|
|
|
|
|
assert response == prepare_result.result
|
2019-12-03 13:10:09 +02:00
|
|
|
|
2020-06-14 18:18:29 +03:00
|
|
|
def test_parse_mode(self, bot: MockedBot):
|
2019-12-03 13:10:09 +02:00
|
|
|
query = AnswerInlineQuery(
|
|
|
|
|
inline_query_id="query id",
|
|
|
|
|
results=[InlineQueryResultPhoto(id="result id", photo_url="photo", thumb_url="thumb")],
|
|
|
|
|
)
|
2020-06-14 18:18:29 +03:00
|
|
|
request = query.build_request(bot)
|
2019-12-03 13:10:09 +02:00
|
|
|
assert request.data["results"][0]["parse_mode"] is None
|
|
|
|
|
|
2020-06-14 18:18:29 +03:00
|
|
|
new_bot = Bot(token="42:TEST", parse_mode="HTML")
|
|
|
|
|
request = query.build_request(new_bot)
|
|
|
|
|
assert request.data["results"][0]["parse_mode"] == "HTML"
|
2021-08-17 00:08:36 +03:00
|
|
|
|
|
|
|
|
def test_parse_mode_input_message_content(self, bot: MockedBot):
|
|
|
|
|
query = AnswerInlineQuery(
|
|
|
|
|
inline_query_id="query id",
|
|
|
|
|
results=[
|
|
|
|
|
InlineQueryResultPhoto(
|
|
|
|
|
id="result id",
|
|
|
|
|
photo_url="photo",
|
|
|
|
|
thumb_url="thumb",
|
|
|
|
|
input_message_content=InputTextMessageContent(message_text="test"),
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
request = query.build_request(bot)
|
|
|
|
|
assert request.data["results"][0]["input_message_content"]["parse_mode"] is None
|
|
|
|
|
|
|
|
|
|
new_bot = Bot(token="42:TEST", parse_mode="HTML")
|
|
|
|
|
request = query.build_request(new_bot)
|
|
|
|
|
assert request.data["results"][0]["input_message_content"]["parse_mode"] == "HTML"
|