2015-08-21 53 views
0

路由 得到 '/富/酒吧'=>富/棒#索引{:custom_auth => [:管理員]}Rspec的控制器規格與路線包括自定義參數

我有custom_auth在配置中指定的路由/routes.rb文件。

從控制器規範調用索引方法時,它會抱怨未找到路由,如果沒有將custom_auth參數從路由配置中刪除,哪種方法運行良好。

有沒有辦法從控制器規格調用控制器/動作時傳遞custom_auth?

describe Foo::BarsController do 
    describe 'GET index' do 
     get :index 
     expect(response).to eq {} 
     end 
    end 

的config/routes.rb中

get '/foo/bar', :to => 'foo/bar#index', :custom_auth => [:admin] 

回答

0

您可以通過所有在params散列,所需的PARAMS在調用get :index請求。

因此,建立一個params哈希,然後傳遞到get :index調用是這樣的:

let(:admin) { double('admin') } 
let(:custom_auth_params) { { :custom_auth => [:admin] } } 
get :index, custom_auth_params