Prevent invitations without a workspace role

This commit is contained in:
Montana
2018-12-03 16:49:59 -05:00
parent ee18b704b2
commit 9ddac1fa61
5 changed files with 106 additions and 30 deletions

View File

@@ -2,22 +2,44 @@ import pytest
import datetime
from atst.models.invitation import Invitation, Status
from atst.models.workspace_role import Status as WorkspaceRoleStatus
from tests.factories import InvitationFactory
from tests.factories import (
InvitationFactory,
WorkspaceFactory,
UserFactory,
WorkspaceRoleFactory,
)
def test_expired_invite_is_not_revokable():
workspace = WorkspaceFactory.create()
user = UserFactory.create()
ws_role = WorkspaceRoleFactory.create(
workspace=workspace, user=user, status=WorkspaceRoleStatus.PENDING
)
invite = InvitationFactory.create(
expiration_time=datetime.datetime.now() - datetime.timedelta(minutes=60)
expiration_time=datetime.datetime.now() - datetime.timedelta(minutes=60),
workspace_role=ws_role,
)
assert not invite.is_revokable
def test_unexpired_invite_is_revokable():
invite = InvitationFactory.create()
workspace = WorkspaceFactory.create()
user = UserFactory.create()
ws_role = WorkspaceRoleFactory.create(
workspace=workspace, user=user, status=WorkspaceRoleStatus.PENDING
)
invite = InvitationFactory.create(workspace_role=ws_role)
assert invite.is_revokable
def test_invite_is_not_revokable_if_invite_is_not_pending():
invite = InvitationFactory.create(status=Status.ACCEPTED)
workspace = WorkspaceFactory.create()
user = UserFactory.create()
ws_role = WorkspaceRoleFactory.create(
workspace=workspace, user=user, status=WorkspaceRoleStatus.PENDING
)
invite = InvitationFactory.create(workspace_role=ws_role, status=Status.ACCEPTED)
assert not invite.is_revokable