Quiero anular un usuario conectado (con Devise/Warden) utilizando rspec mocks en un conjunto de pruebas de Capybara en mi aplicación Rails. Esto ahorraría una tonelada de tiempo, y significaría que mi suite de prueba puede/se ejecutará regularmente.Cómo anular Warden/Devise con Rspec en la prueba de Capybara
Anteriormente era capaz de hacer esto utilizando authlogic por apagando mi modelo de sesión con un poco de código como este:
def login(user)
user_session = mock_model(UserSession, {:user => user})
UserSession.stub(:find).and_return(user_session)
end
ahora que estoy usando Diseñar, i ya no tienen acceso a un objeto UserSession. Y dado que estoy usando capibara para probar mi código, no tengo acceso directo al objeto de solicitud para usar el dispositivo construido en el sign_in
auxiliar de prueba.
Mi pregunta es: ¿cómo puedo simular un usuario conectado con capybara, idear y especular sin requerir que cada escenario con un usuario conectado primero vaya a la ruta de registro, complete el formulario, envíe, espere para la respuesta, y luego ir a la página deseada?
lo que pidieron, pero por si acaso [login.rb] (https://github.com/gitlabhq/gitlabhq /blob/master/spec/support/login.rb) y [sample_use.rb] (https://github.com/gitlabhq/gitlabhq/blob/master/spec/requests/dashboard_issues_spec.rb) – clyfe
Gracias por la respuesta , Ya tengo algo así que estoy tratando de evitar. Aunque su comentario es ciertamente útil para aquellos futuros visitantes que podrían no hacerlo. – Schneems