On 21 Mar 2011, at 10:41, Kai Schlamp wrote:

> My ApplicationController exposes a method (e.g. sort_direction) to the
> view templates by using
> helper_method :sort_direction.
> I then use this method in another method (e.g. sort_link) in a view
> helper (application_helper.rb).
> 
> When testing the sort_link method with RSpec (in
> application_helper_spec.rb) I have to stub sort_direction as the test
> seems to run completely independent from the controllers (and thereby
> by to the view templates exposed methods).
> 
> Unfortunately I could not find out how to stub that sort_direction
> method of the controller. I always get "undefined method".
> 
> Here is what I tried so far (inside application_helper_spec.rb):
> 
> helper.stub(:sort_direction)
> controller.stub(:sort_direction)
> view.stub(:sort_direction)
> self.stub(:sort_direction)
> 
> Here the error I get:
> 
> NoMethodError:
>       undefined method `sort_direction' for
> #<RSpec::Core::ExampleGroup::Nested_1

>From this error message, it looks like you can just def it inside your 
>describe block.

> 
> There is already some older blog post about that topic (http://
> jakescruggs.blogspot.com/2007/03/mockingstubbing-partials-and-
> helper.html), but it seems that this is not valid anymore for Rails 3
> as there is no @controller.template.
> 
> How do I stub that method?
> 
> Kai
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

cheers,
Matt

m...@mattwynne.net
07974 430184

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to