Estoy hace rato intentando hacer un prueba funcional de login y no logro
que
cree una session:
Quiero verificar que se crea la sesion de usuario que si existe. Esto es
funcionando correctamente en el ambiente de desarrollo.
Alguna idea?
Ambiente:
WXP
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
Rails 2.3.2
Estoy usando parte de restful_authentication
El Controller:
class SesionesController < ApplicationController
skip_before_filter :login_required
render new.rhtml
def new
flash[:notice] = “Ingrese su usuario y llave, gracias”
end
def create
self.current_usuario = Usuario.authenticate(params[:nombre],
params[:clave])
if logged_in?
redirect_back_or_default(’/’)
flash[:notice] = “Bien venido”
else
render :action => ‘new’
end
end
def destroy
reset_session
flash[:notice] = “Hasta pronto.”
redirect_back_or_default(’/’)
end
end
sesiones_controll_test.rb
require ‘test/test_helper’
class SesionesControllerTest < ActionController::TestCase
Replace this with your real tests.
test “carga pantalla de entrada” do
get :new
assert_response :success
assert_equal “Ingrese su usuario y llave, gracias”, flash[:notice]
assert_select “form input” do
assert_select “[name=nombre]”, :count => 1
assert_select “[name=clave]”, :count => 1
end
end
test “entrada correcta” do
post :create, {:nombre=>“ampino”, :clave=>“8659”}
assert_response :success
# Esta linea las puse para verificar que carga los fixtures
puts Usuario.all.size
# Viendo que hay en session
puts session[:usuario]
puts session[:flash]
end
end
Salida
Loaded suite test/functional/sesiones_controller_test
Started
.3 <--------------------- Usuarios en la base
nil <--------------------- session[:usuario]
<-------------------- session[:flash]
.
Finished in 1.25 seconds.
2 tests, 8 assertions, 0 failures, 0 errors
Gracias