diff --git a/atst/domain/invitations.py b/atst/domain/invitations.py index bb653693..99b30b27 100644 --- a/atst/domain/invitations.py +++ b/atst/domain/invitations.py @@ -52,11 +52,11 @@ class Invitations(object): return invite @classmethod - def create(cls, workspace_role, inviter, user): + def create(cls, inviter, workspace_role): invite = Invitation( workspace_role=workspace_role, inviter=inviter, - user=user, + user=workspace_role.user, status=InvitationStatus.PENDING, expiration_time=Invitations.current_expiration_time(), ) diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index bbe47803..a8f6493d 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -255,11 +255,12 @@ def send_invite_email(owner_name, token, new_member_email): def create_member(workspace_id): workspace = Workspaces.get(g.current_user, workspace_id) form = NewMemberForm(http_request.form) + user = g.current_user if form.validate(): try: - new_member = Workspaces.create_member(g.current_user, workspace, form.data) - invite = Invitations.create(new_member, g.current_user, new_member.user) + new_member = Workspaces.create_member(user, workspace, form.data) + invite = Invitations.create(user, new_member) send_invite_email( g.current_user.full_name, invite.token, new_member.user.email ) diff --git a/tests/domain/test_invitations.py b/tests/domain/test_invitations.py index 6f5a0093..0b34695b 100644 --- a/tests/domain/test_invitations.py +++ b/tests/domain/test_invitations.py @@ -22,7 +22,7 @@ def test_create_invitation(): workspace = WorkspaceFactory.create() user = UserFactory.create() ws_role = WorkspaceRoleFactory.create(user=user, workspace=workspace) - invite = Invitations.create(ws_role, workspace.owner, user) + invite = Invitations.create(workspace.owner, ws_role) assert invite.user == user assert invite.workspace_role == ws_role assert invite.inviter == workspace.owner @@ -34,7 +34,7 @@ def test_accept_invitation(): workspace = WorkspaceFactory.create() user = UserFactory.create() ws_role = WorkspaceRoleFactory.create(user=user, workspace=workspace) - invite = Invitations.create(ws_role, workspace.owner, user) + invite = Invitations.create(workspace.owner, ws_role) assert invite.is_pending accepted_invite = Invitations.accept(user, invite.token) assert accepted_invite.is_accepted @@ -89,7 +89,7 @@ def test_accept_invitation_twice(): workspace = WorkspaceFactory.create() user = UserFactory.create() ws_role = WorkspaceRoleFactory.create(user=user, workspace=workspace) - invite = Invitations.create(ws_role, workspace.owner, user) + invite = Invitations.create(workspace.owner, ws_role) Invitations.accept(user, invite.token) with pytest.raises(InvitationError): Invitations.accept(user, invite.token)