On Sep 17, 2009, at 4:35 PM, Chris Adams wrote:
That fixed it!
Thanks Scott, you rock!
For future reference, where in the docs should I have been looking
to find this?
No idea. I know this is something that has been undergoing some
change recently (in the last 6 months or so).
Can you file a ticket over @ lighthouse to add this to the docs?
Scott
---
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: [email protected]
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 <[email protected]>
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
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users