Ensure dao_create_template doesn't clash with new trigger

New trigger creates template_redacted row after insert to template
table

And update tests
This commit is contained in:
Pea Tyczynska
2019-06-11 15:57:22 +01:00
parent d19dbe5b61
commit 673cabe6b8
2 changed files with 14 additions and 11 deletions

View File

@@ -24,16 +24,19 @@ def dao_create_template(template):
template.id = uuid.uuid4() # must be set now so version history model can use same id template.id = uuid.uuid4() # must be set now so version history model can use same id
template.archived = False template.archived = False
redacted_dict = { # The template redacted is now being inserted via a trigger
"template": template, # this will catch any Notify templates being added by a db migration
"redact_personalisation": False, if not TemplateRedacted.query.filter(TemplateRedacted.template_id == template.id).first():
} redacted_dict = {
if template.created_by: "template": template,
redacted_dict.update({"updated_by": template.created_by}) "redact_personalisation": False,
else: }
redacted_dict.update({"updated_by_id": template.created_by_id}) if template.created_by:
redacted_dict.update({"updated_by": template.created_by})
else:
redacted_dict.update({"updated_by_id": template.created_by_id})
template.template_redacted = TemplateRedacted(**redacted_dict) template.template_redacted = TemplateRedacted(**redacted_dict)
db.session.add(template) db.session.add(template)

View File

@@ -17,7 +17,7 @@ valid_version_params = [None, 1]
]) ])
@pytest.mark.parametrize("version", valid_version_params) @pytest.mark.parametrize("version", valid_version_params)
def test_get_template_by_id_returns_200( def test_get_template_by_id_returns_200(
client, sample_service, tmp_type, expected_name, expected_subject, version, postage client, sample_service, mock, tmp_type, expected_name, expected_subject, version, postage
): ):
template = create_template(sample_service, template_type=tmp_type) template = create_template(sample_service, template_type=tmp_type)
auth_header = create_authorization_header(service_id=sample_service.id) auth_header = create_authorization_header(service_id=sample_service.id)
@@ -36,7 +36,7 @@ def test_get_template_by_id_returns_200(
'id': '{}'.format(template.id), 'id': '{}'.format(template.id),
'type': '{}'.format(template.template_type), 'type': '{}'.format(template.template_type),
'created_at': template.created_at.strftime(DATETIME_FORMAT), 'created_at': template.created_at.strftime(DATETIME_FORMAT),
'updated_at': None, 'updated_at': mock.ANY,
'version': template.version, 'version': template.version,
'created_by': template.created_by.email_address, 'created_by': template.created_by.email_address,
'body': template.content, 'body': template.content,