module RSpec::Rails::Matchers::RoutingMatchers

Matchers to help with specs for routing code.

Public Instance Methods

be_routable() click to toggle source

Passes if the route expression is recognized by the Rails router based on the declarations in `config/routes.rb`. Delegates to `RouteSet#recognize_path`.

@example You can use route helpers provided by rspec-rails.

expect(:get  => "/a/path").to be_routable
expect(:post => "/another/path").to be_routable
expect(:put  => "/yet/another/path").to be_routable
# File lib/rspec/rails/matchers/routing_matchers.rb, line 101
def be_routable
  BeRoutableMatcher.new(self)
end
route_to(*expected) click to toggle source

Delegates to `assert_recognizes`. Supports short-hand controller/action declarations (e.g. `“controller#action”`).

@example

expect(:get => "/things/special").to route_to(
  :controller => "things",
  :action     => "special"
)

expect(:get => "/things/special").to route_to("things#special")

@see api.rubyonrails.org/classes/ActionDispatch/Assertions/RoutingAssertions.html#method-i-assert_recognizes

# File lib/rspec/rails/matchers/routing_matchers.rb, line 61
def route_to(*expected)
  RouteToMatcher.new(self, *expected)
end