Question

Afficher les spécifications de la méthode des spécifications car la méthode ApplicationController, logged_in?, veut que un utilisateur soit renvoyé.

Je ne sais pas comment spécifier cela. Actuellement en before(:each) J'ai:

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

Ce qui ne fonctionne pas:

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

FWIW: :active_user est l'usine d'utilisateurs pour l'utilisateur qui est attaché au :full_ballot

Mise à jour: Comme demandé:

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
Était-ce utile?

La solution

Regarde comment concevoir les aides de test fais le. Il semble que vous puissiez définir cette méthode avant les tests et cela devrait fonctionner:

def logged_in?
   FactoryGirl.create :active_user
end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top