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@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users