mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-23 08:51:30 -05:00
Add tests for reading and updating template reply_to through the API
This commit is contained in:
@@ -17,9 +17,7 @@ from tests.app.conftest import (
|
|||||||
sample_template_without_letter_permission,
|
sample_template_without_letter_permission,
|
||||||
sample_template_without_sms_permission,
|
sample_template_without_sms_permission,
|
||||||
)
|
)
|
||||||
from tests.app.db import create_service
|
from tests.app.db import create_service, create_letter_contact
|
||||||
|
|
||||||
from app.dao.templates_dao import dao_get_template_by_id
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('template_type, subject', [
|
@pytest.mark.parametrize('template_type, subject', [
|
||||||
@@ -618,6 +616,39 @@ def test_update_set_process_type_on_template(client, sample_template):
|
|||||||
assert template.process_type == 'priority'
|
assert template.process_type == 'priority'
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_template_reply_to(client, sample_letter_template):
|
||||||
|
auth_header = create_authorization_header()
|
||||||
|
letter_contact = create_letter_contact(sample_letter_template.service, "Edinburgh, ED1 1AA")
|
||||||
|
sample_letter_template.reply_to = str(letter_contact.id)
|
||||||
|
|
||||||
|
resp = client.get('/service/{}/template/{}'.format(sample_letter_template.service_id, sample_letter_template.id),
|
||||||
|
headers=[auth_header])
|
||||||
|
|
||||||
|
assert resp.status_code == 200, resp.get_data(as_text=True)
|
||||||
|
json_resp = json.loads(resp.get_data(as_text=True))
|
||||||
|
|
||||||
|
assert 'service_letter_contact_id' not in json_resp['data']
|
||||||
|
assert json_resp['data']['reply_to'] == str(letter_contact.id)
|
||||||
|
|
||||||
|
|
||||||
|
def test_update_template_reply_to(client, sample_letter_template):
|
||||||
|
auth_header = create_authorization_header()
|
||||||
|
letter_contact = create_letter_contact(sample_letter_template.service, "Edinburgh, ED1 1AA")
|
||||||
|
|
||||||
|
data = {
|
||||||
|
'reply_to': str(letter_contact.id),
|
||||||
|
}
|
||||||
|
|
||||||
|
resp = client.post('/service/{}/template/{}'.format(sample_letter_template.service_id, sample_letter_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(sample_letter_template.id)
|
||||||
|
assert template.reply_to == letter_contact.id
|
||||||
|
|
||||||
|
|
||||||
def test_update_redact_template(admin_request, sample_template):
|
def test_update_redact_template(admin_request, sample_template):
|
||||||
assert sample_template.redact_personalisation is False
|
assert sample_template.redact_personalisation is False
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ from datetime import (datetime, date)
|
|||||||
from flask import url_for
|
from flask import url_for
|
||||||
from app.dao.templates_dao import dao_update_template
|
from app.dao.templates_dao import dao_update_template
|
||||||
from tests import create_authorization_header
|
from tests import create_authorization_header
|
||||||
|
from tests.app.db import create_letter_contact
|
||||||
|
|
||||||
|
|
||||||
def test_template_history_version(notify_api, sample_user, sample_template):
|
def test_template_history_version(notify_api, sample_user, sample_template):
|
||||||
@@ -93,3 +94,21 @@ def test_all_versions_of_template(notify_api, sample_template):
|
|||||||
assert json_resp['data'][1]['content'] == newer_content
|
assert json_resp['data'][1]['content'] == newer_content
|
||||||
assert json_resp['data'][1]['updated_at']
|
assert json_resp['data'][1]['updated_at']
|
||||||
assert json_resp['data'][2]['content'] == old_content
|
assert json_resp['data'][2]['content'] == old_content
|
||||||
|
|
||||||
|
|
||||||
|
def test_update_template_reply_to_updates_history(client, sample_letter_template):
|
||||||
|
auth_header = create_authorization_header()
|
||||||
|
letter_contact = create_letter_contact(sample_letter_template.service, "Edinburgh, ED1 1AA")
|
||||||
|
|
||||||
|
sample_letter_template.reply_to = letter_contact.id
|
||||||
|
dao_update_template(sample_letter_template)
|
||||||
|
|
||||||
|
resp = client.get(
|
||||||
|
'/service/{}/template/{}/version/2'.format(sample_letter_template.service_id, sample_letter_template.id),
|
||||||
|
headers=[auth_header]
|
||||||
|
)
|
||||||
|
assert resp.status_code == 200
|
||||||
|
|
||||||
|
hist_json_resp = json.loads(resp.get_data(as_text=True))
|
||||||
|
assert 'service_letter_contact_id' not in hist_json_resp['data']
|
||||||
|
assert hist_json_resp['data']['reply_to'] == str(letter_contact.id)
|
||||||
|
|||||||
Reference in New Issue
Block a user