mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 18:01:08 -05:00
Included reference when persisting the notification.
This was already part of the data model. Not included in the send_sms|email task because there is no reference from the job.
This commit is contained in:
@@ -46,7 +46,8 @@ def persist_notification(template_id,
|
|||||||
key_type,
|
key_type,
|
||||||
created_at=None,
|
created_at=None,
|
||||||
job_id=None,
|
job_id=None,
|
||||||
job_row_number=None):
|
job_row_number=None,
|
||||||
|
reference=None):
|
||||||
notification = Notification(
|
notification = Notification(
|
||||||
template_id=template_id,
|
template_id=template_id,
|
||||||
template_version=template_version,
|
template_version=template_version,
|
||||||
@@ -56,9 +57,10 @@ def persist_notification(template_id,
|
|||||||
notification_type=notification_type,
|
notification_type=notification_type,
|
||||||
api_key_id=api_key_id,
|
api_key_id=api_key_id,
|
||||||
key_type=key_type,
|
key_type=key_type,
|
||||||
created_at=created_at if created_at else datetime.utcnow().strftime(DATETIME_FORMAT),
|
created_at=created_at or datetime.utcnow().strftime(DATETIME_FORMAT),
|
||||||
job_id=job_id,
|
job_id=job_id,
|
||||||
job_row_number=job_row_number
|
job_row_number=job_row_number,
|
||||||
|
reference=reference
|
||||||
)
|
)
|
||||||
dao_create_notification(notification)
|
dao_create_notification(notification)
|
||||||
return notification
|
return notification
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ post_email_response = {
|
|||||||
|
|
||||||
def create_post_sms_response_from_notification(notification, body, from_number, url_root):
|
def create_post_sms_response_from_notification(notification, body, from_number, url_root):
|
||||||
return {"id": notification.id,
|
return {"id": notification.id,
|
||||||
"reference": None, # not yet implemented
|
"reference": notification.reference,
|
||||||
"content": {'body': body,
|
"content": {'body': body,
|
||||||
'from_number': from_number},
|
'from_number': from_number},
|
||||||
"uri": "{}/v2/notifications/{}".format(url_root, str(notification.id)),
|
"uri": "{}/v2/notifications/{}".format(url_root, str(notification.id)),
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ def post_sms_notification():
|
|||||||
personalisation=form.get('personalisation', None),
|
personalisation=form.get('personalisation', None),
|
||||||
notification_type=SMS_TYPE,
|
notification_type=SMS_TYPE,
|
||||||
api_key_id=api_user.id,
|
api_key_id=api_user.id,
|
||||||
key_type=api_user.key_type)
|
key_type=api_user.key_type,
|
||||||
|
reference=form['reference'])
|
||||||
send_notification_to_queue(notification, service.research_mode)
|
send_notification_to_queue(notification, service.research_mode)
|
||||||
|
|
||||||
resp = create_post_sms_response_from_notification(notification,
|
resp = create_post_sms_response_from_notification(notification,
|
||||||
@@ -63,7 +64,8 @@ def post_email_notification():
|
|||||||
personalisation=form.get('personalisation', None),
|
personalisation=form.get('personalisation', None),
|
||||||
notification_type=EMAIL_TYPE,
|
notification_type=EMAIL_TYPE,
|
||||||
api_key_id=api_user.id,
|
api_key_id=api_user.id,
|
||||||
key_type=api_user.key_type)
|
key_type=api_user.key_type,
|
||||||
|
reference=form['reference'])
|
||||||
|
|
||||||
send_notification_to_queue(notification, service.research_mode)
|
send_notification_to_queue(notification, service.research_mode)
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ def test_post_sms_notification_returns_201(notify_api, sample_template, mocker):
|
|||||||
mocked = mocker.patch('app.celery.provider_tasks.deliver_sms.apply_async')
|
mocked = mocker.patch('app.celery.provider_tasks.deliver_sms.apply_async')
|
||||||
data = {
|
data = {
|
||||||
'phone_number': '+447700900855',
|
'phone_number': '+447700900855',
|
||||||
'template_id': str(sample_template.id)
|
'template_id': str(sample_template.id),
|
||||||
|
'reference': 'reference_from_client'
|
||||||
}
|
}
|
||||||
auth_header = create_authorization_header(service_id=sample_template.service_id)
|
auth_header = create_authorization_header(service_id=sample_template.service_id)
|
||||||
|
|
||||||
@@ -27,7 +28,7 @@ def test_post_sms_notification_returns_201(notify_api, sample_template, mocker):
|
|||||||
assert len(notifications) == 1
|
assert len(notifications) == 1
|
||||||
notification_id = notifications[0].id
|
notification_id = notifications[0].id
|
||||||
assert resp_json['id'] is not None
|
assert resp_json['id'] is not None
|
||||||
assert resp_json['reference'] is None
|
assert resp_json['reference'] == 'reference_from_client'
|
||||||
assert resp_json['content']['body'] == sample_template.content
|
assert resp_json['content']['body'] == sample_template.content
|
||||||
assert resp_json['content']['from_number'] == sample_template.service.sms_sender
|
assert resp_json['content']['from_number'] == sample_template.service.sms_sender
|
||||||
assert 'v2/notifications/{}'.format(notification_id) in resp_json['uri']
|
assert 'v2/notifications/{}'.format(notification_id) in resp_json['uri']
|
||||||
@@ -122,7 +123,7 @@ def test_post_email_notification_returns_201(client, sample_email_template, mock
|
|||||||
assert len(notifications) == 1
|
assert len(notifications) == 1
|
||||||
notification_id = notifications[0].id
|
notification_id = notifications[0].id
|
||||||
assert resp_json['id'] is not None
|
assert resp_json['id'] is not None
|
||||||
assert resp_json['reference'] is None
|
assert resp_json['reference'] == "reference from caller"
|
||||||
assert resp_json['content']['body'] == sample_email_template.content
|
assert resp_json['content']['body'] == sample_email_template.content
|
||||||
assert resp_json['content']['subject'] == sample_email_template.subject
|
assert resp_json['content']['subject'] == sample_email_template.subject
|
||||||
assert resp_json['content']['from_email'] == sample_email_template.service.email_from
|
assert resp_json['content']['from_email'] == sample_email_template.service.email_from
|
||||||
|
|||||||
Reference in New Issue
Block a user