Merge pull request #1192 from dod-ccpo/app-member-status-labels
Status labels on app members table
This commit is contained in:
@@ -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", True)
|
||||
app_role = super()._create(model_class, *args, **kwargs)
|
||||
|
||||
if with_invite:
|
||||
ApplicationInvitationFactory.create(role=app_role)
|
||||
|
||||
return app_role
|
||||
|
||||
|
||||
class EnvironmentRoleFactory(Base):
|
||||
class Meta:
|
||||
@@ -259,7 +269,7 @@ class ApplicationInvitationFactory(Base):
|
||||
email = factory.Faker("email")
|
||||
status = InvitationStatus.PENDING
|
||||
expiration_time = PortfolioInvitations.current_expiration_time()
|
||||
role = factory.SubFactory(ApplicationRoleFactory)
|
||||
role = factory.SubFactory(ApplicationRoleFactory, invite=False)
|
||||
|
||||
|
||||
class AttachmentFactory(Base):
|
||||
|
@@ -58,3 +58,21 @@ def test_environment_roles():
|
||||
)
|
||||
|
||||
assert not EnvironmentRoles.get_by_user_and_environment(user.id, environment2.id)
|
||||
|
||||
|
||||
def test_display_status():
|
||||
yesterday = datetime.date.today() - datetime.timedelta(days=1)
|
||||
expired_invite = ApplicationInvitationFactory.create(expiration_time=yesterday)
|
||||
assert expired_invite.role.display_status == "invite_expired"
|
||||
|
||||
app_role_pending = ApplicationRoleFactory.create()
|
||||
invite = ApplicationInvitationFactory.create(
|
||||
role=app_role_pending, user=app_role_pending.user
|
||||
)
|
||||
assert app_role_pending.display_status == "invite_pending"
|
||||
|
||||
app_role_active = ApplicationRoleFactory.create(status=ApplicationRoleStatus.ACTIVE)
|
||||
assert app_role_active.display_status == None
|
||||
|
||||
env_role_pending = EnvironmentRoleFactory.create(application_role=app_role_active)
|
||||
assert env_role_pending.application_role.display_status == "changes_pending"
|
||||
|
@@ -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
|
||||
@@ -114,7 +115,6 @@ def test_edit_application_environments_obj(app, client, user_session):
|
||||
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)
|
||||
env_role2 = EnvironmentRoleFactory.create(
|
||||
application_role=app_role2, environment=env, role=CSPRole.NETWORK_ADMIN.value
|
||||
)
|
||||
@@ -165,7 +165,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