Example #1
0
    def test_join_view_post_valid(self):
        email_address = '*****@*****.**'
        invitation = Invitation.create_for_testing(email_address,
                                                   testing.create_user())
        self.assertTrue(invitation.is_valid)

        anonymous_client = testing.get_client()
        response = anonymous_client.post(invitation.get_invitation_url(),
                                         self._JOIN_DATA)
        self.assertRedirects(response, reverse('index'))  # Redirect on success.

        invitation.refresh_from_db()
        self.assertFalse(invitation.is_valid)
        self.assertEqual(1, len(User.objects.filter(email=email_address)))

        new_user = User.objects.get(email=email_address)
        self.assertEqual(1, new_user.groups.count())
        self.assertEqual('everyone',
                         new_user.groups.values_list('name', flat=True)[0])

        another_client = testing.get_client()
        response = another_client.post(invitation.get_invitation_url(),
                                       self._JOIN_DATA)
        self.assertEqual(404, response.status_code)

        response = another_client.get(invitation.get_invitation_url())
        self.assertEqual(404, response.status_code)
Example #2
0
    def test_join_view_post_empty(self):
        email_address = '*****@*****.**'
        invitation = Invitation.create_for_testing(email_address,
                                                   testing.create_user())
        self.assertTrue(invitation.is_valid)

        anonymous_client = testing.get_client()
        response = anonymous_client.post(invitation.get_invitation_url())
        self.assertEqual(200, response.status_code)

        invitation.refresh_from_db()
        self.assertTrue(invitation.is_valid)
        self.assertEqual(0, len(User.objects.filter(email=email_address)))
Example #3
0
    def test_join_view_get(self):
        invitation = Invitation.create_for_testing('*****@*****.**',
                                                   testing.create_user())

        anonymous_client = testing.get_client()
        response = anonymous_client.get(invitation.get_invitation_url())
        self.assertEqual(200, response.status_code)

        regular_client = testing.get_client(testing.create_user())
        response = regular_client.get(invitation.get_invitation_url())
        self.assertEqual(404, response.status_code)

        allowed_client = testing.get_client(testing.create_user(
            perms=['piosenka.invite']))
        response = allowed_client.get(invitation.get_invitation_url())
        self.assertEqual(404, response.status_code)
Example #4
0
    def test_join_view_expired(self):
        email_address = '*****@*****.**'
        invitation = Invitation.create_for_testing(email_address,
                                                   testing.create_user())
        invitation.expires_on = timezone.now() - timedelta(days=1)
        invitation.save()
        self.assertTrue(invitation.is_valid)

        anonymous_client = testing.get_client()
        response = anonymous_client.post(invitation.get_invitation_url(),
                                         self._JOIN_DATA)
        self.assertEqual(404, response.status_code)

        invitation.refresh_from_db()
        self.assertTrue(invitation.is_valid)
        self.assertEqual(0, len(User.objects.filter(email=email_address)))