Настройка Warden для использования в спецификациях контроллера RSpec
Я был в состоянии использовать Devise'ssign_in
метод для входа пользователя в спецификации моего контроллера. Но теперь, когда яудаляю Devise из моего приложения, яЯ не совсем уверен, как получить подобную функциональность, работая с самим Warden.
Как я должен идти о настройкеspec/spec_helper.rb
и связанныеspec/support/*.rb
файлов, чтобы Warden работал в пределах спецификаций контроллера?
мы пытались настроить файл вspec/support/warden.rb
с этим содержанием:
RSpec.configure do |config|
config.include Warden::Test::Helpers
config.after do
Warden.test_reset!
end
end
Тогда у меня естьbefore
вызовы, подобные этому, чтобы аутентифицироватьuser
завод:
before { login_as FactoryGirl.create(:user) }
Но вот ошибка, которую я продолжаю видеть:
NameError:
undefined method `user' for nil:NilClass
Эта ошибка восходит к моейauthenticate_user!
Метод в контроллере: я
def authenticate_user!
redirect_to login_path, notice: "You need to sign in or sign up before continuing." if env['warden'].user.nil?
end
Буду признателен за любое руководство, которое может дать любой.