Merge pull request #3967 from alphagov/broadcast-form-cache-clear

Clear user cache when broadcast service settings form is submitted
This commit is contained in:
Katie Smith
2021-07-14 16:02:14 +01:00
committed by GitHub
4 changed files with 29 additions and 4 deletions

View File

@@ -5899,6 +5899,7 @@ def test_service_confirm_broadcast_account_type_posts_data_to_api_and_redirects(
broadcast_channel,
allowed_broadcast_provider,
fake_uuid,
mock_get_users_by_service,
):
set_service_broadcast_settings_mock = mocker.patch('app.service_api_client.set_service_broadcast_settings')
mock_event_handler = mocker.patch('app.main.views.service_settings.create_broadcast_account_type_change_event')
@@ -5917,6 +5918,7 @@ def test_service_confirm_broadcast_account_type_posts_data_to_api_and_redirects(
service_mode=service_mode,
broadcast_channel=broadcast_channel,
provider_restriction=allowed_broadcast_provider,
cached_service_user_ids=[fake_uuid]
)
mock_event_handler.assert_called_once_with(
service_id=SERVICE_ONE_ID,

View File

@@ -404,7 +404,7 @@ def test_returns_value_from_cache(
(service_api_client, 'delete_sms_sender', [SERVICE_ONE_ID, ''], {}),
(service_api_client, 'update_service_callback_api', [SERVICE_ONE_ID] + [''] * 4, {}),
(service_api_client, 'create_service_callback_api', [SERVICE_ONE_ID] + [''] * 3, {}),
(service_api_client, 'set_service_broadcast_settings', [SERVICE_ONE_ID, 'training', 'severe', None], {}),
(service_api_client, 'set_service_broadcast_settings', [SERVICE_ONE_ID, 'training', 'severe', 'all', []], {}),
(user_api_client, 'add_user_to_service', [SERVICE_ONE_ID, uuid4(), [], []], {}),
(invite_api_client, 'accept_invite', [SERVICE_ONE_ID, uuid4()], {}),
])
@@ -492,6 +492,23 @@ def test_deletes_cached_users_when_archiving_service(mocker, mock_get_service_te
assert call(f'service-{SERVICE_ONE_ID}-template-*') in mock_redis_delete_by_pattern.call_args_list
def test_deletes_cached_users_when_changing_broadcast_service_settings(mocker):
mock_redis_delete = mocker.patch('app.extensions.RedisClient.delete')
mocker.patch('notifications_python_client.base.BaseAPIClient.request', return_value={'data': ""})
service_api_client.set_service_broadcast_settings(SERVICE_ONE_ID,
'live',
'severe',
'all',
["my-user-id1", "my-user-id2"])
assert mock_redis_delete.call_args_list == [
call('user-my-user-id1', 'user-my-user-id2'),
call(f'service-{SERVICE_ONE_ID}'),
]
def test_client_gets_guest_list(mocker):
client = ServiceAPIClient()
mock_get = mocker.patch.object(client, 'get', return_value=['a', 'b', 'c'])