mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-16 20:49:00 -04:00
Add billing details fields to Usage for all services report
This commit is contained in:
@@ -280,14 +280,19 @@ def usage_for_all_services():
|
||||
if form.validate_on_submit():
|
||||
start_date = form.start_date.data
|
||||
end_date = form.end_date.data
|
||||
headers = ["organisation_id", "organisation_name", "service_id", "service_name",
|
||||
"sms_cost", "sms_fragments", "letter_cost", "letter_breakdown"]
|
||||
headers = [
|
||||
"organisation_id", "organisation_name", "service_id", "service_name",
|
||||
"sms_cost", "sms_fragments", "letter_cost", "letter_breakdown", "purchase_order_number",
|
||||
"contact_names", "contact_email_addresses", "billing_reference"
|
||||
]
|
||||
|
||||
result = billing_api_client.get_usage_for_all_services(start_date, end_date)
|
||||
rows = [
|
||||
[
|
||||
r['organisation_id'], r["organisation_name"], r["service_id"], r["service_name"],
|
||||
r["sms_cost"], r['sms_fragments'], r["letter_cost"], r["letter_breakdown"].strip()
|
||||
r["organisation_id"], r["organisation_name"], r["service_id"], r["service_name"],
|
||||
r["sms_cost"], r["sms_fragments"], r["letter_cost"], r["letter_breakdown"].strip(),
|
||||
r.get("purchase_order_number"), r.get("contact_names"), r.get("contact_email_addresses"),
|
||||
r.get("billing_reference")
|
||||
]
|
||||
for r in result
|
||||
]
|
||||
|
||||
@@ -847,15 +847,23 @@ def test_usage_for_all_services_when_no_results_for_date(client_request, platfor
|
||||
|
||||
|
||||
def test_usage_for_all_services_when_calls_api_and_download_data(platform_admin_client, mocker):
|
||||
mocker.patch("app.main.views.platform_admin.billing_api_client.get_usage_for_all_services",
|
||||
return_value=[{'letter_breakdown': '6 second class letters at 45p\n2 first class letters at 35p\n',
|
||||
'letter_cost': 3.4,
|
||||
'organisation_id': '7832a1be-a1f0-4f2a-982f-05adfd3d6354',
|
||||
'organisation_name': 'Org for a - with sms and letter',
|
||||
'service_id': '48e82ac0-c8c4-4e46-8712-c83c35a94006',
|
||||
'service_name': 'a - with sms and letter',
|
||||
'sms_cost': 0, 'sms_fragments': 0
|
||||
}])
|
||||
mocker.patch(
|
||||
"app.main.views.platform_admin.billing_api_client.get_usage_for_all_services",
|
||||
return_value=[{
|
||||
'letter_breakdown': '6 second class letters at 45p\n2 first class letters at 35p\n',
|
||||
'letter_cost': 3.4,
|
||||
'organisation_id': '7832a1be-a1f0-4f2a-982f-05adfd3d6354',
|
||||
'organisation_name': 'Org for a - with sms and letter',
|
||||
'service_id': '48e82ac0-c8c4-4e46-8712-c83c35a94006',
|
||||
'service_name': 'a - with sms and letter',
|
||||
'sms_cost': 0,
|
||||
'sms_fragments': 0,
|
||||
'purchase_order_number': 'PO1234',
|
||||
'contact_names': 'Anne, Marie, Josh',
|
||||
'contact_email_addresses': 'billing@example.com, accounts@example.com',
|
||||
'billing_reference': 'Notify2020'
|
||||
}]
|
||||
)
|
||||
|
||||
response = platform_admin_client.post(url_for('main.usage_for_all_services'),
|
||||
data={'start_date': '2019-01-01', 'end_date': '2019-03-31'})
|
||||
@@ -867,8 +875,8 @@ def test_usage_for_all_services_when_calls_api_and_download_data(platform_admin_
|
||||
)
|
||||
|
||||
assert response.get_data(as_text=True) == (
|
||||
'organisation_id,organisation_name,service_id,service_name,' +
|
||||
'sms_cost,sms_fragments,letter_cost,letter_breakdown' +
|
||||
'organisation_id,organisation_name,service_id,service_name,sms_cost,sms_fragments,letter_cost' +
|
||||
',letter_breakdown,purchase_order_number,contact_names,contact_email_addresses,billing_reference' +
|
||||
|
||||
'\r\n' +
|
||||
|
||||
@@ -881,7 +889,8 @@ def test_usage_for_all_services_when_calls_api_and_download_data(platform_admin_
|
||||
'3.4,' +
|
||||
'"6 second class letters at 45p' +
|
||||
'\n' +
|
||||
'2 first class letters at 35p"' +
|
||||
'2 first class letters at 35p",' +
|
||||
'PO1234,"Anne, Marie, Josh","billing@example.com, accounts@example.com",Notify2020'
|
||||
|
||||
'\r\n'
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user