Hey,

I'm having some problems testing the creation of objects with nested
objects. First of all, the test itself:
def test_should_create_user
  assert_difference('User.count') do
    post :create, :user => {
  :character => characters(:user_controller_test),
  :username => 'test123',
  :password => 'test123', :password_confirmation => 'test123',
  :email => 'test...@brothelking.de' }
  end
  assert_redirected_to
end

My problem is, that :character has an object as value and converting it
to an arraay with .to_a doesn't really help cause the create method in
the Users controller looks like:
@nationality = Nationality.find(params[:character][:nationality])
params[:character][:nationality] = @nationality
params[:character][:birthday] =
Date.strptime(params[:character][:birthday], '%d.%m.%Y').to_s(:db)
@user = User.new(params[:user])
@character = Character.new(params[:character])
@user.character = @character

When I convert the characters(:user_controller_test) to an array it has
:nationality_id as a value but not :nationality as I'd have it when I
was using a normal form.

Does anyone know how I could solve that problem?

One more thing.. I've got many nested objects in User that's why I need
to create @nationality and @character in order to create @user and
actually save it. Is there a more convenient way of doing this than I do
it above?

Thanks
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
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@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to