I'm trying to fix my functional tests for a nested resource. My config/routes.rb
file looks like this:
Shop360::Application.routes.draw do
resources :libraries do
resources :library_imports
end
end
Nesting the library_imports
resources breaks generated tests like this one:
test "should get index" do
get :index
assert_response :success
assert_not_nil assigns(:library_imports)
end
because nesting changes all the URLs.
I've seen advice in several places to fix this by adding a library_id
parameter like so:
test "should get index" do
get :index, :library_id => 1
assert_response :success
assert_not_nil assigns(:library_imports)
end
(second line changed)
So to get this to work, I have to explicitly specify a library_id
in my library_import fixture? It's been possible since Rails 2.0 to define associations in the fixture data without resorting to these explicit key definitions. Am I now being forced back into this rat's nest because I'm nesting resources?
Is there not a better way to get my test to pass?