diff --git a/app/models.py b/app/models.py index 4d98f6545..cbe9a4e14 100644 --- a/app/models.py +++ b/app/models.py @@ -2242,6 +2242,12 @@ class BroadcastMessage(db.Model): approved_by = db.relationship('User', foreign_keys=[approved_by_id]) cancelled_by = db.relationship('User', foreign_keys=[cancelled_by_id]) + @property + def content(self): + return self.template._as_utils_template_with_personalisation( + self.personalisation + ).content_with_placeholders_filled_in + @property def personalisation(self): if self._personalisation: @@ -2261,6 +2267,7 @@ class BroadcastMessage(db.Model): 'template_id': str(self.template_id), 'template_version': self.template_version, 'template_name': self.template.name, + 'content': self.content, 'personalisation': self.personalisation, 'areas': self.areas.get("areas", []), diff --git a/tests/app/broadcast_message/test_rest.py b/tests/app/broadcast_message/test_rest.py index d38c9c353..5f2a0f6e2 100644 --- a/tests/app/broadcast_message/test_rest.py +++ b/tests/app/broadcast_message/test_rest.py @@ -10,11 +10,21 @@ from tests.app.db import create_broadcast_message, create_template, create_servi def test_get_broadcast_message(admin_request, sample_broadcast_service): - t = create_template(sample_broadcast_service, BROADCAST_TYPE) - bm = create_broadcast_message(t, areas={ - "areas": ['place A', 'region B'], - "simple_polygons": [[[50.1, 1.2], [50.12, 1.2], [50.13, 1.2]]] - }) + t = create_template( + sample_broadcast_service, + BROADCAST_TYPE, + content='This is a ((thing))' + ) + bm = create_broadcast_message( + t, + areas={ + "areas": ['place A', 'region B'], + "simple_polygons": [[[50.1, 1.2], [50.12, 1.2], [50.13, 1.2]]], + }, + personalisation={ + 'thing': 'test', + }, + ) response = admin_request.get( 'broadcast_message.get_broadcast_message', @@ -24,12 +34,14 @@ def test_get_broadcast_message(admin_request, sample_broadcast_service): ) assert response['id'] == str(bm.id) + assert response['template_id'] == str(t.id) + assert response['content'] == 'This is a test' assert response['template_name'] == t.name assert response['status'] == BroadcastStatusType.DRAFT assert response['created_at'] is not None assert response['starts_at'] is None assert response['areas'] == ['place A', 'region B'] - assert response['personalisation'] == {} + assert response['personalisation'] == {'thing': 'test'} def test_get_broadcast_message_404s_if_message_doesnt_exist(admin_request, sample_broadcast_service):