Return template type in uploads response

We need template type for the uploads response, which will eventually
supercede the jobs response. At the moment the page uses both.
This commit is contained in:
Chris Hill-Scott
2020-02-25 17:13:01 +00:00
parent 8601b13595
commit 57e671267c
4 changed files with 36 additions and 5 deletions

View File

@@ -25,11 +25,14 @@ def dao_get_uploads_by_service_id(service_id, limit_days=None, page=1, page_size
Job.id,
Job.original_file_name,
Job.notification_count,
Template.template_type,
Job.created_at.label("created_at"),
Job.scheduled_for.label("scheduled_for"),
Job.processing_started.label('processing_started'),
Job.job_status.label("status"),
literal('job').label('upload_type')
).join(
Template, Job.template_id == Template.id
).filter(
*jobs_query_filter
)
@@ -49,6 +52,7 @@ def dao_get_uploads_by_service_id(service_id, limit_days=None, page=1, page_size
Notification.id,
Notification.client_reference.label('original_file_name'),
literal('1').label('notification_count'),
literal(None).label('template_type'),
Notification.created_at.label("created_at"),
literal(None).label('scheduled_for'),
# letters don't have a processing_started date but we want created_at to be used for sorting

View File

@@ -43,7 +43,8 @@ def get_paginated_uploads(service_id, limit_days, page):
'notification_count': upload.notification_count,
'created_at': upload.scheduled_for.strftime(
"%Y-%m-%d %H:%M:%S") if upload.scheduled_for else upload.created_at.strftime("%Y-%m-%d %H:%M:%S"),
'upload_type': upload.upload_type
'upload_type': upload.upload_type,
'template_type': None,
}
if upload.upload_type == 'job':
start = upload.processing_started
@@ -58,6 +59,7 @@ def get_paginated_uploads(service_id, limit_days, page):
statistics = dao_get_notification_outcomes_for_job(service_id, upload.id)
upload_dict['statistics'] = [{'status': statistic.status, 'count': statistic.count} for statistic in
statistics]
upload_dict['template_type'] = upload.template_type
else:
upload_dict['statistics'] = [{'status': upload.status, 'count': 1}]
data.append(upload_dict)

View File

@@ -46,15 +46,34 @@ def test_get_uploads_for_service(sample_template):
assert len(uploads_from_db) == 2
assert uploads_from_db[0] == (letter.id, letter.client_reference, 1, letter.created_at,
None, letter.created_at, letter.status, "letter")
assert uploads_from_db[1] == (job.id, job.original_file_name, job.notification_count, job.created_at,
job.scheduled_for, job.processing_started, job.job_status, "job")
assert uploads_from_db[0] == (
letter.id,
letter.client_reference,
1,
None,
letter.created_at,
None,
letter.created_at,
letter.status,
"letter",
)
assert uploads_from_db[1] == (
job.id,
job.original_file_name,
job.notification_count,
'sms',
job.created_at,
job.scheduled_for,
job.processing_started,
job.job_status,
"job",
)
assert len(other_uploads_from_db) == 2
assert other_uploads_from_db[0] == (other_letter.id,
other_letter.client_reference,
1,
None,
other_letter.created_at,
None,
other_letter.created_at,
@@ -63,6 +82,7 @@ def test_get_uploads_for_service(sample_template):
assert other_uploads_from_db[1] == (other_job.id,
other_job.original_file_name,
other_job.notification_count,
other_job.template.template_type,
other_job.created_at,
other_job.scheduled_for,
other_job.processing_started,

View File

@@ -56,12 +56,14 @@ def test_get_uploads(admin_request, sample_template):
assert data[0] == {'id': str(upload_5.id),
'original_file_name': 'some.csv',
'notification_count': 10,
'template_type': 'sms',
'created_at': upload_5.created_at.strftime("%Y-%m-%d %H:%M:%S"),
'statistics': [],
'upload_type': 'job'}
assert data[1] == {'id': str(upload_4.id),
'original_file_name': 'some.csv',
'notification_count': 1,
'template_type': 'sms',
'created_at': upload_4.created_at.strftime(
"%Y-%m-%d %H:%M:%S"),
'statistics': [],
@@ -69,12 +71,14 @@ def test_get_uploads(admin_request, sample_template):
assert data[2] == {'id': str(upload_3.id),
'original_file_name': "file-name",
'notification_count': 1,
'template_type': None,
'created_at': upload_3.created_at.strftime("%Y-%m-%d %H:%M:%S"),
'statistics': [{'count': 1, 'status': 'delivered'}],
'upload_type': 'letter'}
assert data[3] == {'id': str(upload_2.id),
'original_file_name': "some.csv",
'notification_count': 1,
'template_type': 'sms',
'created_at': upload_2.created_at.strftime(
"%Y-%m-%d %H:%M:%S"),
'statistics': [],
@@ -82,6 +86,7 @@ def test_get_uploads(admin_request, sample_template):
assert data[4] == {'id': str(upload_1.id),
'original_file_name': "file-name",
'notification_count': 1,
'template_type': None,
'created_at': upload_1.created_at.strftime("%Y-%m-%d %H:%M:%S"),
'statistics': [{'count': 1, 'status': 'delivered'}],
'upload_type': 'letter'}