[rspec-users] mimicking a logged in user

S Ahmed sahmed1020 at gmail.com
Sun Mar 4 04:04:58 UTC 2012


thanks.

but I have to stub the call that hits the database also.

how can I wrap this up in a function so I can use it everywhere in my tests
where I require a logged in user?
where should I put this? in spec_helper?

On Sat, Mar 3, 2012 at 5:21 PM, Justin Ko <jko170 at gmail.com> wrote:

>
> On Mar 3, 2012, at 12:35 PM, S Ahmed wrote:
>
> > I'm testing my controller, and confirming that a logged-in user can view
> the page.
> >
> > I have a session_helper that does this:
> >
> > def signed_in?
> >     !current_user.nil?
> > end
> >
> > And the current_user is set with:
> >
> > def user_from_remember_token
> >     remember_token = cookies[:remember_token]
> >     User.find_by_remember_token(remember_token) unless
> remember_token.nil?
> > end
> >
> >
> > So in my controller, I need to fake a login somehow, how should I go
> about doing this?
> >
> > I'm not sure if this is the best place for it, but so far what I tried
> was creating a method in my spec_helper's config block:
> >
> > def test_sign_in(user)
> >    controller.sign_in(user)
> > end
> >
> > (I get my user object from factorygirl).
> >
> > So my controller_spec looks like:
> >
> >
> > describe "index" do
> >     before(:each) do
> >       @user = Factory(:user)
> >       test_sign_in(@user)
> >     end
> >
> >     it "should be successful" do
> >       get 'index'
> >       controller.current_user.should == @user
> >       response.should be_success
> >     end
> >   end
> >
> >
> > It is failing with current_user being nil.
> >
> > Should I just somehow stub the call to 'user_from_remember_token' to
> return the factorygirl user?
> > How can I do this?
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
>
> Just set the :remember_token cookie:
>
> https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/cookies
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20120303/b99eb45a/attachment-0001.html>


More information about the rspec-users mailing list