LesNightingill
2010-Aug-02 23:22 UTC
[rspec-users] Controller spec, integrate views, mocking helper method
I need to use integrate views to test some particular features. In ApplicationHelper I have: module ApplicationHelper def current_user_permitted? # some logic that returns true/false end end I''m testing MyController using Rspec/flexmock... describe MyController do integrate_views before(:each) do # how can I mock the ''current_user_permitted?'' method here ? get :index end it "should display blah blah" do response.should have_tag(''div#foo'') do with_tag(''div#bar'',{:html => (/blah blah/)} ) end end end I''ve found that I can make the test pass by mocking the current_user_permitted? like this (BOTH mocks required in order to pass!): flexmock(ActionView::Base).new_instances.should_receive("current_user_permitted?").and_return(true) flexmock(controller, ''current_user_permitted?'' => true) but this (2 mocks) just doesn''t seem right, what is the right way? thanks in advance for any insight you can offer Les