tengo una especificación para probar un controlador como por debajo dede sesión de usuario mientras se prueba con rspec y authlogic
require 'spec_helper'
describe ProductsController do
setup :activate_authlogic
describe "user not logged in" do
it "should not GET index" do
get :index
response.should redirect_to(login_path)
end
end
describe "user logged in" do
before(:each) do
UserSession.create :username => "rohit", :password => "test123"
end
it "should GET index" do
get :index
response.should redirect_to(products_path)
end
end
end
También he utilizado esta línea en spec_helper.rb
require "authlogic/testcase"
La prueba de "user no conectado pases", sino por 'usuario conectado' falla con
'ProductsController user is logged in should GET index' FAILED
expected redirect to "/products", got no redirect
por qué recibo una redirección no en el ejemplo de "usuario conectado", al menos debería ser redireccionado a alguna parte. Incluso intenté usar redirect_to (login_path) en lugar de redirect_to (products_path), pero recibía el mismo error. ¿Porqué es eso? – Rohit
porque solo pide la página '/ productos' si no hay redirección_ a otra cosa en este controlador es normal. Pon tu controlador de producción si quieres más información – shingara
, básicamente, ¿qué estás diciendo? Debería eliminar la línea redirect_to de la especificación – Rohit