Hi everyon,
Thank you for your help!
I did the controller test, but there is a problem when run the test.
Controller.rb:
def change_password
user = current_user
if User.authenticate(user.login, params[:old_password])
if (params[:password] == params[:password_confirmation])
user.password_confirmation = params[:password_confirmation]
user.password = params[:password]
if user.save
result = _(“Password changed!”)
reset_current_user(user.id)
else
(“Could not save change, please try again.”)
end
else
result = _(“Your passwords do not match.”) @old_password = params[:old_password]
end
else
result = _(“Your old password is incorrect.”)
end
end
the controller_test.rb:
def test_should_allow_password_change
post :change_password, { :old_password => ‘123’, :password =>
‘newpassword’, :password_confirmation => ‘newpassword’},
{:user_id=>users(:user1).id}
assert_equal ‘newpassword’, assigns(:user).password
end
when I run this test, There always said,
NoMetodError: You have a ni object when you didn’t expect it:
the error occurred while evaluating nil.password.
I have try to use:
assert_equal ‘newpassword’, assigns(‘user’).password
assert_equal ‘newpassword’, assigns[:user].password
assert_equal ‘newpassword’, assigns[‘user’].password
but there is same problem. I don’t know why?
Please help1
Thanks!
when I run this test, There always said,
NoMetodError: You have a ni object when you didn’t expect it:
the error occurred while evaluating nil.password.
I have try to use:
assert_equal ‘newpassword’, assigns(‘user’).password
assert_equal ‘newpassword’, assigns[:user].password
assert_equal ‘newpassword’, assigns[‘user’].password
Are you using fixtures for your tests? (I assume you are, from the
assigns() usage).
when I run this test, There always said,
NoMetodError: You have a ni object when you didn’t expect it:
the error occurred while evaluating nil.password.
I have try to use:
assert_equal ‘newpassword’, assigns(‘user’).password
assert_equal ‘newpassword’, assigns[:user].password
assert_equal ‘newpassword’, assigns[‘user’].password
Are you using fixtures for your tests? (I assume you are, from the
assigns() usage).
Can you post the fixtures?
Thanks!
You’re welcome
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.