I have a problem testing an invalid situation, the valid situation
without merging params (or merging valid ones) works fine.
Controller:
# @user is setted with a filter
def update
if @user.update_attributes(params[:user])
redirect_to(user_path(@user))
else
render :action => :show
end
end
Test:
def test_should_not_update_user
# Set session values
session_company :one
login_as :emilio
# I choose a name that invalid (is too short)
update_user(:name => ''s'')
assert !users(:emilio).errors.empty?,
users(:emilio).errors.full_messages
assert_response :success
end
protected
def update_user(options = {})
put :update, :user => { :name => ''Testing name'',
:street => ''test street'',
:city => ''Testing City'',
:zipcode => ''556678'',
:state => ''Testing State'',
:country =>
''Argentina'',
:password_actual => ''test'',
:password => ''testing'',
:password_confirmation => ''testing'' }.merge(options)
end
Test Output:
Started
E...
Finished in 0.214897 seconds.
1) Error:
test_should_not_update_user(UsersControllerTest):
TypeError: can''t convert nil into String
.....
Why i get an error on invalid name if the controller just render the
same page passing user errors...
Thanks in advance!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---