как проверить параметры, переданные в контроллер в rails 3, используя rspec?



наш код:



 describe "GET show" do
it "assigns the requested subcategory as @subcategory" do
subcategory = Subcategory.create! valid_attributes
get :show, :id => subcategory.id.to_s
assigns(:subcategory).should eq(subcategory)
end

it "has a sort parameter in the url" do
subcategory = Subcategory.create! valid_attributes
get :show, {:id => subcategory.id.to_s, :params => {:sort => 'title'}}
helper.params[:sort].should_not be_nil
end
end


Я получил следующее сообщение об ошибке:



1) SubcategoriesController GET show has a sort parameter in the url
Failure/Error: helper.params[:sort].should_not be_nil
NameError:
undefined local variable or method `helper' for #<RSpec::Core::ExampleGroup::Nested_4::Nested_2:0x007f81a467c848>
# ./spec/controllers/subcategories_controller_spec.rb:54:in `block (3 levels) in <top (required)>'


Как я могу проверить параметры в rspec?

573   1  

1 ответ:

get :show, {:id => subcategory.id.to_s, :params => {:sort => 'title'}}

должно быть

get :show, :id => subcategory.id.to_s, :sort => 'title'

если вы не хотите пройти params[:params][:sort].

и

helper.params[:sort].should_not be_nil

должно быть

controller.params[:sort].should_not be_nil
controller.params[:sort].should eql 'title'

(если вы хотите проверить помощника, вы должны написать вспомогательную спецификацию.)

Comments

    Ничего не найдено.