current_user
が認証済みユーザーを認識していないため、機能テストが失敗しています。
これは一部ですapplication_controller
(他のrequire_*
フィルターもあります):
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
Authlogic、Factory Girl、および 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
しかし、ログインユーザーを作成したにもかかわらず、各コントローラーメソッドが で失敗するため、機能テストはすべて失敗しますrequire_user
。
どうすればこれを修正できますか?