New env role logic in filter_env_roles_form_data
This commit is contained in:
parent
fb58bc1ba1
commit
4aa0afdb67
@ -73,8 +73,9 @@ def filter_env_roles_form_data(member, environments):
|
|||||||
"environment_name": env.name,
|
"environment_name": env.name,
|
||||||
"role": NO_ACCESS,
|
"role": NO_ACCESS,
|
||||||
}
|
}
|
||||||
env_role = EnvironmentRoles.get_by_user_and_environment(member.user_id, env.id)
|
env_roles_set = set(env.roles).intersection(set(member.environment_roles))
|
||||||
if env_role:
|
if len(env_roles_set) == 1:
|
||||||
|
(env_role,) = env_roles_set
|
||||||
env_data["role"] = env_role.role
|
env_data["role"] = env_role.role
|
||||||
|
|
||||||
env_roles_form_data.append(env_data)
|
env_roles_form_data.append(env_data)
|
||||||
|
@ -21,6 +21,7 @@ from atst.models.portfolio_role import Status as PortfolioRoleStatus
|
|||||||
from atst.forms.application import EditEnvironmentForm
|
from atst.forms.application import EditEnvironmentForm
|
||||||
from atst.forms.application_member import UpdateMemberForm
|
from atst.forms.application_member import UpdateMemberForm
|
||||||
from atst.forms.data import ENV_ROLE_NO_ACCESS as NO_ACCESS
|
from atst.forms.data import ENV_ROLE_NO_ACCESS as NO_ACCESS
|
||||||
|
from atst.routes.applications.settings import filter_env_roles_form_data
|
||||||
|
|
||||||
from tests.utils import captured_templates
|
from tests.utils import captured_templates
|
||||||
|
|
||||||
@ -559,3 +560,27 @@ def test_revoke_invite(client, user_session):
|
|||||||
|
|
||||||
assert invite.is_revoked
|
assert invite.is_revoked
|
||||||
assert app_role.status == ApplicationRoleStatus.DISABLED
|
assert app_role.status == ApplicationRoleStatus.DISABLED
|
||||||
|
|
||||||
|
def test_filter_environment_roles():
|
||||||
|
application_role = ApplicationRoleFactory.create(user=None)
|
||||||
|
application_role2 = ApplicationRoleFactory.create(
|
||||||
|
user=None, application=application_role.application
|
||||||
|
)
|
||||||
|
application_role3 = ApplicationRoleFactory.create(
|
||||||
|
user=None, application=application_role.application
|
||||||
|
)
|
||||||
|
|
||||||
|
environment = EnvironmentFactory.create(application=application_role.application)
|
||||||
|
|
||||||
|
EnvironmentRoleFactory.create(
|
||||||
|
environment=environment, application_role=application_role
|
||||||
|
)
|
||||||
|
EnvironmentRoleFactory.create(
|
||||||
|
environment=environment, application_role=application_role2
|
||||||
|
)
|
||||||
|
|
||||||
|
environment_data = filter_env_roles_form_data(application_role, [environment])
|
||||||
|
assert environment_data[0]["role"] != "No Access"
|
||||||
|
|
||||||
|
environment_data = filter_env_roles_form_data(application_role3, [environment])
|
||||||
|
assert environment_data[0]["role"] == "No Access"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user