Настройка 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

Буду признателен за любые рекомендации, которые может дать любой.

Ответы на вопрос(2)

Ваш ответ на вопрос