[rspec-users] Driving Out A View - Layouts and Sessions?

Stephen Eley sfeley at gmail.com
Fri Jun 5 12:39:56 EDT 2009

On Fri, Jun 5, 2009 at 11:40 AM, Lee<Lee.Longmore at googlemail.com> wrote:
> Firstly, my experiments suggest that the layout is only rendered if
> the :layout attribute is included in the call to render. Is my
> understanding correct?

Yes, and it's the way things should be.  I suggest writing a separate
spec for the layout, and testing its behavior separate from the view.
After all, you're *unit* testing here.  And the layout is a separate

> Secondly, the link_to code only executes if the session contains a
> piece of data (member id). How do I set up the session data in my view
> spec?

With the session[] object, e.g. "session[:foo] = bar".  See:

Whether the view (or layout) should be looking directly into the
session and making decisions from what it sees, instead of trusting
what it gets from the controller, is another question.  "Is there a
current user?" is _probably_ closer to your actual business rules than
"Does the session contain a member id?"

Have Fun,
   Steve Eley (sfeley at gmail.com)
   ESCAPE POD - The Science Fiction Podcast Magazine

More information about the rspec-users mailing list