Функция огурца не работает после обновления до Devise 1.2.1 - PullRequest
1 голос
/ 10 апреля 2011

У меня есть приложение на http://github.com/rails3book/ticketee, которое в настоящее время не работает, когда функции запускаются с использованием bundle exec cucumber features/signing_up.feature.

  Scenario: Signing up
    Given I am on the homepage
    When I follow "Sign up"
    And I fill in "Email" with "user@ticketee.com"
    And I fill in "Password" with "password"
    And I fill in "Password confirmation" with "password"
    And I press "Sign up"
    Then show me the page
    Then I should see "You have signed up successfully."
      Failed assertion, no message given. (MiniTest::Assertion)
      /Users/ryanbigg/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/minitest/unit.rb:85:in `assert'
      /Users/ryanbigg/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/test/unit/assertions.rb:19:in `assert'
      ./features/step_definitions/web_steps.rb:105:in `block (2 levels) in <top (required)>'
      ./features/step_definitions/web_steps.rb:13:in `with_scope'
      ./features/step_definitions/web_steps.rb:101:in `/^(?:|I )should see "([^\"]*)"(?: within "([^\"]*)")?$/'
      features/signing_up.feature:14:in `Then I should see "You have signed up successfully."'

Failing Scenarios:
cucumber features/signing_up.feature:6 # Scenario: Signing up

Эта функция не работала, пока я не обновил Devise с версии 1.1.8 до 1.2.1.Теперь происходит сбой, потому что он перенаправляет пользователя на страницу входа, как только он перенаправляется на корневой путь после успешного входа.

Я бы очень хотел использоватьпоследние разработки, когда люди, которые читают книгу, для которой разработано это приложение, тоже будут этим заниматься.

Я пытался выяснить, что происходит, пока безрезультатно.Если у вас есть какие-либо идеи, они будут очень признательны.

1 Ответ

2 голосов
/ 10 апреля 2011

Проблема в том, что пользователь не вошел в систему после регистрации, поскольку ожидает подтверждения. Если вы удалите подтверждающую модель из вашей пользовательской модели, то эта функция пройдет. Другое решение - ожидать сообщения о подтверждении в вашей функции:

"Вы должны подтвердить свою учетную запись, прежде чем продолжить."

Однако, что происходит, до того, как устройство подтверждения перенаправит на корневую страницу с этим флэш-сообщением. Ваш корень определяется как проекты # index, который требует входа в ваш before_filter, поэтому вы снова перенаправляетесь обратно на страницу входа и вместо этого видите:

«Вы должны войти или зарегистрироваться, прежде чем продолжить.»

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