def test_fetch_invite_by_id(self): recipient = User(self.random_email()) recipient.invite() sender = User(self.random_email()) sender.create() invite = Invite(sender.email, recipient.email) res = invite.create() self.assertEqual(res.json()["success"], True) invite_id = res.json()["invite"]["id"] res2 = invite.get(invite_id) self.assertEqual(res2.json()['invite']['recipient'], recipient.email) self.assertEqual(res2.json()['invite']['sender'], sender.email) self.assertEqual(res2.json()['invite']['id'], invite_id)
def test_delete_invite_does_not_delete_accepted_user(self): # Delete recipient's invite does not delete the user if # recipient has already accepted the invitation. recipient = User(self.random_email()) recipient.invite() sender = User(self.random_email()) sender.create() invite = Invite(sender.email, recipient.email) res1 = invite.create() invite_id = res1.json()["invite"]["id"] # accept the invitation with the same invitation email res2 = invite.update(invite_id, "accept", login=recipient.email) self.assertEqual(res2.json()["success"], True) # upon invitation acceptance, user status changed to active res3 = recipient.get() self.assertEqual(res3.json()['user']['email'], recipient.email) self.assertEqual(res3.json()['user']['status'], 'active') # now admin chooses to delete the invitation res4 = invite.delete(invite_id) self.assertEqual(res4.json()["success"], True) # check invitation is gone res5 = invite.get(invite_id) self.assertEqual(res5.json()['success'], False) self.assertEqual(res5.json()['reason'], 'invitation-does-not-exist') # yet, the user is still present res6 = recipient.get() self.assertEqual(res6.json()['success'], True) self.assertEqual(res6.json()['user']['email'], recipient.email) self.assertEqual(res6.json()['user']['status'], 'active')