def test_get_all_invites(self): # create a couple invitations and GET /invites should # return all the invitations in the system recipient1 = User(self.random_email()) recipient1.invite() recipient2 = User(self.random_email()) recipient2.invite() recipient3 = User(self.random_email()) recipient3.invite() sender = User(self.random_email()) sender.create() invite1 = Invite(sender.email, recipient1.email) invite1.create() invite2 = Invite(sender.email, recipient2.email) invite2.create() invite3 = Invite(sender.email, recipient3.email) invite3.create() res = Invites().get() self.assertEqual(len(res.json()['invites']), 3) self.assertEqual(res.json()['invites'][0]['recipient'], recipient1.email) self.assertEqual(res.json()['invites'][1]['recipient'], recipient2.email) self.assertEqual(res.json()['invites'][2]['recipient'], recipient3.email)
def test_get_invites_filter_by_sender_and_or_recipient(self): # recipient1 will be invited by sender1 # recipient2 and 3 will be invited by sender23 recipient1 = User(self.random_email()) recipient1.invite() recipient2 = User(self.random_email()) recipient2.invite() recipient3 = User(self.random_email()) recipient3.invite() sender1 = User(self.random_email()) sender1.create() sender23 = User(self.random_email()) sender23.create() invite1 = Invite(sender1.email, recipient1.email) invite1.create() invite2 = Invite(sender23.email, recipient2.email) invite2.create() invite3 = Invite(sender23.email, recipient3.email) invite3.create() # recipient1 should be given filter=sender1 res1 = Invites().get(sender=sender1.email) self.assertEqual(len(res1.json()['invites']), 1) self.assertEqual(res1.json()['invites'][0]['recipient'], recipient1.email) self.assertEqual(res1.json()['invites'][0]['sender'], sender1.email) # recipient2 and 3 are returned given filter=sender23 res2 = Invites().get(sender=sender23.email) self.assertEqual(len(res2.json()['invites']), 2) self.assertEqual(res2.json()['invites'][0]['recipient'], recipient2.email) self.assertEqual(res2.json()['invites'][1]['recipient'], recipient3.email) # no recipient is returned given filter=unknwon res3 = Invites().get(sender="*****@*****.**") self.assertEqual(len(res3.json()['invites']), 0) # recipient1 is returned given filter recipient=recipient1 res4 = Invites().get(recipient=recipient1.email) self.assertEqual(len(res4.json()['invites']), 1) self.assertEqual(res4.json()['invites'][0]['recipient'], recipient1.email) # recipient2 is returned given filter recipient=recipient2 and sender=sender23 res5 = Invites().get(recipient=recipient2.email, sender=sender23.email) self.assertEqual(len(res5.json()['invites']), 1) self.assertEqual(res5.json()['invites'][0]['recipient'], recipient2.email)