Merge pull request #3167 from alphagov/broadcast_services_history

Add service versioning to broadcast account type change
This commit is contained in:
David McDonald
2021-03-11 17:07:24 +00:00
committed by GitHub
2 changed files with 30 additions and 2 deletions

View File

@@ -3,11 +3,19 @@ from datetime import datetime
from flask import current_app
from app import db
from app.models import ServiceBroadcastSettings, ServicePermission, Organisation, BROADCAST_TYPE, EMAIL_AUTH_TYPE
from app.dao.dao_utils import transactional
from app.dao.dao_utils import transactional, version_class
from app.models import (
Service,
ServiceBroadcastSettings,
ServicePermission,
Organisation,
BROADCAST_TYPE,
EMAIL_AUTH_TYPE
)
@transactional
@version_class(Service)
def set_broadcast_service_type(service, service_mode, broadcast_channel, provider_restriction):
insert_or_update_service_broadcast_settings(
service, channel=broadcast_channel, provider_restriction=provider_restriction

View File

@@ -4059,3 +4059,23 @@ def test_set_as_broadcast_service_errors_if_no_mobile_provider_restriction(
_data=data,
_expected_status=400,
)
def test_set_as_broadcast_service_updates_services_history(
admin_request, sample_service, broadcast_organisation
):
old_history_records = Service.get_history_model().query.filter_by(id=sample_service.id).all()
data = {
'broadcast_channel': 'test',
'service_mode': 'live',
'provider_restriction': None,
}
admin_request.post(
'service.set_as_broadcast_service',
service_id=sample_service.id,
_data=data,
)
new_history_records = Service.get_history_model().query.filter_by(id=sample_service.id).all()
assert len(new_history_records) == len(old_history_records) + 1