If template has a default address use that address ELSE the address is blank.

This commit is contained in:
Rebecca Law
2018-01-08 15:54:58 +00:00
parent 06197478e1
commit d6683d9630
4 changed files with 24 additions and 13 deletions

View File

@@ -993,8 +993,8 @@ def test_save_sms_does_not_send_duplicate_and_does_not_put_in_retry_queue(sample
def test_save_letter_saves_letter_to_database(mocker, notify_db_session):
service = create_service()
create_letter_contact(service=service, contact_block="Address contact", is_default=True)
template = create_template(service=service, template_type=LETTER_TYPE)
contact_block = create_letter_contact(service=service, contact_block="Address contact", is_default=True)
template = create_template(service=service, template_type=LETTER_TYPE, reply_to=contact_block.id)
job = create_job(template=template)
mocker.patch('app.celery.tasks.create_random_identifier', return_value="this-is-random-in-real-life")
@@ -1037,7 +1037,7 @@ def test_save_letter_saves_letter_to_database(mocker, notify_db_session):
assert notification_db.sent_by is None
assert notification_db.personalisation == personalisation
assert notification_db.reference == "this-is-random-in-real-life"
assert notification_db.reply_to_text == "Address contact"
assert notification_db.reply_to_text == contact_block.contact_block
def test_save_letter_uses_template_reply_to_text(mocker, notify_db_session):

View File

@@ -611,20 +611,33 @@ def test_create_a_template_with_foreign_service_reply_to(admin_request, sample_u
)
def test_get_template_reply_to(client, sample_letter_template):
@pytest.mark.parametrize('template_default, service_default',
[('template address', 'service address'),
(None, 'service address'),
('template address', None),
])
def test_get_template_reply_to(client, sample_service, template_default, service_default):
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)
if service_default:
create_letter_contact(
service=sample_service, contact_block=service_default, is_default=True
)
if template_default:
template_default_contact = create_letter_contact(
service=sample_service, contact_block=template_default, is_default=False
)
reply_to_id = str(template_default_contact.id) if template_default else None
template = create_template(service=sample_service, template_type='letter', reply_to=reply_to_id)
resp = client.get('/service/{}/template/{}'.format(sample_letter_template.service_id, sample_letter_template.id),
resp = client.get('/service/{}/template/{}'.format(template.service_id, 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)
assert json_resp['data']['reply_to_text'] == letter_contact.contact_block
assert json_resp['data']['reply_to'] == reply_to_id
assert json_resp['data']['reply_to_text'] == template_default
def test_update_template_reply_to(client, sample_letter_template):

View File

@@ -330,8 +330,8 @@ def test_post_letter_notification_persists_notification_reply_to_text(
):
service = create_service(service_permissions=[LETTER_TYPE])
service_address = "12 Main Street, London"
create_letter_contact(service=service, contact_block=service_address, is_default=True)
template = create_template(service=service, template_type='letter')
letter_contact = create_letter_contact(service=service, contact_block=service_address, is_default=True)
template = create_template(service=service, template_type='letter', reply_to=letter_contact.id)
data = {
"template_id": template.id,
"personalisation": {'address_line_1': 'Foo', 'address_line_2': 'Bar', 'postcode': 'Baz'}