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

#be_routableObject

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

#route_to(*expected) ⇒ Object

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