Использование rspec, устройства и sentient_user

Я использую Devise с sentient_user Gem — https://github.com/bokmann/sentient_user. Он отлично работает, когда я использую current_user в модели. Проблема в том, что мой тест Rspec не работает. В моем тесте Rspec у меня есть

  describe MyModelWhereIUseCurrentUser do

    include Devise::TestHelpers

    before(:each) do 
      @user = Factory(:user)
      sign_in @user
    end 

   describe "current_user should work here" do 
     it "should do something" do 
       # Reference to MyModelWhereIUseCurrentUser and current_user is null there
     end
   end 
 end

Затем в блоке описания я назвал модель, в которой я использую текущего пользователя. Мой тест не пройден, потому что current_user равен нулю. Я неправильно вошел в систему или проблема в sentient_user ?


person VelLes    schedule 19.08.2011    source источник


Ответы (1)


sentient_user добавляет метод make_current, который можно вызывать в экземпляре пользователя. Вашу проблему можно решить, добавив @user.make_current в блок before.

person jmatraszek    schedule 26.04.2012