Merge pull request #422 from dod-ccpo/invite-expiration

Invite and Workspace Member Status
This commit is contained in:
dandds
2018-11-02 11:57:36 -04:00
committed by GitHub
9 changed files with 131 additions and 13 deletions

View File

@@ -55,7 +55,7 @@ def test_accept_expired_invitation():
def test_accept_rejected_invite():
user = UserFactory.create()
invite = InvitationFactory.create(user_id=user.id, status=Status.REJECTED)
invite = InvitationFactory.create(user_id=user.id, status=Status.REJECTED_EXPIRED)
with pytest.raises(InvitationError):
Invitations.accept(user, invite.token)

View File

@@ -1,8 +1,17 @@
import datetime
from atst.domain.environments import Environments
from atst.domain.workspaces import Workspaces
from atst.domain.projects import Projects
from atst.models.workspace_user import WorkspaceUser
from tests.factories import RequestFactory, UserFactory
from atst.domain.workspace_users import WorkspaceUsers
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():
@@ -54,3 +63,36 @@ def test_role_displayname():
workspace_user = Workspaces.create_member(owner, workspace, developer_data)
assert workspace_user.role_displayname == "Developer"
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=InvitationStatus.REJECTED_EXPIRED)]
)
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"

View File

@@ -363,7 +363,9 @@ def test_member_accepts_invalid_invite(client, user_session):
user=user, workspace=workspace, status=WorkspaceRoleStatus.PENDING
)
invite = InvitationFactory.create(
user_id=user.id, workspace_role_id=ws_role.id, status=InvitationStatus.REJECTED
user_id=user.id,
workspace_role_id=ws_role.id,
status=InvitationStatus.REJECTED_WRONG_USER,
)
user_session(user)
response = client.get(url_for("workspaces.accept_invitation", token=invite.token))
@@ -411,7 +413,7 @@ def test_user_accepts_expired_invite(client, user_session):
invite = InvitationFactory.create(
user_id=user.id,
workspace_role_id=ws_role.id,
status=InvitationStatus.REJECTED,
status=InvitationStatus.REJECTED_EXPIRED,
expiration_time=datetime.datetime.now() - datetime.timedelta(seconds=1),
)
user_session(user)