Update app member status labels to accurately reflect member's current status
This commit is contained in:
@@ -202,7 +202,7 @@ class EnvironmentFactory(Base):
|
||||
for member in with_members:
|
||||
user = member.get("user", UserFactory.create())
|
||||
application_role = ApplicationRoleFactory.create(
|
||||
application=environment.application, user=user
|
||||
application=environment.application, user=user, invite=True
|
||||
)
|
||||
role_name = member["role_name"]
|
||||
EnvironmentRoleFactory.create(
|
||||
@@ -233,6 +233,16 @@ class ApplicationRoleFactory(Base):
|
||||
status = ApplicationRoleStatus.PENDING
|
||||
permission_sets = factory.LazyFunction(base_application_permission_sets)
|
||||
|
||||
@classmethod
|
||||
def _create(cls, model_class, *args, **kwargs):
|
||||
with_invite = kwargs.pop("invite", False)
|
||||
app_role = super()._create(model_class, *args, **kwargs)
|
||||
|
||||
if with_invite:
|
||||
ApplicationInvitationFactory.create(role=app_role)
|
||||
|
||||
return app_role
|
||||
|
||||
|
||||
class EnvironmentRoleFactory(Base):
|
||||
class Meta:
|
||||
|
@@ -10,10 +10,11 @@ from tests.factories import *
|
||||
from atst.domain.applications import Applications
|
||||
from atst.domain.application_roles import ApplicationRoles
|
||||
from atst.domain.environment_roles import EnvironmentRoles
|
||||
from atst.domain.invitations import ApplicationInvitations
|
||||
from atst.domain.common import Paginator
|
||||
from atst.domain.permission_sets import PermissionSets
|
||||
from atst.models.application_role import Status as ApplicationRoleStatus
|
||||
from atst.models.environment_role import CSPRole
|
||||
from atst.models.environment_role import CSPRole, EnvironmentRole
|
||||
from atst.models.permissions import Permissions
|
||||
from atst.forms.application import EditEnvironmentForm
|
||||
from atst.forms.application_member import UpdateMemberForm
|
||||
@@ -109,12 +110,13 @@ def test_edit_application_environments_obj(app, client, user_session):
|
||||
{"env"},
|
||||
)
|
||||
env = application.environments[0]
|
||||
app_role1 = ApplicationRoleFactory.create(application=application)
|
||||
app_role1 = ApplicationRoleFactory.create(application=application, invite=True)
|
||||
env_role1 = EnvironmentRoleFactory.create(
|
||||
application_role=app_role1, environment=env, role=CSPRole.BASIC_ACCESS.value
|
||||
)
|
||||
app_role2 = ApplicationRoleFactory.create(application=application, user=None)
|
||||
invite = ApplicationInvitationFactory.create(role=app_role2)
|
||||
app_role2 = ApplicationRoleFactory.create(
|
||||
application=application, user=None, invite=True
|
||||
)
|
||||
env_role2 = EnvironmentRoleFactory.create(
|
||||
application_role=app_role2, environment=env, role=CSPRole.NETWORK_ADMIN.value
|
||||
)
|
||||
@@ -165,7 +167,7 @@ def test_get_members_data(app, client, user_session):
|
||||
"name": "testing",
|
||||
"members": [{"user": user, "role_name": CSPRole.BASIC_ACCESS.value}],
|
||||
}
|
||||
]
|
||||
],
|
||||
)
|
||||
environment = application.environments[0]
|
||||
app_role = ApplicationRoles.get(user_id=user.id, application_id=application.id)
|
||||
|
Reference in New Issue
Block a user