How to stub ApplicationController method in request spec

Hey there,

I am needing to stub a ‘current_user’ method in an Rspec/capybara
request spec. The method is defined in ApplicationController and is
using helper_method. The method should simply return a user id.

Alternatively, I could fix my problem by setting ‘session[:user_id]’
in the spec (which is what ‘current_user’ returns)… but that doesn’t
seem to work either.

Are either of these possible? Thanks!!!

On Sep 16, 2011, at 12:33 PM, mattf wrote:

Are either of these possible? Thanks!!!


rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

Capybara was designed to force the dev to build true request specs.
Meaning, you cannot tamper with cookies, request headers, etc. directly.
You have to go through the app - clicking links, visiting paths, etc.

So, you’re going to have to go to the authentication page and login
before hitting the pages you actually want to test.