def test_password_reset_form(self): form_data = {'email': self.user.email} form = PasswordResetForm(data=form_data) self.assertEqual(form.is_valid(), True) request = self.factory.post(reverse('password-reset'), data={'email': self.user.email}) form.save(request=request) self.assertEqual(form.cleaned_data['email'], self.user.email) self.assertEqual(len(mail.outbox), 1)
def test_inactive_user(self): """ Test that inactive user cannot receive password reset email. """ user = UserFactory(is_active=False) form = PasswordResetForm({'email': user.email}) self.assertTrue(form.is_valid()) form.save() self.assertEqual(len(mail.outbox), 0)
def test_unusable_password(self): user = UserFactory() data = {"email": user.email} form = PasswordResetForm(data) self.assertTrue(form.is_valid()) user.set_unusable_password() user.save() form = PasswordResetForm(data) # The form itself is valid, but no email is sent self.assertTrue(form.is_valid()) form.save() self.assertEqual(len(mail.outbox), 0)