return allowed_broadcast_provider via get by service id

This commit is contained in:
Leo Hemsted
2020-12-02 10:17:21 +00:00
parent 0bbd00d2a5
commit 0ef063ab14
2 changed files with 18 additions and 1 deletions

View File

@@ -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

View File

@@ -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)