From 75dd0f12490516ea0b3a986269e48cb4fc2f507d Mon Sep 17 00:00:00 2001 From: dandds Date: Tue, 6 Nov 2018 16:29:00 -0500 Subject: [PATCH] domain method revoking invitations --- atst/domain/invitations.py | 5 +++++ tests/domain/test_invitations.py | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/atst/domain/invitations.py b/atst/domain/invitations.py index bde7dbce..bb653693 100644 --- a/atst/domain/invitations.py +++ b/atst/domain/invitations.py @@ -99,3 +99,8 @@ class Invitations(object): db.session.commit() return invite + + @classmethod + def revoke(cls, token): + invite = Invitations._get(token) + return Invitations._update_status(invite, InvitationStatus.REVOKED) diff --git a/tests/domain/test_invitations.py b/tests/domain/test_invitations.py index 2ae38776..6f5a0093 100644 --- a/tests/domain/test_invitations.py +++ b/tests/domain/test_invitations.py @@ -93,3 +93,13 @@ def test_accept_invitation_twice(): Invitations.accept(user, invite.token) with pytest.raises(InvitationError): Invitations.accept(user, invite.token) + + +def test_revoke_invitation(): + workspace = WorkspaceFactory.create() + user = UserFactory.create() + ws_role = WorkspaceRoleFactory.create(user=user, workspace=workspace) + invite = Invitations.create(ws_role, workspace.owner, user) + assert invite.is_pending + Invitations.revoke(invite.token) + assert invite.is_revoked