def test_GET(self): self.assertGET( 200, 'account:reset-password:reset', get_token(self.user), login=False, )
def test_logged_in(self): response = self.assertGET( 302, 'account:reset-password:reset', get_token(self.user), ) self.assertRedirectsToUrl(response, settings.LOGIN_REDIRECT_URL)
def save(self): user = self.cleaned_data['user'] if user is None: return send_mail((user.email, ), 'account/reset_password/reset.email', { 'token': get_token(user), })
def save(self): user = super().save() send_mail((user.email, ), 'registration/validate.email', { 'token': get_token(user), }, fail_silently=True) return user
def test_GET_invalid_token(self): token = '{}invalid-suffix'.format(get_token(self.user)) response = self.assertGET( 302, 'account:reset-password:reset', token, login=False, ) self.assertRedirectsToUrl(response, settings.LOGIN_REDIRECT_URL)
def test_POST_missing(self): response = self.assertPOST( {}, 'account:reset-password:reset', get_token(self.user), login=False, status_code=200, ) self.assertFormError(response, 'form', 'new_password1', ["This field is required."])
def test_validate(self): user = self.assertRegister() self.assertGET( 200, 'registration:validate', get_token(user), login=None, follow=True, ) user.refresh_from_db() self.assertTrue(user.email_validated)
def save(self): # Ensure that we generate tokens using their existing email self.instance.refresh_from_db() new_email = self.cleaned_data['email'] send_mail((new_email, ), 'account/change_email/validate.email', { 'token': get_token(self.instance, new_email), }, fail_silently=True) return new_email
def test_POST(self): old_password = self.user.password self.assertPOST( { 'new_password1': 'foobarbaz', 'new_password2': 'foobarbaz', }, 'account:reset-password:reset', get_token(self.user), login=False, ) self.user.refresh_from_db() self.assertNotEqual(old_password, self.user.password)
def test_POST_not_match(self): response = self.assertPOST( { 'new_password1': 'foobarbaz1', 'new_password2': 'foobarbaz2', }, 'account:reset-password:reset', get_token(self.user), login=False, status_code=200, ) self.assertFormError(response, 'form', 'new_password2', [ "The two password fields didn't match.", ])