Testear una vista de Devise
Devise es un sistema completo de autenticación de usuarios, y a diferencia de otras gemas esta se encarga de todo, modelo, vista y controlador.
Si queremos modificar las vistas para adaptarlas a nuestro diseño o funcionalidad podrás generarlas con la siguiente tarea rake:
rake devise:views
Luego para asegurarnos de que no rompemos nada lo mejor es testear las acciones que Devise pone a nuestra disposición.
Al test_helper.rb añadimos.
class ActionController::TestCase include Devise::TestHelpers end
Los test funcionales que tendremos que crear serán del estilo:
- functional/devise/registrations_controller_test.rb
- functional/devise/sessions_controller_test.rb
- functional/devise/passwords_controller_test.rb
Y en cada test metemos de estos ficheros o en un setup las siguientes lineas de código:
setup_controller_for_warden request.env["devise.mapping"] = Devise.mappings[:user]
Como ejemplo dejo lo que sería un test muy sencillo:
require 'test_helper' class Devise::PasswordsControllerTest < ActionController::TestCase def setup setup_controller_for_warden request.env["devise.mapping"] = Devise.mappings[:user] end test "process :new" do process :new assert_response :success, @response.body end end