Pregunta

Ver especificación fallando porque el método ApplicationController, logged_in?, quiere que se devuelva un usuario.

No estoy seguro de cómo especificar esto.Actualmente en before(:each) Tengo:

controller.stub!(:logged_in?).and_return(FactoryGirl.create(:active_user))
@ballots = FactoryGirl.create_list(:full_ballot, 2)

que no funciona:

Failure/Error: render
ActionView::Template::Error:
  undefined method 'logged_in?' for #<#<Class:0x007f9c908e4b10>:0x007f9c90873b68>

FWIW: :active_user es la fábrica de usuarios para el usuario que está conectado al :full_ballot

Actualizar: De acuerdo a lo pedido:

class ApplicationController < ActionController::Base
  ...
  def current_user
    @current_user ||= User.find(cookies[:id_token]) if cookies[:id_token]
  end

  def logged_in?
    current_user
  end
  ...
end
¿Fue útil?

Solución

Ver cómo idear ayudantes de prueba hazlo.Parece que puedes definir este método antes de las pruebas y debería funcionar:

def logged_in?
   FactoryGirl.create :active_user
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top