Merge pull request #1105 from dod-ccpo/fix-invite-bug

Fix invite bug
This commit is contained in:
leigh-mil 2019-10-03 15:02:05 -04:00 committed by GitHub
commit da6916b1a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 8 deletions

View File

@ -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

View File

@ -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):

View File

@ -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():