Update test_for_user to make variables clearer and add in a test case that should not be included in the list returned.
Use list comprehension in portfolio_applications route to get list of all environments for a user
This commit is contained in:
parent
78e7b1efe8
commit
d3f757c649
@ -25,9 +25,9 @@ def has_portfolio_applications(_user, portfolio=None, **_kwargs):
|
||||
)
|
||||
def portfolio_applications(portfolio_id):
|
||||
user_env_roles = EnvironmentRoles.for_user(g.current_user.id, portfolio_id)
|
||||
environment_access = {}
|
||||
for env_role in user_env_roles:
|
||||
environment_access[env_role.environment_id] = env_role.role
|
||||
environment_access = {
|
||||
env_role.environment_id: env_role.role for env_role in user_env_roles
|
||||
}
|
||||
|
||||
return render_template(
|
||||
"applications/index.html", environment_access=environment_access
|
||||
|
@ -138,19 +138,26 @@ def test_get_for_update(application_role, environment):
|
||||
assert role.deleted
|
||||
|
||||
|
||||
def test_for_user(application_role, environment):
|
||||
def test_for_user(application_role):
|
||||
portfolio = application_role.application.portfolio
|
||||
user = application_role.user
|
||||
# create roles for 2 environments
|
||||
env_role = EnvironmentRoleFactory.create(
|
||||
application_role=application_role, environment=environment
|
||||
)
|
||||
env_role1 = EnvironmentRoleFactory.create(application_role=application_role)
|
||||
# create roles for 2 environments associated with application_role fixture
|
||||
env_role_1 = EnvironmentRoleFactory.create(application_role=application_role)
|
||||
env_role_2 = EnvironmentRoleFactory.create(application_role=application_role)
|
||||
|
||||
# create role for environment in a different app in same portfolio
|
||||
app2 = ApplicationFactory.create(portfolio=portfolio)
|
||||
app_role2 = ApplicationRoleFactory.create(application=app2, user=user)
|
||||
env_role2 = EnvironmentRoleFactory.create(application_role=app_role2)
|
||||
application = ApplicationFactory.create(portfolio=portfolio)
|
||||
env_role_3 = EnvironmentRoleFactory.create(
|
||||
application_role=ApplicationRoleFactory.create(
|
||||
application=application, user=user
|
||||
)
|
||||
)
|
||||
|
||||
# create role for environment for random user in app2
|
||||
rando_app_role = ApplicationRoleFactory.create(application=application)
|
||||
rando_env_role = EnvironmentRoleFactory.create(application_role=rando_app_role)
|
||||
|
||||
env_roles = EnvironmentRoles.for_user(user.id, portfolio.id)
|
||||
assert len(env_roles) == 3
|
||||
for role in [env_role, env_role1, env_role2]:
|
||||
assert role in env_roles
|
||||
assert env_roles == [env_role_1, env_role_2, env_role_3]
|
||||
assert not rando_env_role in env_roles
|
||||
|
Loading…
x
Reference in New Issue
Block a user