Hola lista, me estoy poniendo las pilas en esto del TDD y la verdad es
que engancha pero estoy atascado con una cosita…
Pongamos que tienes un controlador, recién generado con un scaffold,
para administrar los libros de una librería… recién creado, pasa su
test funcional como era de esperar.
Pero pongamos ahora que metes un sistema rudimentario de
autenticaciónde usuarios para controlar el acceso a ese controlador con un:
before_filter :expulsar_si_no_autenticado
donde, básicamente, expulsar_si_no_autenticado comprueba si la
variable de sesión “session[:autenticado]” es true, porque ya has
pasado por el formulario de acceso, y si no, te expulsa…
Vale, pues al poner esto, el test funcional para este controlador
falla, como es normal, porque ninguna de las acciones consiguen hacer
nada ya que no se saben la clave…
¿Cómo puedo simular en este test que el usuario ya se ha autenticado?
Mi idea era meter en poner a true esta variable en el setup, pero no
le gusta la idea. O sea…
def setup
(…)
session[:autenticado] = true
(…)
end
Y al ejecutar el test, dice que…
- Error:
test_create(Admin::LibrosControllerTest):
TypeError: Symbol as array index
test/functional/admin/libros_controller_test.rb:15:in[]=' test/functional/admin/libros_controller_test.rb:15:in
setup_without_fixtures’
/home/jaime/bin/radrails/workspace/libreria/config/…/vendor/rails/activerecord/lib/active_record/fixtures.rb:576:in
`setup’