module ActionDispatch::Assertions::RoutingAssertions
def with_routing
end
assert_equal "/users", users_path
end
resources :users
set.draw do
with_routing do |set|
will create some routes using set.draw { match ... }:
The new instance is yielded to the passed block. Typically the block
This method temporarily replaces @routes with a new RouteSet instance.
A helper to make it easier to test different route configurations.
def with_routing old_routes, @routes = @routes, ActionDispatch::Routing::RouteSet.new if defined?(@controller) && @controller old_controller, @controller = @controller, @controller.clone _routes = @routes @controller.singleton_class.include(_routes.url_helpers) if @controller.respond_to? :view_context_class view_context_class = Class.new(@controller.view_context_class) do include _routes.url_helpers end custom_view_context = Module.new { define_method(:view_context_class) do view_context_class end } @controller.extend(custom_view_context) end end yield @routes ensure @routes = old_routes if defined?(@controller) && @controller @controller = old_controller end end