@@ -160,13 +160,9 @@ def _generate_uid_and_token(self, user):
160160 result = {}
161161 from django .utils .encoding import force_bytes
162162 from django .contrib .auth .tokens import default_token_generator
163- from django import VERSION
164- if VERSION [1 ] == 5 :
165- from django .utils .http import int_to_base36
166- result ['uid' ] = int_to_base36 (user .pk )
167- else :
168- from django .utils .http import urlsafe_base64_encode
169- result ['uid' ] = urlsafe_base64_encode (force_bytes (user .pk ))
163+ from django .utils .http import urlsafe_base64_encode
164+
165+ result ['uid' ] = urlsafe_base64_encode (force_bytes (user .pk ))
170166 result ['token' ] = default_token_generator .make_token (user )
171167 return result
172168
@@ -338,6 +334,15 @@ def test_password_reset(self):
338334 }
339335 self .post (self .login_url , data = payload , status_code = 200 )
340336
337+ def test_password_reset_with_invalid_email (self ):
338+ get_user_model ().objects .create_user (self .USERNAME , self .EMAIL , self .PASS )
339+
340+ # call password reset
341+ mail_count = len (mail .outbox )
342+ payload = {'email' : 'nonexisting@email.com' }
343+ self .post (self .password_reset_url , data = payload , status_code = 400 )
344+ self .assertEqual (len (mail .outbox ), mail_count )
345+
341346 def test_user_details (self ):
342347 user = get_user_model ().objects .create_user (self .USERNAME , self .EMAIL , self .PASS )
343348 payload = {
0 commit comments