mirror of
https://github.com/GSA/notifications-admin.git
synced 2025-12-09 22:53:27 -05:00
Add event for remove_user_from_service
Follows our existing patterns of events for managing users
This commit is contained in:
@@ -25,6 +25,15 @@ def create_mobile_number_change_event(user_id, updated_by_id, original_mobile_nu
|
||||
new_mobile_number=new_mobile_number)
|
||||
|
||||
|
||||
def create_remove_user_from_service_event(user_id, removed_by_id, service_id):
|
||||
_send_event(
|
||||
'remove_user_from_service',
|
||||
user_id=user_id,
|
||||
removed_by_id=removed_by_id,
|
||||
service_id=service_id
|
||||
)
|
||||
|
||||
|
||||
def create_archive_user_event(user_id, archived_by_id):
|
||||
_send_event(
|
||||
'archive_user',
|
||||
|
||||
@@ -14,6 +14,7 @@ from app import current_service, service_api_client
|
||||
from app.event_handlers import (
|
||||
create_email_change_event,
|
||||
create_mobile_number_change_event,
|
||||
create_remove_user_from_service_event,
|
||||
)
|
||||
from app.main import main
|
||||
from app.main.forms import (
|
||||
@@ -132,6 +133,8 @@ def remove_user_from_service(service_id, user_id):
|
||||
service_id=service_id))
|
||||
else:
|
||||
abort(500, e)
|
||||
else:
|
||||
create_remove_user_from_service_event(user_id=user_id, removed_by_id=current_user.id, service_id=service_id)
|
||||
|
||||
return redirect(url_for(
|
||||
'.manage_users',
|
||||
|
||||
@@ -994,9 +994,13 @@ def test_manage_user_page_doesnt_show_folder_hint_if_service_cant_edit_folder_pe
|
||||
def test_remove_user_from_service(
|
||||
client_request,
|
||||
active_user_with_permissions,
|
||||
api_user_active,
|
||||
service_one,
|
||||
mock_remove_user_from_service,
|
||||
mocker
|
||||
):
|
||||
mock_event_handler = mocker.patch('app.main.views.manage_users.create_remove_user_from_service_event')
|
||||
|
||||
client_request.post(
|
||||
'main.remove_user_from_service',
|
||||
service_id=service_one['id'],
|
||||
@@ -1008,6 +1012,12 @@ def test_remove_user_from_service(
|
||||
str(active_user_with_permissions['id'])
|
||||
)
|
||||
|
||||
mock_event_handler.assert_called_once_with(
|
||||
user_id=active_user_with_permissions['id'],
|
||||
removed_by_id=api_user_active['id'],
|
||||
service_id=service_one['id'],
|
||||
)
|
||||
|
||||
|
||||
def test_can_invite_user_as_platform_admin(
|
||||
client_request,
|
||||
|
||||
@@ -5,6 +5,7 @@ from app.event_handlers import (
|
||||
create_archive_user_event,
|
||||
create_email_change_event,
|
||||
create_mobile_number_change_event,
|
||||
create_remove_user_from_service_event,
|
||||
on_user_logged_in,
|
||||
)
|
||||
from app.models.user import User
|
||||
@@ -37,6 +38,26 @@ def test_create_email_change_event_calls_events_api(app_, mock_events):
|
||||
'new_email_address': 'new@example.com'})
|
||||
|
||||
|
||||
def test_create_remove_user_from_service_event_calls_events_api(app_, mock_events):
|
||||
user_id = str(uuid.uuid4())
|
||||
removed_by_id = str(uuid.uuid4())
|
||||
service_id = str(uuid.uuid4())
|
||||
|
||||
with app_.test_request_context():
|
||||
create_remove_user_from_service_event(user_id, removed_by_id, service_id)
|
||||
|
||||
mock_events.assert_called_with(
|
||||
'remove_user_from_service',
|
||||
{
|
||||
'browser_fingerprint': {'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': ''},
|
||||
'ip_address': ANY,
|
||||
'user_id': user_id,
|
||||
'removed_by_id': removed_by_id,
|
||||
'service_id': service_id,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def test_create_mobile_number_change_event_calls_events_api(app_, mock_events):
|
||||
user_id = str(uuid.uuid4())
|
||||
updated_by_id = str(uuid.uuid4())
|
||||
|
||||
Reference in New Issue
Block a user