Какие еще есть способы протестировать Devise «не вошли» с Cucumber? - PullRequest
4 голосов
/ 11 марта 2011

На вики-странице Devise предлагается использовать следующее, чтобы проверить, не вошел ли пользователь в систему:

   Given /^I am not authenticated$/ do
     visit('/users/sign_out') # ensure that at least
   end

Что работает, но чувствует себя не так, как только проверяет, что определенный маршрут доступен для посещения и не совсемпроверка того, что пользователь не вошел в систему.

Существуют ли другие, более эффективные способы проверки того, вошел ли пользователь в Devise?

1 Ответ

1 голос
/ 17 марта 2011

Данный оператор устанавливает известное состояние перед выполнением тестового сценария, см. GWT . В этом случае он выходит из системы до запуска сценария.

Вы можете использовать следующий сценарий, чтобы подтвердить, что ресурс действительно защищен аутентификацией:

Scenario: Anonymous denied access
  Given I am not authenticated
  When I go to protected_resource
  Then I should see "You need to sign in or sign up before continuing"

Защищенный_ресурс должен быть определен в файле features / support / paths.rb

...