My functional tests are failing because current_user
is not recognizing my authenticated users.
Here is part of application_controller
(there are other require_*
filters too):
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
def require_user
unless current_user
store_location_with_url
redirect_to login_url
return false
end
end
I am creating logged in users using Authlogic, Factory Girl, and Test::Unit:
# test_helper.rb
require 'authlogic/test_case'
# functional test
class LinksControllerTest < ActionController::TestCase
setup :activate_authlogic
setup do
@link = FactoryGirl.create :link
@employer = @link.employer
@user = @employer.user
UserSession.create(@user)
end
end
But, my functional tests ALL fail because despite my creating a logged in user, each controller method fails at require_user
.
How can I fix this?