More tests

This commit is contained in:
jrootjunior 2019-11-19 18:54:02 +02:00
parent 635f08b88f
commit 33c661d732
5 changed files with 150 additions and 54 deletions

View file

@ -1,45 +1,75 @@
import datetime
import pytest
from aiogram.api.methods import Request, SendInvoice
from aiogram.api.types import Chat, Invoice, LabeledPrice, Message
from tests.mocked_bot import MockedBot
@pytest.mark.skip
class TestSendInvoice:
@pytest.mark.asyncio
async def test_method(self, bot: MockedBot):
prepare_result = bot.add_result_for(SendInvoice, ok=True, result=None)
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"),
),
)
response: Message = await SendInvoice(
chat_id=...,
title=...,
description=...,
payload=...,
provider_token=...,
start_parameter=...,
currency=...,
prices=...,
chat_id=42,
title="test",
description="test",
payload="payload",
provider_token="TEST:token",
start_parameter="brilliant",
currency="BTC",
prices=[LabeledPrice(amount=1, label="test")],
)
request: Request = bot.get_request()
assert request.method == "sendInvoice"
# assert request.data == {}
assert response == prepare_result.result
@pytest.mark.asyncio
async def test_bot_method(self, bot: MockedBot):
prepare_result = bot.add_result_for(SendInvoice, ok=True, result=None)
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"),
),
)
response: Message = await bot.send_invoice(
chat_id=...,
title=...,
description=...,
payload=...,
provider_token=...,
start_parameter=...,
currency=...,
prices=...,
chat_id=42,
title="test",
description="test",
payload="payload",
provider_token="TEST:token",
start_parameter="brilliant",
currency="BTC",
prices=[LabeledPrice(amount=1, label="test")],
)
request: Request = bot.get_request()
assert request.method == "sendInvoice"
# assert request.data == {}
assert response == prepare_result.result