Module: RSpec::Rails::Matchers::RoutingMatchers

Extended by:
Matchers::DSL
Included in:
ControllerExampleGroup, RoutingExampleGroup
Defined in:
lib/rspec/rails/matchers/routing_matchers.rb

Overview

Matchers to help with specs for routing code.

Defined Under Namespace

Modules: RouteHelpers

Instance Method Summary (collapse)

Instance Method Details

- (Object) be_routable

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

Examples:

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
101
102
103
# File 'lib/rspec/rails/matchers/routing_matchers.rb', line 101
def be_routable
  BeRoutableMatcher.new(self)
end

- (Object) route_to(*expected)

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

Examples:


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

See Also:

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