mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-09 17:45:41 -04:00
Add template type to response and refactor
This commit is contained in:
@@ -246,6 +246,7 @@ def dao_fetch_monthly_historical_stats_by_template_for_service(service_id, year)
|
|||||||
rows = db.session.query(
|
rows = db.session.query(
|
||||||
Template.id.label('template_id'),
|
Template.id.label('template_id'),
|
||||||
Template.name,
|
Template.name,
|
||||||
|
Template.template_type,
|
||||||
sq.c.status,
|
sq.c.status,
|
||||||
sq.c.count.label('count'),
|
sq.c.count.label('count'),
|
||||||
sq.c.month
|
sq.c.month
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ def format_statistics(statistics):
|
|||||||
|
|
||||||
|
|
||||||
def format_monthly_template_notification_stats(year, rows):
|
def format_monthly_template_notification_stats(year, rows):
|
||||||
dict = {
|
stats = {
|
||||||
datetime.strftime(date, '%Y-%m'): {}
|
datetime.strftime(date, '%Y-%m'): {}
|
||||||
for date in [
|
for date in [
|
||||||
datetime(year, month, 1) for month in range(4, 13)
|
datetime(year, month, 1) for month in range(4, 13)
|
||||||
@@ -27,14 +27,15 @@ def format_monthly_template_notification_stats(year, rows):
|
|||||||
|
|
||||||
for row in rows:
|
for row in rows:
|
||||||
formatted_month = row.month.strftime('%Y-%m')
|
formatted_month = row.month.strftime('%Y-%m')
|
||||||
if str(row.template_id) not in dict[formatted_month]:
|
if str(row.template_id) not in stats[formatted_month]:
|
||||||
dict[formatted_month][str(row.template_id)] = {
|
stats[formatted_month][str(row.template_id)] = {
|
||||||
"name": row.name,
|
"name": row.name,
|
||||||
|
"type": row.template_type,
|
||||||
"counts": dict.fromkeys(NOTIFICATION_STATUS_TYPES, 0)
|
"counts": dict.fromkeys(NOTIFICATION_STATUS_TYPES, 0)
|
||||||
}
|
}
|
||||||
dict[formatted_month][str(row.template_id)]["counts"][row.status] += row.count
|
stats[formatted_month][str(row.template_id)]["counts"][row.status] += row.count
|
||||||
|
|
||||||
return dict
|
return stats
|
||||||
|
|
||||||
|
|
||||||
def create_zeroed_stats_dicts():
|
def create_zeroed_stats_dicts():
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ from tests.app.conftest import (
|
|||||||
|
|
||||||
|
|
||||||
def test_should_have_decorated_services_dao_functions():
|
def test_should_have_decorated_services_dao_functions():
|
||||||
|
assert dao_fetch_monthly_historical_stats_by_template_for_service.__wrapped__.__name__ == 'dao_fetch_monthly_historical_stats_by_template_for_service' # noqa
|
||||||
assert dao_fetch_monthly_historical_stats_for_service.__wrapped__.__name__ == 'dao_fetch_monthly_historical_stats_for_service' # noqa
|
assert dao_fetch_monthly_historical_stats_for_service.__wrapped__.__name__ == 'dao_fetch_monthly_historical_stats_for_service' # noqa
|
||||||
assert dao_fetch_todays_stats_for_service.__wrapped__.__name__ == 'dao_fetch_todays_stats_for_service' # noqa
|
assert dao_fetch_todays_stats_for_service.__wrapped__.__name__ == 'dao_fetch_todays_stats_for_service' # noqa
|
||||||
assert dao_fetch_stats_for_service.__wrapped__.__name__ == 'dao_fetch_stats_for_service' # noqa
|
assert dao_fetch_stats_for_service.__wrapped__.__name__ == 'dao_fetch_stats_for_service' # noqa
|
||||||
|
|||||||
@@ -1477,6 +1477,8 @@ def test_get_template_stats_by_month_returns_correct_data(notify_db, notify_db_s
|
|||||||
resp_json = json.loads(resp.get_data(as_text=True)).get('data')
|
resp_json = json.loads(resp.get_data(as_text=True)).get('data')
|
||||||
|
|
||||||
assert resp.status_code == 200
|
assert resp.status_code == 200
|
||||||
|
assert resp_json["2016-05"][str(sample_template.id)]["name"] == "Template Name"
|
||||||
|
assert resp_json["2016-05"][str(sample_template.id)]["type"] == "sms"
|
||||||
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["sending"] == 2
|
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["sending"] == 2
|
||||||
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["temporary-failure"] == 1
|
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["temporary-failure"] == 1
|
||||||
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["permanent-failure"] == 1
|
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["permanent-failure"] == 1
|
||||||
|
|||||||
Reference in New Issue
Block a user