mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-09 14:59:49 -04: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')
|
organisation = field_for(models.Service, 'organisation')
|
||||||
override_flag = False
|
override_flag = False
|
||||||
go_live_at = field_for(models.Service, 'go_live_at', format=DATETIME_FORMAT_NO_TIMEZONE)
|
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):
|
def get_letter_logo_filename(self, service):
|
||||||
return service.letter_branding and service.letter_branding.filename
|
return service.letter_branding and service.letter_branding.filename
|
||||||
@@ -261,6 +265,7 @@ class ServiceSchema(BaseSchema, UUIDsAsStringsMixin):
|
|||||||
'version',
|
'version',
|
||||||
'guest_list',
|
'guest_list',
|
||||||
'broadcast_messages',
|
'broadcast_messages',
|
||||||
|
'service_broadcast_provider_restriction',
|
||||||
)
|
)
|
||||||
strict = True
|
strict = True
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ from app.models import (
|
|||||||
Notification,
|
Notification,
|
||||||
Permission,
|
Permission,
|
||||||
Service,
|
Service,
|
||||||
|
ServiceBroadcastProviderRestriction,
|
||||||
ServiceEmailReplyTo,
|
ServiceEmailReplyTo,
|
||||||
ServiceLetterContact,
|
ServiceLetterContact,
|
||||||
ServicePermission,
|
ServicePermission,
|
||||||
@@ -271,10 +272,21 @@ def test_get_service_by_id(admin_request, sample_service):
|
|||||||
'volume_email',
|
'volume_email',
|
||||||
'volume_letter',
|
'volume_letter',
|
||||||
'volume_sms',
|
'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])
|
@pytest.mark.parametrize('detailed', [True, False])
|
||||||
def test_get_service_by_id_returns_organisation_type(admin_request, sample_service, detailed):
|
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)
|
json_resp = admin_request.get('service.get_service_by_id', service_id=sample_service.id, detailed=detailed)
|
||||||
|
|||||||
Reference in New Issue
Block a user