[rspec-users] silly partial qu
shingler at gmail.com
Sun May 4 10:16:33 EDT 2008
Thanks for your reply.
You are right that this step is basically testing the basic actions of
a controller, and is being run as part of a story_with_steps stack.
The step itself is definitely being hit, because I have a:
response.should have_tag('li', @title)
...in the same step, and that is working nicely.
This step is called right after clicking an Update button, which is a
standard rails scaffold and does a: redirect_to(@task) - this causes a
partial to be rendered to the screen as part of my default layout, and
I was hoping to be able to verify that the partial loaded.
What would fit my brain better, would be:
...but that isn't available :)
I hope that is clearer - I am quite new to the world of rspec.
If you can shed any more light that would be really great.
On Sat, May 3, 2008 at 11:17 PM, Rick DeNatale <rick.denatale at gmail.com> wrote:
> On Sat, May 3, 2008 at 4:08 PM, steven shingler <shingler at gmail.com> wrote:
> > hi all,
> > i'm just trying to check a partial has been rendered, by using:
> > response.template.should_receive(:render).with(:partial => "tasks/list")
> > this passes, even if I put something bogus in the partial name, such as:
> > response.template.should_receive(:render).with(:partial =>
> > "___tassdfsdfks/list")
> > does anyone know why this doesn't fail?
> > is this the wrong way to simply check a partial is being rendered?
> > am running this as a story step.
> I'm not sure how this is working to begin with.
> Where is this expectation in the flow of the code? It would seem to
> need to be before the request since it's a should_receive
> But then what's response at this point?
> And what's response.template?
> It's the controller, not the template which receives the render call.
> You say that this is in a story step? I've got a hunch that the step
> is'nt actually matching and therfore not getting run, which would
> explain why the assertion never fails.
> If you're doing this as a full stack rails integration story, I don't
> believe that you've got access to the controller, and this level of
> specification doesn't belong here but rather in a controller spec,
> where you might want to use expect_render instead of
> should_receive(:render) as well.
> Rick DeNatale
> My blog on Ruby
> rspec-users mailing list
> rspec-users at rubyforge.org
More information about the rspec-users