def test_already_invited(self): data = { 'email': '*****@*****.**', 'first_name': 'John', 'last_name': 'Doe', } form = GroupInviteForm(group=self.group, invitor=self.invitor, data=data) self.assertTrue(form.is_valid()) form.save() # again.. form = GroupInviteForm(group=self.group, invitor=self.invitor, data=data) self.assertFalse(form.is_valid())
def test_create_new(self): form = GroupInviteForm(group=self.group, invitor=self.invitor) self.assertFalse(form.is_valid()) data = { 'email': '*****@*****.**', 'first_name': 'John', 'last_name': 'Doe', } form = GroupInviteForm(group=self.group, invitor=self.invitor, data=data) self.assertTrue(form.is_valid()) self.assertEqual(len(mail.outbox), 0) invite = form.save() self.assertEqual(len(mail.outbox), 1) self.assertEqual(invite.group, self.group) self.assertEqual(invite.invitor, self.invitor)
def test_already_invited_but_out_of_group(self): """Tests the case where the user has been invited previously but has left the group. In this case, it should be able to invite the person again""" invite = GroupInviteFactory.create(email=self.user.email, group=self.group) invite.accept(self.user) self.assertIn(self.user, self.group.users.all()) data = { 'email': self.user.email, 'first_name': 'John', 'last_name': 'Doe', } form = GroupInviteForm(group=self.group, invitor=self.invitor, data=data) self.assertFalse(form.is_valid()) self.group.membership_set.get(user=self.user).delete() form = GroupInviteForm(group=self.group, invitor=self.invitor, data=data) self.assertTrue(form.is_valid())