aiogram/tests/test_api/test_methods/test_send_invoice.py

76 lines
2.3 KiB
Python
Raw Normal View History

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