2013-04-03 2 views
0

В моей users_controller_spec.rb я поставилStubbing зарегистрировался пользователем (current_user) с rspec - как заставить его работать?

@u = FactoryGirl.create(:user) 
ApplicationController.should_receive(:current_user).at_least(:once).and_return(@u) 
controller.stub :current_user => @u 

, а затем я хочу написать контроллер спецификации, которые показывают мне, если объект действительно недоступны на пользователей, которые не должны видеть его - там выходит из require_ownership функции в application_controller .rb, который использует var @current_user, чтобы узнать, кто вошел в систему, но с помощью метода выше я не могу найти, чтобы пользователь «вошел в систему».

+0

какие характеристики? контроллер? – apneadiving

+0

yes, controller_specs .. Например, тест «1) войти в систему 2)« get: edit' 3) может получить к нему доступ »или« 1) не входить в систему 2) получить: редактировать, 3) не может получить к нему доступ » –

+0

Что именно ваша линия 2 должна достичь? Только 'controller.stub' должно быть достаточно, чтобы заглушить' @ u' в качестве зарегистрированного пользователя. – depa

ответ

0

Он работает, если я создаю UserSession.create (@u) - и это хорошо для меня.