Im tratando de probar una condición en la que el registro exitoso de una plantilla de éxito se representa por el siguiente código de controlador deplantillas de prueba RSpec que se queden
def create
@user = User.new(params[:user])
if @user.save
render :template => "success"
else
flash[:notice] = "Oops Somethings not quite right! :("
render :action => "new"
end
end
estoy usando la especificación siguiente para probar el código
before(:each) do
@user = User.new
@user.attributes = valid_attributes
@params = valid_attributes
@user.stub!(:save).and_return(true)
end
def do_post
post :create
end
it "should create new user " do
count = User.count
do_post
user = User.new(@params)
user.save.should eql(true)
User.count.should eql(count + 1)
end
it "should render the success page on successful signup" do
do_post
@user.save
response.should render_template("success") if @user.save
end
Pero el ejemplo no "debe rendir el éxito en la página de registro de éxito", con este mensaje de error
1)
'UsersController handling POST /users should render the success page on successful signup' FAILED
expected "success", got "users/new.html.erb"
./spec/controllers/users_controller_spec.rb:67:
La vista de éxito es una plantilla almacenada en las vistas/usuarios/sin una acción. Supongo que estoy cometiendo un error muy fundamental y me gustaría algo de ayuda.
que eliminaría la estado de usuario.guardado en su último afirmación – Rimian