mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:15:19 -05:00
return allowed_broadcast_provider via get by service id
This commit is contained in:
@@ -222,6 +222,10 @@ class ServiceSchema(BaseSchema, UUIDsAsStringsMixin):
|
||||
organisation = field_for(models.Service, 'organisation')
|
||||
override_flag = False
|
||||
go_live_at = field_for(models.Service, 'go_live_at', format=DATETIME_FORMAT_NO_TIMEZONE)
|
||||
allowed_broadcast_provider = fields.Method(dump_only=True, serialize='_get_allowed_broadcast_provider')
|
||||
|
||||
def _get_allowed_broadcast_provider(self, service):
|
||||
return service.allowed_broadcast_provider
|
||||
|
||||
def get_letter_logo_filename(self, service):
|
||||
return service.letter_branding and service.letter_branding.filename
|
||||
@@ -261,6 +265,7 @@ class ServiceSchema(BaseSchema, UUIDsAsStringsMixin):
|
||||
'version',
|
||||
'guest_list',
|
||||
'broadcast_messages',
|
||||
'service_broadcast_provider_restriction',
|
||||
)
|
||||
strict = True
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ from app.models import (
|
||||
Notification,
|
||||
Permission,
|
||||
Service,
|
||||
ServiceBroadcastProviderRestriction,
|
||||
ServiceEmailReplyTo,
|
||||
ServiceLetterContact,
|
||||
ServicePermission,
|
||||
@@ -271,10 +272,21 @@ def test_get_service_by_id(admin_request, sample_service):
|
||||
'volume_email',
|
||||
'volume_letter',
|
||||
'volume_sms',
|
||||
|
||||
}
|
||||
|
||||
|
||||
def test_get_service_by_id_returns_allowed_broadcast_provider(notify_db, admin_request, sample_service):
|
||||
notify_db.session.add(ServiceBroadcastProviderRestriction(
|
||||
service=sample_service,
|
||||
provider='ee'
|
||||
))
|
||||
notify_db.session.commit()
|
||||
|
||||
json_resp = admin_request.get('service.get_service_by_id', service_id=sample_service.id)
|
||||
assert json_resp['data']['id'] == str(sample_service.id)
|
||||
assert json_resp['data']['allowed_broadcast_provider'] == 'ee'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('detailed', [True, False])
|
||||
def test_get_service_by_id_returns_organisation_type(admin_request, sample_service, detailed):
|
||||
json_resp = admin_request.get('service.get_service_by_id', service_id=sample_service.id, detailed=detailed)
|
||||
|
||||
Reference in New Issue
Block a user