commit
da6916b1a1
@ -143,10 +143,3 @@ class PortfolioInvitations(BaseInvitations):
|
||||
class ApplicationInvitations(BaseInvitations):
|
||||
model = ApplicationInvitation
|
||||
role_domain_class = ApplicationRoles
|
||||
|
||||
@classmethod
|
||||
def _update_status(cls, invite, new_status):
|
||||
invite = super()._update_status(invite, new_status)
|
||||
ApplicationRoles.disable(invite.role)
|
||||
|
||||
return invite
|
||||
|
@ -11,6 +11,7 @@ from atst.domain.invitations import (
|
||||
WrongUserError,
|
||||
)
|
||||
from atst.models import InvitationStatus
|
||||
from atst.models.portfolio_role import Status as PortfolioRoleStatus
|
||||
|
||||
from tests.factories import (
|
||||
PortfolioFactory,
|
||||
@ -31,6 +32,7 @@ def test_create_invitation():
|
||||
assert invite.inviter == portfolio.owner
|
||||
assert invite.status == InvitationStatus.PENDING
|
||||
assert re.match(r"^[\w\-_]+$", invite.token)
|
||||
assert invite.role.status == PortfolioRoleStatus.PENDING
|
||||
|
||||
|
||||
def test_accept_invitation():
|
||||
@ -43,6 +45,7 @@ def test_accept_invitation():
|
||||
assert invite.is_pending
|
||||
accepted_invite = PortfolioInvitations.accept(user, invite.token)
|
||||
assert accepted_invite.is_accepted
|
||||
assert accepted_invite.role.is_active
|
||||
|
||||
|
||||
def test_accept_expired_invitation():
|
||||
@ -61,6 +64,7 @@ def test_accept_expired_invitation():
|
||||
PortfolioInvitations.accept(user, invite.token)
|
||||
|
||||
assert invite.is_rejected
|
||||
assert invite.role.status == PortfolioRoleStatus.PENDING
|
||||
|
||||
|
||||
def test_accept_rejected_invite():
|
||||
@ -72,6 +76,7 @@ def test_accept_rejected_invite():
|
||||
)
|
||||
with pytest.raises(InvitationError):
|
||||
PortfolioInvitations.accept(user, invite.token)
|
||||
assert invite.role.status == PortfolioRoleStatus.PENDING
|
||||
|
||||
|
||||
def test_accept_revoked_invite():
|
||||
@ -83,6 +88,7 @@ def test_accept_revoked_invite():
|
||||
)
|
||||
with pytest.raises(InvitationError):
|
||||
PortfolioInvitations.accept(user, invite.token)
|
||||
assert invite.role.status == PortfolioRoleStatus.PENDING
|
||||
|
||||
|
||||
def test_wrong_user_accepts_invitation():
|
||||
@ -93,6 +99,7 @@ def test_wrong_user_accepts_invitation():
|
||||
invite = PortfolioInvitationFactory.create(role=role, dod_id=user.dod_id)
|
||||
with pytest.raises(WrongUserError):
|
||||
PortfolioInvitations.accept(wrong_user, invite.token)
|
||||
assert invite.role.status == PortfolioRoleStatus.PENDING
|
||||
|
||||
|
||||
def test_user_cannot_accept_invitation_accepted_by_wrong_user():
|
||||
@ -105,6 +112,7 @@ def test_user_cannot_accept_invitation_accepted_by_wrong_user():
|
||||
PortfolioInvitations.accept(wrong_user, invite.token)
|
||||
with pytest.raises(InvitationError):
|
||||
PortfolioInvitations.accept(user, invite.token)
|
||||
assert invite.role.status == PortfolioRoleStatus.PENDING
|
||||
|
||||
|
||||
def test_accept_invitation_twice():
|
||||
@ -115,6 +123,7 @@ def test_accept_invitation_twice():
|
||||
PortfolioInvitations.accept(user, invite.token)
|
||||
with pytest.raises(InvitationError):
|
||||
PortfolioInvitations.accept(user, invite.token)
|
||||
assert invite.role.is_active
|
||||
|
||||
|
||||
def test_revoke_invitation():
|
||||
@ -125,6 +134,7 @@ def test_revoke_invitation():
|
||||
assert invite.is_pending
|
||||
PortfolioInvitations.revoke(invite.token)
|
||||
assert invite.is_revoked
|
||||
assert invite.role.status == PortfolioRoleStatus.PENDING
|
||||
|
||||
|
||||
def test_resend_invitation(session):
|
||||
|
@ -566,7 +566,6 @@ def test_revoke_invite(client, user_session):
|
||||
)
|
||||
|
||||
assert invite.is_revoked
|
||||
assert app_role.status == ApplicationRoleStatus.DISABLED
|
||||
|
||||
|
||||
def test_filter_environment_roles():
|
||||
|
Loading…
x
Reference in New Issue
Block a user