тестирование устройства неаутентифицированного пользователя с огурцом - PullRequest
2 голосов
/ 10 октября 2011

В этом примере: https://github.com/RailsApps/rails3-devise-rspec-cucumber

Я получаю ошибку, потому что не удается выполнить посещение ('/ users / sign_out') (в capybara... чтобы убедиться, что пользователь вышел из системы).Проблема в том, что нет пути для GET к этому пути, так как devise изменил его на DELETE (и capybara не поддерживает PUT и DELETE без некоторых обходных путей js)

Каковы ваши предложения по выполнению запроса "шаг неаутентифицированного пользователя?как вы, ребята, обычно это делаете?Я надеюсь, что есть простой выход из этого, как 1-2 строки рубина.

на данный момент, я просто делаю:

Given "i am an unauthenticated user" do
  @user == nil
end

но это не похоже, что он что-то тестирует.

1 Ответ

4 голосов
/ 10 октября 2011

Да - это было немного мучительно для многих.

Самый простой способ обойти это - добавить это в ваш файл /config/initializers/devise.rb:

  config.sign_out_via = Rails.env.test? ? :get : :delete

Это будет использовать старый метод get для вашей тестовой среды,и удалить для всех остальных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...