2019-11-19 18:54:02 +02:00
|
|
|
import datetime
|
|
|
|
|
|
2019-11-18 22:22:46 +02:00
|
|
|
import pytest
|
2019-11-19 00:05:19 +02:00
|
|
|
|
2019-11-18 22:22:46 +02:00
|
|
|
from aiogram.api.methods import Request, SendInvoice
|
2019-11-19 18:54:02 +02:00
|
|
|
from aiogram.api.types import Chat, Invoice, LabeledPrice, Message
|
2019-11-18 22:22:46 +02:00
|
|
|
from tests.mocked_bot import MockedBot
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestSendInvoice:
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
|
|
async def test_method(self, bot: MockedBot):
|
2019-11-19 18:54:02 +02:00
|
|
|
prepare_result = bot.add_result_for(
|
|
|
|
|
SendInvoice,
|
|
|
|
|
ok=True,
|
|
|
|
|
result=Message(
|
|
|
|
|
message_id=42,
|
|
|
|
|
date=datetime.datetime.now(),
|
|
|
|
|
invoice=Invoice(
|
|
|
|
|
title="test",
|
|
|
|
|
description="test",
|
|
|
|
|
start_parameter="brilliant",
|
|
|
|
|
currency="BTC",
|
|
|
|
|
total_amount=1,
|
|
|
|
|
),
|
|
|
|
|
chat=Chat(id=42, type="private"),
|
|
|
|
|
),
|
|
|
|
|
)
|
2019-11-18 22:22:46 +02:00
|
|
|
|
|
|
|
|
response: Message = await SendInvoice(
|
2019-11-19 18:54:02 +02:00
|
|
|
chat_id=42,
|
|
|
|
|
title="test",
|
|
|
|
|
description="test",
|
|
|
|
|
payload="payload",
|
|
|
|
|
provider_token="TEST:token",
|
|
|
|
|
start_parameter="brilliant",
|
|
|
|
|
currency="BTC",
|
|
|
|
|
prices=[LabeledPrice(amount=1, label="test")],
|
2019-11-18 22:22:46 +02:00
|
|
|
)
|
|
|
|
|
request: Request = bot.get_request()
|
|
|
|
|
assert request.method == "sendInvoice"
|
|
|
|
|
assert response == prepare_result.result
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
|
|
async def test_bot_method(self, bot: MockedBot):
|
2019-11-19 18:54:02 +02:00
|
|
|
prepare_result = bot.add_result_for(
|
|
|
|
|
SendInvoice,
|
|
|
|
|
ok=True,
|
|
|
|
|
result=Message(
|
|
|
|
|
message_id=42,
|
|
|
|
|
date=datetime.datetime.now(),
|
|
|
|
|
invoice=Invoice(
|
|
|
|
|
title="test",
|
|
|
|
|
description="test",
|
|
|
|
|
start_parameter="brilliant",
|
|
|
|
|
currency="BTC",
|
|
|
|
|
total_amount=1,
|
|
|
|
|
),
|
|
|
|
|
chat=Chat(id=42, type="private"),
|
|
|
|
|
),
|
|
|
|
|
)
|
2019-11-18 22:22:46 +02:00
|
|
|
|
|
|
|
|
response: Message = await bot.send_invoice(
|
2019-11-19 18:54:02 +02:00
|
|
|
chat_id=42,
|
|
|
|
|
title="test",
|
|
|
|
|
description="test",
|
|
|
|
|
payload="payload",
|
|
|
|
|
provider_token="TEST:token",
|
|
|
|
|
start_parameter="brilliant",
|
|
|
|
|
currency="BTC",
|
|
|
|
|
prices=[LabeledPrice(amount=1, label="test")],
|
2019-11-18 22:22:46 +02:00
|
|
|
)
|
|
|
|
|
request: Request = bot.get_request()
|
|
|
|
|
assert request.method == "sendInvoice"
|
|
|
|
|
assert response == prepare_result.result
|