Files
notifications-admin/tests/app/notify_client/test_billing_client.py
Carlo Costino 72c8a46b8c Reformatted a handful more tests
Signed-off-by: Carlo Costino <carlo.costino@gsa.gov>
2023-10-12 10:24:48 -04:00

84 lines
2.7 KiB
Python

import uuid
import pytest
from app.notify_client.billing_api_client import BillingAPIClient
def test_get_free_sms_fragment_limit_for_year_correct_endpoint(mocker, api_user_active):
service_id = uuid.uuid4()
expected_url = "/service/{}/billing/free-sms-fragment-limit".format(service_id)
client = BillingAPIClient()
mock_get = mocker.patch("app.notify_client.billing_api_client.BillingAPIClient.get")
client.get_free_sms_fragment_limit_for_year(service_id, year=1999)
mock_get.assert_called_once_with(
expected_url, params={"financial_year_start": 1999}
)
def test_post_free_sms_fragment_limit_for_current_year_endpoint(
mocker, api_user_active
):
service_id = uuid.uuid4()
sms_limit_data = {"free_sms_fragment_limit": 1111, "financial_year_start": None}
mock_post = mocker.patch(
"app.notify_client.billing_api_client.BillingAPIClient.post"
)
client = BillingAPIClient()
client.create_or_update_free_sms_fragment_limit(
service_id=service_id, free_sms_fragment_limit=1111
)
mock_post.assert_called_once_with(
url="/service/{}/billing/free-sms-fragment-limit".format(service_id),
data=sms_limit_data,
)
def test_post_free_sms_fragment_limit_for_year_endpoint(mocker, api_user_active):
service_id = uuid.uuid4()
sms_limit_data = {"free_sms_fragment_limit": 1111, "financial_year_start": 2017}
mock_post = mocker.patch(
"app.notify_client.billing_api_client.BillingAPIClient.post"
)
client = BillingAPIClient()
client.create_or_update_free_sms_fragment_limit(
service_id=service_id, free_sms_fragment_limit=1111, year=2017
)
mock_post.assert_called_once_with(
url="/service/{}/billing/free-sms-fragment-limit".format(service_id),
data=sms_limit_data,
)
@pytest.mark.parametrize(
("func", "expected_url"),
[
(
BillingAPIClient.get_data_for_volumes_by_service_report,
"/platform-stats/volumes-by-service",
),
(
BillingAPIClient.get_data_for_daily_volumes_report,
"/platform-stats/daily-volumes-report",
),
(
BillingAPIClient.get_data_for_daily_sms_provider_volumes_report,
"/platform-stats/daily-sms-provider-volumes-report",
),
],
)
def test_get_data_for_volume_reports(mocker, api_user_active, func, expected_url):
mock_get = mocker.patch("app.notify_client.billing_api_client.BillingAPIClient.get")
client = BillingAPIClient()
func(client, "2022-03-01", "2022-03-31")
mock_get.assert_called_once_with(
url=expected_url, params={"start_date": "2022-03-01", "end_date": "2022-03-31"}
)