Logo: Relish

  1. Sign up
  2. Sign in

Project: RSpec Rails 2.8

route_to matcher

The route_to matcher specifies that a request (verb + path) is routable.
It is most valuable when specifying routes other than standard RESTful
routes.

get("/").should route_to("welcome#index") # new in 2.6.0

or

{ :get => "/" }.should route_to(:controller => "welcome")
Scenarios
passing route spec with shortcut syntax
Given
a file named "spec/routing/widgets_routing_spec.rb" with:
require "spec_helper"

describe "routes for Widgets" do
  it "routes /widgets to the widgets controller" do
    get("/widgets").
      should route_to("widgets#index")
  end
end
When
I run rspec spec/routing/widgets_routing_spec.rb
Then
the examples should all pass
passing route spec with verbose syntax
Given
a file named "spec/routing/widgets_routing_spec.rb" with:
require "spec_helper"

describe "routes for Widgets" do
  it "routes /widgets to the widgets controller" do
    { :get => "/widgets" }.
      should route_to(:controller => "widgets", :action => "index")
  end
end
When
I run rspec spec/routing/widgets_routing_spec.rb
Then
the examples should all pass
route spec for a route that doesn't exist (fails)
Given
a file named "spec/routing/widgets_routing_spec.rb" with:
require "spec_helper"

describe "routes for Widgets" do
  it "routes /widgets/foo to the /foo action" do
    get("/widgets/foo").should route_to("widgets#foo")
  end
end
When
I run rspec spec/routing/widgets_routing_spec.rb
Then
the output should contain "1 failure"

Last published over 1 year ago by dchelimsky.