Update app member status labels to accurately reflect member's current status

This commit is contained in:
leigh-mil
2019-11-18 16:43:53 -05:00
parent 3f146c7da8
commit 9f90f5abbd
9 changed files with 76 additions and 20 deletions

View File

@@ -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:

View File

@@ -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)