Я хочу удалить вошедшего в систему пользователя (с помощью 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.И так как я использую капибару для тестирования своего кода, у меня нет прямого доступа к объекту запроса, чтобы использовать встроенный в devise sign_in
помощник по тестированию.
Мой вопрос: как я могу имитировать зарегистрированныйесли пользователь с capybara разрабатывает и разрабатывает спецификации, не требуя от каждого сценария с вошедшим в систему пользователем сначала перейти к пути регистрации, заполнить форму, отправить, дождаться ответа и перейти на нужную страницу?