diff --git a/app/models.py b/app/models.py index 2e7ef2b2f..42d3fb74d 100644 --- a/app/models.py +++ b/app/models.py @@ -548,7 +548,12 @@ class Template(db.Model): "body": self.content, "subject": self.subject if self.template_type != SMS_TYPE else None, "name": self.name, - "personalisation": list(self._as_utils_template().placeholders), + "personalisation": { + key: { + 'required': True, + } + for key in self._as_utils_template().placeholders + }, } return serialized diff --git a/tests/app/v2/template/test_get_template.py b/tests/app/v2/template/test_get_template.py index ef4385e25..3be2ce889 100644 --- a/tests/app/v2/template/test_get_template.py +++ b/tests/app/v2/template/test_get_template.py @@ -40,7 +40,7 @@ def test_get_template_by_id_returns_200(client, sample_service, tmp_type, expect 'body': template.content, "subject": expected_subject, 'name': expected_name, - 'personalisation': [], + 'personalisation': {}, } assert json_response == expected_response @@ -52,7 +52,14 @@ def test_get_template_by_id_returns_200(client, sample_service, tmp_type, expect "template_type": SMS_TYPE, "content": "Hello ((placeholder)) ((conditional??yes))", }, - ["placeholder", "conditional"] + { + "placeholder": { + "required": True + }, + "conditional": { + "required": True + }, + }, ), ( { @@ -60,7 +67,14 @@ def test_get_template_by_id_returns_200(client, sample_service, tmp_type, expect "subject": "((subject))", "content": "((content))", }, - ["subject", "content"] + { + "subject": { + "required": True + }, + "content": { + "required": True + }, + }, ), ( { @@ -68,7 +82,17 @@ def test_get_template_by_id_returns_200(client, sample_service, tmp_type, expect "subject": "((letterSubject))", "content": "((letter_content))", }, - ["letterSubject", "letter_content", "contact block"] + { + "letterSubject": { + "required": True, + }, + "letter_content": { + "required": True, + }, + "contact block": { + "required": True, + }, + }, ) ]) @pytest.mark.parametrize("version", valid_version_params)