That fixed it!
Thanks Scott, you rock!

For future reference, where in the docs should I have been looking to find
this?



---
I'm currently only checking my email at 9am, midday and at 4pm.
If you need a response from me urgently, please call or text my mobile, or
contact me via Skype (chris.d.adams).
---
Chris Adams
Stemcel Studios
The Hub
5 Torrens Street
London
EC1V 1NQ

email: ch...@stemcel.co.uk
web:  www.stemcel.co.uk
twitter:chris_d_adams
skype: chris.d.adams
mob: 07974 368 229
tel: 0207 558 8971



2009/9/17 Scott Taylor <sc...@railsnewbie.com>

>
> On Sep 17, 2009, at 3:13 PM, Chris Adams wrote:
>
> Hi there,
> Forgive the simple sounding question, but I'm struggling to understand how
> to spec helper methods in Rails work, and I'm having no joy, and after
> spending far, far too long staring at broken code, I'm hoping someone on the
> list can shed some light.
>
> All I'm trying to do is spec how a one line helper method for a view should
> behave, but I'm not sure what kind of mock object, (if any) I should be
> creating if I'm working in Rails.
>
> Here's the method first - I've used it to try to keep a view free of logic:
>
> module EventsHelper
>
>   def filter_check_button_path
>     params[:filter].blank? ? '/images/buttons/bt_search_for_events.gif' :
> '/images/buttons/bt_refine_this_search.gif'
>   end
> end
>
> And here's my spec code:
>
> require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
>
> describe EventsHelper do
>
>   #Delete this example and add some real ones or delete this file
>   it "should be included in the object returned by #helper" do
>     included_modules = (class << helper; self; end).send :included_modules
>     included_modules.should include(EventsHelper)
>   end
>
>   it "should return the 'refine image search' button if a search has been
> run" do
>
>   # mock up params hash
>     params = {}
>     params[:filter] = true
>
>    # create an instanc of the class that should include EventsHelper by
> default, as the first test has verified (I think)
>     @event = Event.new
>
>   # call method to check output
>     @event.filter_check_button_path.should
> be('/images/buttons/bt_search_for_events.gif')
>   end
>
> end
>
> When I've looked through the docs here -
> http://rspec.info/rails/writing/views.html, I'm mystified as to where the
> 'template' object comes from.
>
> I've also tried looking here, which I thought would point  me in the right
> direction, but alas, no dice.
> http://jakescruggs.blogspot.com/2007/03/mockingstubbing-partials-and-helper.html
>
> What should I be looking for here in the docs, and what am I doing wrong?
>
>
> There should be a "helper" object available in helper specs.  Go ahead an
> stub it:
>
> params = {:filter => true}
> helper.stub!(:params).and_return(params)
>
> @event.filter.....
>
> Scott
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to