diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 4845aa9cf..c65609518 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -440,10 +440,9 @@ def service_edit_email_reply_to(service_id, reply_to_email_id): @login_required @user_has_permissions('manage_service') def service_delete_email_reply_to(service_id, reply_to_email_id): - service_api_client.update_reply_to_email_address( - current_service['id'], + service_api_client.delete_reply_to_email_address( + service_id=current_service['id'], reply_to_email_id=reply_to_email_id, - active=False, ) return redirect(url_for('.service_email_reply_to', service_id=service_id)) @@ -723,10 +722,9 @@ def service_edit_sms_sender(service_id, sms_sender_id): @login_required @user_has_permissions('manage_service') def service_delete_sms_sender(service_id, sms_sender_id): - service_api_client.update_sms_sender( - current_service['id'], + service_api_client.delete_sms_sender( + service_id=current_service['id'], sms_sender_id=sms_sender_id, - active=False, ) return redirect(url_for('.service_sms_senders', service_id=service_id)) diff --git a/app/notify_client/service_api_client.py b/app/notify_client/service_api_client.py index 6fdd95c82..e0c06ec78 100644 --- a/app/notify_client/service_api_client.py +++ b/app/notify_client/service_api_client.py @@ -374,25 +374,7 @@ class ServiceAPIClient(NotifyAdminAPIClient): ) @cache.delete('service-{service_id}') - def update_reply_to_email_address( - self, - service_id, - reply_to_email_id, - email_address=None, - active=None, - is_default=False - ): - data = { - "is_default": is_default - } - if email_address is not None: - data.update({ - 'email_address': email_address - }) - if active is not None: - data.update({ - 'active': active - }) + def update_reply_to_email_address(self, service_id, reply_to_email_id, email_address, is_default=False): return self.post( "/service/{}/email-reply-to/{}".format( service_id, @@ -404,6 +386,13 @@ class ServiceAPIClient(NotifyAdminAPIClient): } ) + @cache.delete('service-{service_id}') + def delete_reply_to_email_address(self, service_id, reply_to_email_id): + return self.post( + "/service/{}/email-reply-to/{}/archive".format(service_id, reply_to_email_id), + data=None + ) + def get_letter_contacts(self, service_id): return self.get("/service/{}/letter-contact".format(service_id)) @@ -457,21 +446,20 @@ class ServiceAPIClient(NotifyAdminAPIClient): return self.post("/service/{}/sms-sender".format(service_id), data=data) @cache.delete('service-{service_id}') - def update_sms_sender(self, service_id, sms_sender_id, sms_sender=None, active=None, is_default=False): - data = { - "is_default": is_default, - } - if sms_sender is not None: - data.update({ - "sms_sender": sms_sender, - }) - if active is not None: - data.update({ - "active": active, - }) + def update_sms_sender(self, service_id, sms_sender_id, sms_sender, is_default=False): return self.post( "/service/{}/sms-sender/{}".format(service_id, sms_sender_id), - data=data + data={ + "sms_sender": sms_sender, + "is_default": is_default + } + ) + + @cache.delete('service-{service_id}') + def delete_sms_sender(self, service_id, sms_sender_id): + return self.post( + "/service/{}/sms-sender/{}/archive".format(service_id, sms_sender_id), + data=None ) def get_service_callback_api(self, service_id, callback_api_id): diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index cd2f8fd0a..0adc8711c 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -1193,9 +1193,9 @@ def test_delete_reply_to_email_address( service_one, fake_uuid, get_non_default_reply_to_email_address, - mock_update_reply_to_email_address, + mocker, ): - + mock_delete = mocker.patch('app.service_api_client.delete_reply_to_email_address') client_request.post( '.service_delete_email_reply_to', service_id=SERVICE_ONE_ID, @@ -1206,12 +1206,7 @@ def test_delete_reply_to_email_address( _external=True, ) ) - - mock_update_reply_to_email_address.assert_called_once_with( - SERVICE_ONE_ID, - active=False, - reply_to_email_id=fake_uuid, - ) + mock_delete.assert_called_once_with(service_id=SERVICE_ONE_ID, reply_to_email_id=fake_uuid) @pytest.mark.parametrize('fixture, data, api_default_args', [ @@ -1435,9 +1430,9 @@ def test_delete_sms_sender( service_one, fake_uuid, get_non_default_sms_sender, - mock_update_sms_sender, + mocker, ): - + mock_delete = mocker.patch('app.service_api_client.delete_sms_sender') client_request.post( '.service_delete_sms_sender', service_id=SERVICE_ONE_ID, @@ -1448,12 +1443,7 @@ def test_delete_sms_sender( _external=True, ) ) - - mock_update_sms_sender.assert_called_once_with( - SERVICE_ONE_ID, - active=False, - sms_sender_id='1234', - ) + mock_delete.assert_called_once_with(service_id=SERVICE_ONE_ID, sms_sender_id='1234') @pytest.mark.parametrize('fixture, hide_textbox, fixture_sender_id', [ diff --git a/tests/app/notify_client/test_service_api_client.py b/tests/app/notify_client/test_service_api_client.py index bf7a312ed..314bec542 100644 --- a/tests/app/notify_client/test_service_api_client.py +++ b/tests/app/notify_client/test_service_api_client.py @@ -344,10 +344,12 @@ def test_returns_value_from_cache( (service_api_client, 'update_service_inbound_api', [SERVICE_ONE_ID] + [''] * 4, {}), (service_api_client, 'add_reply_to_email_address', [SERVICE_ONE_ID, ''], {}), (service_api_client, 'update_reply_to_email_address', [SERVICE_ONE_ID] + [''] * 2, {}), + (service_api_client, 'delete_reply_to_email_address', [SERVICE_ONE_ID, ''], {}), (service_api_client, 'add_letter_contact', [SERVICE_ONE_ID, ''], {}), (service_api_client, 'update_letter_contact', [SERVICE_ONE_ID] + [''] * 2, {}), (service_api_client, 'add_sms_sender', [SERVICE_ONE_ID, ''], {}), (service_api_client, 'update_sms_sender', [SERVICE_ONE_ID] + [''] * 2, {}), + (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, {}), (user_api_client, 'add_user_to_service', [SERVICE_ONE_ID, fake_uuid(), []], {}),