more granular invitation status and a display status for workspace members

This commit is contained in:
dandds
2018-11-01 13:19:08 -04:00
parent 97475ee64f
commit e4bad109db
7 changed files with 115 additions and 20 deletions

View File

@@ -1,9 +1,17 @@
import datetime
from atst.domain.environments import Environments
from atst.domain.workspaces import Workspaces
from atst.domain.projects import Projects
from atst.domain.workspace_users import WorkspaceUsers
from atst.models.invitation import Status
from tests.factories import RequestFactory, UserFactory, InvitationFactory, WorkspaceRoleFactory
from atst.models.workspace_role import Status
from atst.models.invitation import Status as InvitationStatus
from tests.factories import (
RequestFactory,
UserFactory,
InvitationFactory,
WorkspaceRoleFactory,
)
def test_has_no_environment_roles():
@@ -57,8 +65,34 @@ def test_role_displayname():
assert workspace_user.role_displayname == "Developer"
def test_status_when_member_has_pending_invitation():
def test_status_when_member_is_active():
workspace_role = WorkspaceRoleFactory.create(status=Status.ACTIVE)
assert workspace_role.display_status == "Active"
def test_status_when_invitation_has_been_rejected_for_expirations():
workspace_role = WorkspaceRoleFactory.create(
invitations=[InvitationFactory.create(status=Status.ACCEPTED)]
invitations=[InvitationFactory.create(status=InvitationStatus.REJECTED_EXPIRED)]
)
assert workspace_role.display_status == "Accepted"
assert workspace_role.display_status == "Invite expired"
def test_status_when_invitation_has_been_rejected_for_wrong_user():
workspace_role = WorkspaceRoleFactory.create(
invitations=[
InvitationFactory.create(status=InvitationStatus.REJECTED_WRONG_USER)
]
)
assert workspace_role.display_status == "Error on invite"
def test_status_when_invitation_is_expired():
workspace_role = WorkspaceRoleFactory.create(
invitations=[
InvitationFactory.create(
status=InvitationStatus.PENDING,
expiration_time=datetime.datetime.now() - datetime.timedelta(seconds=1),
)
]
)
assert workspace_role.display_status == "Invite expired"