mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-30 14:31:57 -05:00
Fix the problem with updating the reply_to or service_letter_contact_id for templates.
The history was not being updated properly, we think this is because the declaritive attribute is not being set propery by the property. When reply_to: None it will update the service_letter_contact_id, but not the service_letter_contact, we think when the history_meta is build the history class and checking if the value is updated it depends which attribute it is checking first. In order to fix this issue, there is a new dao method to update the reply_to on the Template and insert a new Template history.
This commit is contained in:
@@ -662,6 +662,28 @@ def test_update_template_reply_to(client, sample_letter_template):
|
||||
assert th.service_letter_contact_id == letter_contact.id
|
||||
|
||||
|
||||
def test_update_template_reply_to_set_to_blank(client, notify_db_session):
|
||||
auth_header = create_authorization_header()
|
||||
service = create_service(service_permissions=['letter'])
|
||||
letter_contact = create_letter_contact(service, "Edinburgh, ED1 1AA")
|
||||
template = create_template(service=service, template_type='letter', reply_to=letter_contact.id)
|
||||
|
||||
data = {
|
||||
'reply_to': None,
|
||||
}
|
||||
|
||||
resp = client.post('/service/{}/template/{}'.format(template.service_id, template.id),
|
||||
data=json.dumps(data),
|
||||
headers=[('Content-Type', 'application/json'), auth_header])
|
||||
|
||||
assert resp.status_code == 200, resp.get_data(as_text=True)
|
||||
|
||||
template = dao_get_template_by_id(template.id)
|
||||
assert template.service_letter_contact_id is None
|
||||
th = TemplateHistory.query.filter_by(id=template.id, version=2).one()
|
||||
assert th.service_letter_contact_id is None
|
||||
|
||||
|
||||
def test_update_template_with_foreign_service_reply_to(client, sample_letter_template):
|
||||
auth_header = create_authorization_header()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user