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.