Configuración de Warden para su uso en las especificaciones del controlador RSpec

Pude usar Devise'ssign_in Método para iniciar sesión en un usuario en mis especificaciones de controlador. Pero ahora que estoy eliminando a Devise de mi aplicación, no estoy muy seguro de cómo obtener una funcionalidad similar trabajando solo con Warden.

¿Cómo debo hacer para configurarspec/spec_helper.rb y relacionadospec/support/*.rb ¿Archivos para que Warden se ejecute dentro de las especificaciones del controlador de manera suficiente?

He intentado configurar un archivo enspec/support/warden.rb con estos contenidos:

RSpec.configure do |config|
  config.include Warden::Test::Helpers

  config.after do
    Warden.test_reset!
  end
end

Luego tengobefore llamadas similares a esto para autenticar unuser fábrica:

before { login_as FactoryGirl.create(:user) }

Pero aquí está el error que sigo viendo:

NameError:
  undefined method `user' for nil:NilClass

Este error se remonta a miauthenticate_user! Método en el controlador:

def authenticate_user!
  redirect_to login_path, notice: "You need to sign in or sign up before continuing." if env['warden'].user.nil?
end

Apreciaría cualquier orientación que alguien pueda proporcionar.

Respuestas a la pregunta(2)

Su respuesta a la pregunta