Перенаправление функции огурца не удалось - PullRequest
0 голосов
/ 04 декабря 2018

я новичок с рельсами, огурцом и BDD в общем, я пытаюсь проверить мой процесс регистрации с использованием сценариев

это моя функция регистрации

    Feature: Signup
      As a guest
      I want to create an account
      so that i can use all site's services

      Scenario: User successfully register
        Given I am a guest
        And I am on the homepage
        When I register a valid account
        Then I should be on profile page
        #And I should see a welcome message

и это пошаговые файлы

Given (/^I am a guest$/) do
  @user = nil
end

And (/^I am on the homepage$/) do
  visit root_path
end

When (/^I register a valid account$/) do
  register(FactoryBot.create(:user))
end

Then (/^I should be on profile page$/) do
  puts current_path
end



module LoginSteps
  def register(user)
    visit registrazione_path
    fill_in('user_username', with: user.username)
    fill_in('user_email', with: user.email)
    fill_in('user_password', with: user.password)
    fill_in('user_password_confirmation', with: user.password)
    fill_in('user_comune', with: user.comune)
    fill_in('flatpickr-input', with: user.data_nascita)
    click_button("Crea account")
  end
end


World(LoginSteps)

Я поставил «пут» на 4-м шаге, чтобы проверить, на какой странице после регистрации проблема заключается в том, что она перенаправляет на / users, когда она должна быть в / users / id

приложенииработает нормально, но не тесты какие-либо предложения?спасибо

1 Ответ

0 голосов
/ 05 декабря 2018

Вам нужно отладить это, чтобы увидеть, что происходит.Я бы сделал следующее.

1) Временно добавьте тег javascript в свой сценарий, чтобы он запускался в браузере, а затем вы могли видеть, что происходит.(это необязательно, но я считаю, что это очень полезно для сценариев отладки)

2) Отладка непосредственно перед нажатием кнопки, чтобы вы могли видеть, правильно ли заполнены поля для регистрации

3Отладка в вашем контроллере регистрации, чтобы можно было проверить хэш параметров.

Кроме того, вы можете захотеть отладить то, что делает FactoryBot.create(:user).Я думаю, возможно, что он не создает пароль, так как поле пароля в модели User почти наверняка является соленым хешем, а не паролем простого текста.

...