dao_get_all_broadcast_messages returns just fields govuk alerts need

This commit is contained in:
Pea Tyczynska
2021-08-06 17:37:57 +01:00
parent 74c9ca2bf6
commit 0f7f219a55
3 changed files with 29 additions and 5 deletions

View File

@@ -11,7 +11,8 @@ from app.models import (
BroadcastProviderMessage,
BroadcastProviderMessageNumber,
BroadcastProviderMessageStatus,
BroadcastStatusType
BroadcastStatusType,
ServiceBroadcastSettings
)
@@ -33,7 +34,20 @@ def dao_get_broadcast_messages_for_service(service_id):
def dao_get_all_broadcast_messages():
return BroadcastMessage.query.filter(
return db.session.query(
BroadcastMessage.id,
BroadcastMessage.reference,
ServiceBroadcastSettings.channel,
BroadcastMessage.content,
BroadcastMessage.areas,
BroadcastMessage.status,
BroadcastMessage.starts_at,
BroadcastMessage.finishes_at,
BroadcastMessage.approved_at,
BroadcastMessage.cancelled_at,
).join(
ServiceBroadcastSettings, ServiceBroadcastSettings.service_id == BroadcastMessage.service_id
).filter(
BroadcastMessage.starts_at >= datetime(2021, 5, 25, 0, 0, 0),
BroadcastMessage.stubbed == False, # noqa
BroadcastMessage.status.in_(BroadcastStatusType.LIVE_STATUSES)

View File

@@ -1,8 +1,10 @@
from flask import jsonify
from app.dao.broadcast_message_dao import dao_get_all_broadcast_messages
from app.v2.govuk_alerts import v2_govuk_alerts_blueprint
@v2_govuk_alerts_blueprint.route('')
def get_broadcasts():
return jsonify({})
all_broadcasts = dao_get_all_broadcast_messages()
return jsonify(all_broadcasts)

View File

@@ -1,5 +1,4 @@
from datetime import datetime
from flask import current_app
from app.dao.broadcast_message_dao import (
create_broadcast_provider_message,
@@ -119,4 +118,13 @@ def test_dao_get_all_broadcast_messages(sample_broadcast_service):
broadcast_messages = dao_get_all_broadcast_messages()
assert len(broadcast_messages) == 2
assert broadcast_messages == [broadcast_message_2, broadcast_message_1]
assert broadcast_messages == [
(
broadcast_message_2.id, None, 'severe', 'Dear Sir/Madam, Hello. Yours Truly, The Government.',
{'areas': [], 'simple_polygons': []}, 'broadcasting', datetime(2021, 6, 20, 12, 0),
None, None, None),
(
broadcast_message_1.id, None, 'severe', 'Dear Sir/Madam, Hello. Yours Truly, The Government.',
{'areas': [], 'simple_polygons': []}, 'cancelled', datetime(2021, 6, 15, 12, 0),
None, None, None)
]