mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 18:31:13 -05:00
Merge pull request #2996 from alphagov/serialise-broadcast-template-content
Serialise content for broadcast templates
This commit is contained in:
@@ -377,7 +377,6 @@ class TemplateSchemaNoDetail(TemplateSchema):
|
|||||||
class Meta(TemplateSchema.Meta):
|
class Meta(TemplateSchema.Meta):
|
||||||
exclude = TemplateSchema.Meta.exclude + (
|
exclude = TemplateSchema.Meta.exclude + (
|
||||||
'archived',
|
'archived',
|
||||||
'content',
|
|
||||||
'created_at',
|
'created_at',
|
||||||
'created_by',
|
'created_by',
|
||||||
'created_by_id',
|
'created_by_id',
|
||||||
@@ -396,6 +395,11 @@ class TemplateSchemaNoDetail(TemplateSchema):
|
|||||||
'broadcast_data',
|
'broadcast_data',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@pre_dump
|
||||||
|
def remove_content_for_non_broadcast_templates(self, template):
|
||||||
|
if template.template_type != models.BROADCAST_TYPE:
|
||||||
|
template.content = None
|
||||||
|
|
||||||
|
|
||||||
class TemplateHistorySchema(BaseSchema):
|
class TemplateHistorySchema(BaseSchema):
|
||||||
|
|
||||||
|
|||||||
@@ -561,22 +561,37 @@ def test_should_get_return_all_fields_by_default(
|
|||||||
{'detailed': False},
|
{'detailed': False},
|
||||||
{'detailed': 'False'},
|
{'detailed': 'False'},
|
||||||
))
|
))
|
||||||
|
@pytest.mark.parametrize('template_type, expected_content', (
|
||||||
|
(EMAIL_TYPE, None),
|
||||||
|
(SMS_TYPE, None),
|
||||||
|
(LETTER_TYPE, None),
|
||||||
|
(BROADCAST_TYPE, 'This is a test'),
|
||||||
|
))
|
||||||
def test_should_not_return_content_and_subject_if_requested(
|
def test_should_not_return_content_and_subject_if_requested(
|
||||||
admin_request,
|
admin_request,
|
||||||
sample_email_template,
|
sample_service,
|
||||||
extra_args,
|
extra_args,
|
||||||
|
template_type,
|
||||||
|
expected_content,
|
||||||
):
|
):
|
||||||
|
create_template(
|
||||||
|
sample_service,
|
||||||
|
template_type=template_type,
|
||||||
|
content='This is a test',
|
||||||
|
)
|
||||||
json_response = admin_request.get(
|
json_response = admin_request.get(
|
||||||
'template.get_all_templates_for_service',
|
'template.get_all_templates_for_service',
|
||||||
service_id=sample_email_template.service.id,
|
service_id=sample_service.id,
|
||||||
**extra_args
|
**extra_args
|
||||||
)
|
)
|
||||||
assert json_response['data'][0].keys() == {
|
assert json_response['data'][0].keys() == {
|
||||||
|
'content',
|
||||||
'folder',
|
'folder',
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
'template_type',
|
'template_type',
|
||||||
}
|
}
|
||||||
|
assert json_response['data'][0]['content'] == expected_content
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|||||||
Reference in New Issue
Block a user