[rspec-users] Multiple should_receive(:render).with

Corey Haines
Fri, 14 Mar 2008 13:13:50 -0000

Stub out the first one, something like

template.stub!(:render)

Then, each of your tests set the actual should_receive expectation.

-Corey

On Fri, Mar 14, 2008 at 8:44 AM, Alan Larkin <alan.larkin at gmail.com>
wrote:

> I''m trying to specify that a particular view must render two
different
> partials.
> My spec looks like:
>
> describe AClass do
>   it do
>     template.should_receive(:render).with(:partial =>
''foo'', :locals => {
> ... })
>     ...
>   end
>
>   describe ''some conditional case'' do
>     it do
>       template.should_receive(:render).with(:partial =>
''bar'', :locals =>
> { ... })
>       ...
>     end
>   end
> end
>
> Rendering the foo partial passes off fine, but the spec fails when it
> comes to
> rendering the bar partial:
>
> Mock ''ActionView::Base'' expected :render with
({:partial=>"bar",
> :locals=>{...}}) but received it with ({:partial=>"foo",
:locals=>{...}})
>
> In the view the foo partial is rendered first, and presumably that is
> being
> intercepted in the second example and thus failing. How do I avoid this?
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>



--
http://www.coreyhaines.com
The Internet''s Premiere source of information about Corey Haines
-------------- next part --------------
An HTML attachment was scrubbed...