hyperrjas
hyperrjas

Reputation: 10754

error test routing with rspec

I have this resource in my config/routes.rb

resources :users, :path => "u" do
 resources :boards, :controller => 'users/boards', :path => "collections"
end

In my spec/routing/boards_routing_spec.rb i have:

require "spec_helper"

describe Users::BoardsController do
  describe "routing" do

    it "routes to #index" do
      get("/u/:user_id/collections").should route_to("users/boards#index")
    end

  end
end

I get the next error:

Failures:

  1) Users::BoardsController routing routes to #index
     Failure/Error: get("/u/:user_id/collections").should route_to("users/boards#index")
       The recognized options <{"action"=>"index", "controller"=>"users/boards", "user_id"=>":user_id"}> did not match <{"controller"=>"users/boards", "action"=>"index"}>, difference: <{"user_id"=>":user_id"}>.
       <{"controller"=>"users/boards", "action"=>"index"}> expected but was
       <{"action"=>"index", "controller"=>"users/boards", "user_id"=>":user_id"}>.
     # ./spec/routing/boards_routing_spec.rb:7:in `block (3 levels) in <top (required)>'

I am using Devise 2.0 for user.

How can I fix this error?

Upvotes: 1

Views: 460

Answers (1)

hyperrjas
hyperrjas

Reputation: 10754

The error was fixed:

require "spec_helper"

describe Users::BoardsController do
  describe "routing" do

    it "routes to #index" do
      get("/u/hyperrjas/collections").should route_to("users/boards#index", :user_id => "hyperrjas")
    end
end

Upvotes: 2

Related Questions