示例#1
0
    def test_accept_invitation_already_activated(self):
        """
        Since invitations use the same keys as activations, we should ensure
        that invitation acceptance doesn't show an error message when the link
        has already been used.
        """
        invitation = InvitationFactory(invitee_email=self.user.email)
        invitation.send()
        self.assertFalse(invitation.accepted)
        profile = self.user.activationprofile_set.all()[0]
        key = profile.activation_key
        self.user.in_reserve = True
        self.user.save()

        # Quickly activate and ensure that activation was successful
        self.assertEqual(ActivationProfile.objects.activate_user(key),
                         self.user)

        self.client.login_user(self.user)
        response = self.client.get(reverse('invitation_activate', args=[key]))

        self.assertTrue('Account Activated' in response.content)
        invitation = Invitation.objects.get()
        invitation.send()
        self.assertTrue(invitation.accepted)
        user = User.objects.get(pk=self.user.pk)
        self.assertFalse(user.in_reserve)
示例#2
0
    def test_generic_invitation_message(self):
        """
        Tests that generic invitation emails are formatted correctly.

        """
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send()

        email = mail.outbox.pop()
        self.assertIn("has invited you to join My.jobs.", email.body)
示例#3
0
    def test_generic_invitation_message(self):
        """
        Tests that generic invitation emails are formatted correctly.

        """
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send()

        email = mail.outbox.pop()
        self.assertIn("has invited you to join My.jobs.", email.body)
示例#4
0
    def test_custom_invitation_message(self):
        """
        Test that invitation messages with custom reasons are formatted
        correctly.

        """
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send("in order to do some custom stuff.")

        email = mail.outbox.pop()
        self.assertIn("in order to do some custom stuff.", email.body)
示例#5
0
    def test_custom_invitation_message(self):
        """
        Test that invitation messages with custom reasons are formatted
        correctly.

        """
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send("in order to do some custom stuff.")

        email = mail.outbox.pop()
        self.assertIn("in order to do some custom stuff.", email.body)
示例#6
0
    def test_saved_search_invitation_message(self):
        """
        Tests that saved search invitation emails are formatted correctly.

        """
        saved_search = SavedSearchFactory(user=self.user)
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send(saved_search)

        email = mail.outbox.pop()
        self.assertIn("in order to begin receiving their available job "
                      "opportunities on a regular basis", email.body)
示例#7
0
    def test_saved_search_invitation_message(self):
        """
        Tests that saved search invitation emails are formatted correctly.

        """
        saved_search = SavedSearchFactory(user=self.user)
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send(saved_search)

        email = mail.outbox.pop()
        self.assertIn(
            "in order to begin receiving their available job "
            "opportunities on a regular basis", email.body)
示例#8
0
    def test_invitation_asks_for_password_change(self):
        """
        When activating an account via an invitation, the user should still be
        prompted to change their password.
        """
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send()
        key = invitation.invitee.activationprofile_set.first().activation_key
        response = self.client.get(
            reverse('invitation_activate', kwargs={'activation_key': key}),
            data={'verify-email': invitation.invitee_email})

        invitee = User.objects.get(pk=invitation.invitee.pk)

        self.assertTrue(invitee.password_change)
示例#9
0
    def test_invitation_asks_for_password_change(self):
        """
        When activating an account via an invitation, the user should still be
        prompted to change their password.
        """
        invitation = InvitationFactory(inviting_user=self.user)
        invitation.send()
        key = invitation.invitee.activationprofile_set.first().activation_key
        response = self.client.get(
            reverse('invitation_activate', kwargs={'activation_key': key}),
            data={'verify-email': invitation.invitee_email})

        invitee = User.objects.get(pk=invitation.invitee.pk)

        self.assertTrue(invitee.password_change)
示例#10
0
    def test_accept_invitation_already_activated(self):
        """
        Since invitations use the same keys as activations, we should ensure
        that invitation acceptance doesn't show an error message when the link
        has already been used.
        """
        invitation = InvitationFactory(invitee_email=self.user.email)
        invitation.send()
        self.assertFalse(invitation.accepted)
        profile = self.user.activationprofile_set.all()[0]
        key = profile.activation_key
        self.user.in_reserve = True
        self.user.save()

        # Quickly activate and ensure that activation was successful
        self.assertEqual(ActivationProfile.objects.activate_user(key),
                         self.user)

        self.client.login_user(self.user)
        response = self.client.get(reverse('invitation_activate', args=[key]))

        self.assertTrue('Account Activated' in response.content)
        invitation = Invitation.objects.get()
        invitation.send()
        self.assertTrue(invitation.accepted)
        user = User.objects.get(pk=self.user.pk)
        self.assertFalse(user.in_reserve)