sort rest response by org_name, service_name

needed to re-arrange test results for this
This commit is contained in:
Leo Hemsted
2019-08-29 15:45:50 +01:00
parent 7811010e6c
commit b46eed1423
2 changed files with 19 additions and 13 deletions

View File

@@ -100,4 +100,9 @@ def get_usage_for_all_services():
for service_id, breakdown in lb_by_service:
combined[service_id]['letter_breakdown'] += (breakdown + '\n')
return jsonify(list(combined.values()))
# sorting first by name == '' means that blank orgs will be sorted last.
return jsonify(sorted(combined.values(), key=lambda x: (
x['organisation_name'] == '',
x['organisation_name'],
x['service_name']
)))

View File

@@ -133,19 +133,20 @@ def test_get_usage_for_all_services(notify_db_session, admin_request):
assert response[0]["sms_fragments"] == 0
assert response[0]["letter_cost"] == 3.40
assert response[0]["letter_breakdown"] == "6 second class letters at 45p\n2 first class letters at 35p\n"
assert response[1]["organisation_id"] == ""
assert response[1]["service_id"] == str(service_sms_only.id)
assert response[1]["sms_cost"] == 0.33
assert response[1]["sms_fragments"] == 3
assert response[1]["letter_cost"] == 0
assert response[1]["letter_breakdown"] == ""
assert response[2]["organisation_id"] == str(org_2.id)
assert response[2]["service_id"] == str(service_2.id)
assert response[2]["sms_cost"] == 0
assert response[2]["sms_fragments"] == 0
assert response[2]["letter_cost"] == 14
assert response[2]["letter_breakdown"] == "20 second class letters at 65p\n2 first class letters at 50p\n"
assert response[1]["organisation_id"] == str(org_2.id)
assert response[1]["service_id"] == str(service_2.id)
assert response[1]["sms_cost"] == 0
assert response[1]["sms_fragments"] == 0
assert response[1]["letter_cost"] == 14
assert response[1]["letter_breakdown"] == "20 second class letters at 65p\n2 first class letters at 50p\n"
assert response[2]["organisation_id"] == ""
assert response[2]["service_id"] == str(service_sms_only.id)
assert response[2]["sms_cost"] == 0.33
assert response[2]["sms_fragments"] == 3
assert response[2]["letter_cost"] == 0
assert response[2]["letter_breakdown"] == ""
assert response[3]["organisation_id"] == ""
assert response[3]["service_id"] == str(service_3.id)