Clearing perishable token when confirming or reseting password.

This commit is contained in:
Carlos A. da Silva
2009-10-15 17:36:44 -03:00
parent 73442abe95
commit 3700e9979c
6 changed files with 28 additions and 5 deletions

View File

@@ -82,7 +82,8 @@ class UsersPasswordRecoveryTest < ActionController::IntegrationTest
test 'not authenticated user with valid perisable token but invalid password should not be able to change his password' do
user = create_user
reset_password :perishable_token => user.perishable_token do
request_forgot_password
reset_password :perishable_token => user.reload.perishable_token do
fill_in 'Password confirmation', :with => 'other_password'
end
@@ -95,7 +96,8 @@ class UsersPasswordRecoveryTest < ActionController::IntegrationTest
test 'not authenticated user with valid data should be able to change his password' do
user = create_user
reset_password :perishable_token => user.perishable_token
request_forgot_password
reset_password :perishable_token => user.reload.perishable_token
assert_template 'sessions/new'
assert_contain 'Your password was changed successfully.'

View File

@@ -17,6 +17,13 @@ class ConfirmableTest < ActiveSupport::TestCase
assert_not_nil user.confirmed_at
end
test 'should clear perishable token while confirming a user' do
user = create_user
assert_present user.perishable_token
user.confirm!
assert_nil user.perishable_token
end
test 'should verify whether a user is confirmed or not' do
assert_not new_user.confirmed?
user = create_user

View File

@@ -17,6 +17,13 @@ class RecoverableTest < ActiveSupport::TestCase
assert create_user.reset_password!('123456789', '123456789')
end
test 'should clear perishable token while reseting the password' do
user = create_user
assert_present user.perishable_token
user.reset_password!('123456789', '123456789')
assert_nil user.perishable_token
end
test 'should not reset password with invalid data' do
user = create_user
user.stubs(:valid?).returns(false)