diff --git a/atst/routes/workspaces/members.py b/atst/routes/workspaces/members.py index 01be80e0..bfe85792 100644 --- a/atst/routes/workspaces/members.py +++ b/atst/routes/workspaces/members.py @@ -147,22 +147,20 @@ def update_member(workspace_id, member_id): form = EditMemberForm(http_request.form) if form.validate(): new_role_name = None - if form.data["workspace_role"] != member.role: + if form.data["workspace_role"] != member.role.name: member = Workspaces.update_member( g.current_user, workspace, member, form.data["workspace_role"] ) new_role_name = member.role_displayname + flash( + "workspace_role_updated", + member_name=member.user_name, + updated_role=new_role_name, + ) Environments.update_environment_roles( g.current_user, workspace, member, ids_and_roles ) - - flash( - "workspace_role_updated", - member_name=member.user_name, - updated_role=new_role_name, - ) - return redirect( url_for("workspaces.workspace_members", workspace_id=workspace.id) ) diff --git a/tests/routes/workspaces/test_members.py b/tests/routes/workspaces/test_members.py index 560d3934..47fe9325 100644 --- a/tests/routes/workspaces/test_members.py +++ b/tests/routes/workspaces/test_members.py @@ -93,6 +93,7 @@ def test_update_member_workspace_role(client, user_session): follow_redirects=True, ) assert response.status_code == 200 + assert b"role updated successfully" in response.data assert member.role_name == "security_auditor" @@ -140,6 +141,7 @@ def test_update_member_environment_role(client, user_session): follow_redirects=True, ) assert response.status_code == 200 + assert b"role updated successfully" not in response.data assert EnvironmentRoles.get(user.id, env1_id).role == "security_auditor" assert EnvironmentRoles.get(user.id, env2_id).role == "devops"