Как заглушить Стража / Разработать с Rspec в тесте Капибары

Я хочу заглушить вошедшего в систему пользователя (с помощью Devise / Warden), используя rspec mocks в наборе тестов Capybara в моем приложении Rails. Это сэкономит массу времени и будет означать, что мой набор тестов может / будет регулярно запускаться.

Ранее я мог сделать это с помощью authlogic, заглушив мою модель сеанса с помощью следующего кода:

def login(user)
  user_session = mock_model(UserSession, {:user => user})
  UserSession.stub(:find).and_return(user_session)
end

Теперь, когда я использую Devise, у меня больше нет доступа к объекту UserSession. И так как я использую капибару для тестирования своего кода, у меня нет прямого доступа к объекту запроса, чтобы использовать встроенный в devisesign_in тест помощник.

Мой вопрос: как я могу имитировать вошедшего в систему пользователя с помощью макетов capybara, devise и spec, не требуя, чтобы каждый сценарий с вошедшим в систему пользователем сначала шел по пути регистрации, заполнял форму, отправлял, ждал ответа и затем перейти на нужную страницу?

Ответы на вопрос(1)

Ваш ответ на вопрос