mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-11 18:38:14 -04:00
Merge pull request #2732 from alphagov/return-letter-upload-recipient
Return recipient for letter uploads
This commit is contained in:
@@ -30,7 +30,8 @@ def dao_get_uploads_by_service_id(service_id, limit_days=None, page=1, page_size
|
|||||||
Job.scheduled_for.label("scheduled_for"),
|
Job.scheduled_for.label("scheduled_for"),
|
||||||
Job.processing_started.label('processing_started'),
|
Job.processing_started.label('processing_started'),
|
||||||
Job.job_status.label("status"),
|
Job.job_status.label("status"),
|
||||||
literal('job').label('upload_type')
|
literal('job').label('upload_type'),
|
||||||
|
literal(None).label('recipient'),
|
||||||
).join(
|
).join(
|
||||||
Template, Job.template_id == Template.id
|
Template, Job.template_id == Template.id
|
||||||
).filter(
|
).filter(
|
||||||
@@ -58,7 +59,8 @@ def dao_get_uploads_by_service_id(service_id, limit_days=None, page=1, page_size
|
|||||||
# letters don't have a processing_started date but we want created_at to be used for sorting
|
# letters don't have a processing_started date but we want created_at to be used for sorting
|
||||||
Notification.created_at.label('processing_started'),
|
Notification.created_at.label('processing_started'),
|
||||||
Notification.status,
|
Notification.status,
|
||||||
literal('letter').label('upload_type')
|
literal('letter').label('upload_type'),
|
||||||
|
Notification.to.label('recipient'),
|
||||||
).join(
|
).join(
|
||||||
Template, Notification.template_id == Template.id
|
Template, Notification.template_id == Template.id
|
||||||
).filter(
|
).filter(
|
||||||
|
|||||||
+2
-2
@@ -44,7 +44,8 @@ def get_paginated_uploads(service_id, limit_days, page):
|
|||||||
'created_at': upload.scheduled_for.strftime(
|
'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"),
|
"%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,
|
'template_type': upload.template_type,
|
||||||
|
'recipient': upload.recipient,
|
||||||
}
|
}
|
||||||
if upload.upload_type == 'job':
|
if upload.upload_type == 'job':
|
||||||
start = upload.processing_started
|
start = upload.processing_started
|
||||||
@@ -59,7 +60,6 @@ def get_paginated_uploads(service_id, limit_days, page):
|
|||||||
statistics = dao_get_notification_outcomes_for_job(service_id, upload.id)
|
statistics = dao_get_notification_outcomes_for_job(service_id, upload.id)
|
||||||
upload_dict['statistics'] = [{'status': statistic.status, 'count': statistic.count} for statistic in
|
upload_dict['statistics'] = [{'status': statistic.status, 'count': statistic.count} for statistic in
|
||||||
statistics]
|
statistics]
|
||||||
upload_dict['template_type'] = upload.template_type
|
|
||||||
else:
|
else:
|
||||||
upload_dict['statistics'] = [{'status': upload.status, 'count': 1}]
|
upload_dict['statistics'] = [{'status': upload.status, 'count': 1}]
|
||||||
data.append(upload_dict)
|
data.append(upload_dict)
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ def test_get_uploads_for_service(sample_template):
|
|||||||
letter.created_at,
|
letter.created_at,
|
||||||
letter.status,
|
letter.status,
|
||||||
"letter",
|
"letter",
|
||||||
|
"file-name",
|
||||||
)
|
)
|
||||||
assert uploads_from_db[1] == (
|
assert uploads_from_db[1] == (
|
||||||
job.id,
|
job.id,
|
||||||
@@ -67,6 +68,7 @@ def test_get_uploads_for_service(sample_template):
|
|||||||
job.processing_started,
|
job.processing_started,
|
||||||
job.job_status,
|
job.job_status,
|
||||||
"job",
|
"job",
|
||||||
|
None,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert len(other_uploads_from_db) == 2
|
assert len(other_uploads_from_db) == 2
|
||||||
@@ -78,7 +80,8 @@ def test_get_uploads_for_service(sample_template):
|
|||||||
None,
|
None,
|
||||||
other_letter.created_at,
|
other_letter.created_at,
|
||||||
other_letter.status,
|
other_letter.status,
|
||||||
"letter")
|
"letter",
|
||||||
|
"file-name")
|
||||||
assert other_uploads_from_db[1] == (other_job.id,
|
assert other_uploads_from_db[1] == (other_job.id,
|
||||||
other_job.original_file_name,
|
other_job.original_file_name,
|
||||||
other_job.notification_count,
|
other_job.notification_count,
|
||||||
@@ -86,7 +89,9 @@ def test_get_uploads_for_service(sample_template):
|
|||||||
other_job.created_at,
|
other_job.created_at,
|
||||||
other_job.scheduled_for,
|
other_job.scheduled_for,
|
||||||
other_job.processing_started,
|
other_job.processing_started,
|
||||||
other_job.job_status, "job")
|
other_job.job_status,
|
||||||
|
"job",
|
||||||
|
None)
|
||||||
|
|
||||||
assert uploads_from_db[0] != other_uploads_from_db[0]
|
assert uploads_from_db[0] != other_uploads_from_db[0]
|
||||||
assert uploads_from_db[1] != other_uploads_from_db[1]
|
assert uploads_from_db[1] != other_uploads_from_db[1]
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from tests.conftest import set_config
|
|||||||
def create_uploaded_letter(letter_template, service, status='created', created_at=None):
|
def create_uploaded_letter(letter_template, service, status='created', created_at=None):
|
||||||
return create_notification(
|
return create_notification(
|
||||||
template=letter_template,
|
template=letter_template,
|
||||||
to_field="file-name",
|
to_field="742 Evergreen Terrace",
|
||||||
status=status,
|
status=status,
|
||||||
reference="dvla-reference",
|
reference="dvla-reference",
|
||||||
client_reference="file-name",
|
client_reference="file-name",
|
||||||
@@ -55,6 +55,7 @@ def test_get_uploads(admin_request, sample_template):
|
|||||||
assert len(data) == 5
|
assert len(data) == 5
|
||||||
assert data[0] == {'id': str(upload_5.id),
|
assert data[0] == {'id': str(upload_5.id),
|
||||||
'original_file_name': 'some.csv',
|
'original_file_name': 'some.csv',
|
||||||
|
'recipient': None,
|
||||||
'notification_count': 10,
|
'notification_count': 10,
|
||||||
'template_type': 'sms',
|
'template_type': 'sms',
|
||||||
'created_at': upload_5.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
'created_at': upload_5.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
||||||
@@ -62,6 +63,7 @@ def test_get_uploads(admin_request, sample_template):
|
|||||||
'upload_type': 'job'}
|
'upload_type': 'job'}
|
||||||
assert data[1] == {'id': str(upload_4.id),
|
assert data[1] == {'id': str(upload_4.id),
|
||||||
'original_file_name': 'some.csv',
|
'original_file_name': 'some.csv',
|
||||||
|
'recipient': None,
|
||||||
'notification_count': 1,
|
'notification_count': 1,
|
||||||
'template_type': 'sms',
|
'template_type': 'sms',
|
||||||
'created_at': upload_4.created_at.strftime(
|
'created_at': upload_4.created_at.strftime(
|
||||||
@@ -70,6 +72,7 @@ def test_get_uploads(admin_request, sample_template):
|
|||||||
'upload_type': 'job'}
|
'upload_type': 'job'}
|
||||||
assert data[2] == {'id': str(upload_3.id),
|
assert data[2] == {'id': str(upload_3.id),
|
||||||
'original_file_name': "file-name",
|
'original_file_name': "file-name",
|
||||||
|
'recipient': '742 Evergreen Terrace',
|
||||||
'notification_count': 1,
|
'notification_count': 1,
|
||||||
'template_type': None,
|
'template_type': None,
|
||||||
'created_at': upload_3.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
'created_at': upload_3.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
||||||
@@ -77,6 +80,7 @@ def test_get_uploads(admin_request, sample_template):
|
|||||||
'upload_type': 'letter'}
|
'upload_type': 'letter'}
|
||||||
assert data[3] == {'id': str(upload_2.id),
|
assert data[3] == {'id': str(upload_2.id),
|
||||||
'original_file_name': "some.csv",
|
'original_file_name': "some.csv",
|
||||||
|
'recipient': None,
|
||||||
'notification_count': 1,
|
'notification_count': 1,
|
||||||
'template_type': 'sms',
|
'template_type': 'sms',
|
||||||
'created_at': upload_2.created_at.strftime(
|
'created_at': upload_2.created_at.strftime(
|
||||||
@@ -85,6 +89,7 @@ def test_get_uploads(admin_request, sample_template):
|
|||||||
'upload_type': 'job'}
|
'upload_type': 'job'}
|
||||||
assert data[4] == {'id': str(upload_1.id),
|
assert data[4] == {'id': str(upload_1.id),
|
||||||
'original_file_name': "file-name",
|
'original_file_name': "file-name",
|
||||||
|
'recipient': '742 Evergreen Terrace',
|
||||||
'notification_count': 1,
|
'notification_count': 1,
|
||||||
'template_type': None,
|
'template_type': None,
|
||||||
'created_at': upload_1.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
'created_at': upload_1.created_at.strftime("%Y-%m-%d %H:%M:%S"),
|
||||||
|
|||||||
Reference in New Issue
Block a user