Nick Urban
2011-May-12 16:23 UTC
integration tests don''t use default_url_options with named routes
Hi All,
Integration tests don''t generate routes using default_url_options
defined in application controller.
That would be okay if there were another way to specify them for
tests, but I can''t find one.
Any help would be much appreciated!
To see this problem:
1) in routes.rb:
scope '':path_prefix'' do
resources :foos
end
2) in application_controller.rb
def default_url_options
{ :path_prefix => ''test'' }
end
3) in test/integration/prefix_test.rb:
require ''test_helper''
class PrefixTest < ActionDispatch::IntegrationTest
test "path prefix" do
foos_path
end
end
rake test:integration yields:
test_path_prefix(PrefixTest):
ActionController::RoutingError: No route matches
{:controller=>"foos"}
/test/integration/prefix_test.rb:5:in `test_path_prefix''
If I change foos_path to foos_path(:path_prefix => ''bar'')
it works
fine. I don''t want to have to specify it everywhere, though, and
moreover in my real app, path_prefix gets set from
params[:path_prefix], so I''d really like it to automatically pick up
the appropriate values (as it does in the app -- this is only broken
in the tests).
Thanks in advance,
Nick Urban
P.S. It''s worth mentioning that integration tests do make use of the
default_url_options in ActionDispatch::Integration::Session, but I
can''t find any way to customize its behavior other than with a monkey
patch, and even then, I can''t find a way to make it use
params[:path_prefix].
--
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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.