mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-07 20:03:33 -05:00
84 lines
2.7 KiB
Python
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"}
|
|
)
|