From 5ebd9a473c9ec509f800cc9544c79b2b6a8638d4 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 1 Jan 2020 17:18:52 +0000 Subject: [PATCH] Add the recipient address in the "to" field for precompiled letters. --- app/celery/letters_pdf_tasks.py | 16 +++++++++------- tests/app/celery/test_letters_pdf_tasks.py | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/celery/letters_pdf_tasks.py b/app/celery/letters_pdf_tasks.py index 79fa40db2..d8cf9e955 100644 --- a/app/celery/letters_pdf_tasks.py +++ b/app/celery/letters_pdf_tasks.py @@ -255,7 +255,8 @@ def process_virus_scan_passed(self, filename): update_letter_pdf_status( reference=reference, status=NOTIFICATION_DELIVERED if is_test_key else NOTIFICATION_CREATED, - billable_units=billable_units + billable_units=billable_units, + recipient_address=sanitise_response.get("recipient_address") ) scan_pdf_object.delete() except BotoClientError: @@ -308,6 +309,7 @@ def process_sanitised_letter( validation_status, filename, notification_id, + recipient_address=None ): current_app.logger.info('Processing sanitised letter with id {}'.format(notification_id)) notification = get_notification_by_id(notification_id, _raise=True) @@ -474,14 +476,14 @@ def process_virus_scan_error(filename): raise error -def update_letter_pdf_status(reference, status, billable_units): +def update_letter_pdf_status(reference, status, billable_units, recipient_address=None): + + update_dict = {'status': status, 'billable_units': billable_units, 'updated_at': datetime.utcnow()} + if recipient_address: + update_dict['to'] = recipient_address return dao_update_notifications_by_reference( references=[reference], - update_dict={ - 'status': status, - 'billable_units': billable_units, - 'updated_at': datetime.utcnow() - })[0] + update_dict=update_dict)[0] def replay_letters_in_error(filename=None): diff --git a/tests/app/celery/test_letters_pdf_tasks.py b/tests/app/celery/test_letters_pdf_tasks.py index 44d10e865..4e6ade009 100644 --- a/tests/app/celery/test_letters_pdf_tasks.py +++ b/tests/app/celery/test_letters_pdf_tasks.py @@ -440,6 +440,7 @@ def test_process_letter_task_check_virus_scan_passed( endpoint, json={ "file": base64.b64encode(b"new_pdf").decode("utf-8"), + "recipient_address": "Bugs Bunny", "validation_passed": True, "message": "", "invalid_pages": [],