mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 16:24:08 -04:00
Use annual_billing tables at backend for getting and updating free_sms_fragment_limit
This commit is contained in:
@@ -31,6 +31,7 @@ def test_should_add_service_and_redirect_to_tour_when_no_services(
|
||||
mock_create_service_template,
|
||||
mock_get_services_with_no_services,
|
||||
api_user_active,
|
||||
mock_create_or_update_free_sms_fragment_limit,
|
||||
):
|
||||
response = logged_in_client.post(
|
||||
url_for('main.add_service'),
|
||||
@@ -83,6 +84,7 @@ def test_should_add_service_and_redirect_to_dashboard_when_existing_service(
|
||||
api_user_active,
|
||||
organisation_type,
|
||||
free_allowance,
|
||||
mock_create_or_update_free_sms_fragment_limit
|
||||
):
|
||||
response = logged_in_client.post(
|
||||
url_for('main.add_service'),
|
||||
|
||||
@@ -502,6 +502,7 @@ def test_usage_page(
|
||||
logged_in_client,
|
||||
mock_get_usage,
|
||||
mock_get_billable_units,
|
||||
mock_get_free_sms_fragment_limit
|
||||
):
|
||||
response = logged_in_client.get(url_for('main.usage', service_id=SERVICE_ONE_ID))
|
||||
|
||||
@@ -509,6 +510,7 @@ def test_usage_page(
|
||||
|
||||
mock_get_billable_units.assert_called_once_with(SERVICE_ONE_ID, 2011)
|
||||
mock_get_usage.assert_called_once_with(SERVICE_ONE_ID, 2011)
|
||||
mock_get_free_sms_fragment_limit.assert_called_with(SERVICE_ONE_ID, 2011)
|
||||
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
|
||||
@@ -540,11 +542,14 @@ def test_usage_page(
|
||||
def test_usage_page_with_year_argument(
|
||||
logged_in_client,
|
||||
mock_get_usage,
|
||||
mock_get_billable_units
|
||||
mock_get_billable_units,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_create_or_update_free_sms_fragment_limit
|
||||
):
|
||||
assert logged_in_client.get(url_for('main.usage', service_id=SERVICE_ONE_ID, year=2000)).status_code == 200
|
||||
mock_get_billable_units.assert_called_once_with(SERVICE_ONE_ID, 2000)
|
||||
mock_get_usage.assert_called_once_with(SERVICE_ONE_ID, 2000)
|
||||
mock_get_free_sms_fragment_limit.assert_called_with(SERVICE_ONE_ID, 2000)
|
||||
|
||||
|
||||
def test_usage_page_for_invalid_year(
|
||||
@@ -558,11 +563,13 @@ def test_future_usage_page(
|
||||
logged_in_client,
|
||||
mock_get_future_usage,
|
||||
mock_get_future_billable_units,
|
||||
mock_get_free_sms_fragment_limit
|
||||
):
|
||||
assert logged_in_client.get(url_for('main.usage', service_id=SERVICE_ONE_ID, year=2014)).status_code == 200
|
||||
|
||||
mock_get_future_billable_units.assert_called_once_with(SERVICE_ONE_ID, 2014)
|
||||
mock_get_future_usage.assert_called_once_with(SERVICE_ONE_ID, 2014)
|
||||
mock_get_free_sms_fragment_limit.assert_called_with(SERVICE_ONE_ID, 2014)
|
||||
|
||||
|
||||
def _test_dashboard_menu(mocker, app_, usr, service, permissions):
|
||||
@@ -866,9 +873,10 @@ def test_aggregate_status_types(dict_in, expected_failed, expected_requested):
|
||||
]
|
||||
)
|
||||
def test_get_free_paid_breakdown_for_billable_units(now, expected_number_of_months):
|
||||
sms_allowance = 250000
|
||||
with now:
|
||||
billing_units = get_free_paid_breakdown_for_billable_units(
|
||||
2016, [
|
||||
2016, sms_allowance, [
|
||||
{
|
||||
'month': 'April', 'international': False, 'rate_multiplier': 1,
|
||||
'notification_type': 'sms', 'rate': 1.65, 'billing_units': 100000
|
||||
|
||||
@@ -88,7 +88,8 @@ def test_should_show_overview(
|
||||
single_sms_sender,
|
||||
user,
|
||||
expected_rows,
|
||||
mock_get_inbound_number_for_service
|
||||
mock_get_inbound_number_for_service,
|
||||
mock_get_free_sms_fragment_limit
|
||||
):
|
||||
|
||||
service_one['permissions'] = ['sms', 'email']
|
||||
@@ -1592,7 +1593,9 @@ def test_should_set_sms_allowance(
|
||||
mock_update_service,
|
||||
given_allowance,
|
||||
expected_api_argument,
|
||||
mock_create_or_update_free_sms_fragment_limit
|
||||
):
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
url_for(
|
||||
'main.set_free_sms_allowance',
|
||||
@@ -1609,6 +1612,10 @@ def test_should_set_sms_allowance(
|
||||
SERVICE_ONE_ID,
|
||||
free_sms_fragment_limit=expected_api_argument,
|
||||
)
|
||||
mock_create_or_update_free_sms_fragment_limit.assert_called_once_with(
|
||||
SERVICE_ONE_ID,
|
||||
expected_api_argument
|
||||
)
|
||||
|
||||
|
||||
def test_switch_service_enable_letters(
|
||||
|
||||
@@ -25,3 +25,54 @@ def test_get_get_service_usage_calls_correct_endpoint(mocker, api_user_active):
|
||||
|
||||
client.get_service_usage(service_id, 2017)
|
||||
mock_get.assert_called_once_with(expected_url, params={'year': 2017})
|
||||
|
||||
|
||||
def test_get_free_sms_fragment_limit_for_current_year_correct_endpoint(mocker, api_user_active):
|
||||
service_id = uuid.uuid4()
|
||||
expected_url = '/service/{}/billing/free-sms-fragment-limit/current-year'.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)
|
||||
mock_get.assert_called_once_with(expected_url)
|
||||
|
||||
|
||||
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}
|
||||
mock_post = mocker.patch('app.notify_client.billing_api_client.BillingAPIClient.post')
|
||||
client = BillingAPIClient()
|
||||
|
||||
client.create_or_update_free_sms_fragment_limit_for_year(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_for_year(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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user