[rspec-users] Helpers that call helpers not working in specs?
chris at cobaltedge.com
Tue Sep 16 00:23:59 EDT 2008
Thanks, that did the trick.
And for including ApplicationHelper, I would say it should include it -
because that would parallel Rails' standard behavior.
On Mon, Sep 15, 2008 at 3:34 PM, David Chelimsky <dchelimsky at gmail.com>wrote:
> On Mon, Sep 15, 2008 at 4:06 PM, Christopher Bailey
> <chris at cobaltedge.com> wrote:
> > If I don't include them, then the helpers in LocationsHelper can't
> > the helpers in ApplicationHelper. Maybe this will help illustrate:
> > test code:
> > describe LocationsHelper do
> > describe "location tree" do
> > it "should not show siblings for state, country, or root level
> > locations" do
> > helper.location_tree(@oregon).should_not include_text(@hawaii.name
> > end
> > end
> > end
> > The location_tree method is defined in the module/helper LocationsHelper.
> > But, it calls ApplicationHelper.markaby. When I run the above test, it
> > can't find the markaby method/helper. It will only find markaby if I
> > the leading "helper." from in front of the call, and also include
> > ApplicationHelper (including this, when using helper. doesn't remedy it).
> OK - in the short run, I'd do this as a workaround instead:
> helper.extend ApplicationHelper
> You can do that in a before block or in the examples directly.
> This is a better option because you'll soon not have direct access to
> the helper methods in the examples except through the helper object.
> Next question is whether rspec-rails should just include the
> ApplicationHelper module into the helper object. My instinct is yes.
> > On Mon, Sep 15, 2008 at 11:15 AM, David Chelimsky <dchelimsky at gmail.com>
> > wrote:
> >> On Mon, Sep 15, 2008 at 12:26 PM, Christopher Bailey
> >> <chris at cobaltedge.com> wrote:
> >> > I'm trying to test some of my helpers. I have one helper (in module
> >> > LocationsHelper) that calls a helper/method in ApplicationHelper. If
> >> > include ApplicationHelper and LocationHelper in my spec, and then I
> >> > the
> >> > helper using the "helper." scope:
> >> > helper.location_tree('Portland')
> >> > then it complains that it can't find the other helper it uses from
> >> > ApplicationHelper. If instead, I call it directly:
> >> > location_tree('Portland')
> >> > Then, it can't find the Rails' generated URL helpers (e.g.
> >> > "location_path"
> >> > or "location_url"). How do I make it so that all the dependencies or
> >> > Rails'
> >> > included stuff is found?
> >> You don't need to include the helpers if you are using the helper
> >> object. You should be able to do just this:
> >> describe LocationsHelper do
> >> it "should ..." do
> >> helper.location_tree('Portland').should ...
> >> end
> >> end
> >> Have you tried that? Does it fail?
> >> _______________________________________________
> >> rspec-users mailing list
> >> rspec-users at rubyforge.org
> >> http://rubyforge.org/mailman/listinfo/rspec-users
> > --
> > Christopher Bailey
> > Cobalt Edge LLC
> > http://cobaltedge.com
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
> rspec-users mailing list
> rspec-users at rubyforge.org
Cobalt Edge LLC
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rspec-users