Капибара Rspec маршрутизации неправильно

Обновить

April 2019

Просмотры

58 раз

1

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

1) Sign in user can sign in with valid credentials
     Failure/Error: expect(page).to have_content I18n.t 'devise.sessions.signed_in'
       expected to find text "Signed in successfully." in "Home Login This is where the fun is."
     # ./spec/features/users/sign_in_spec.rb:24:in `block (2 levels) in <top (required)>'

В моем файле спецификации у меня есть:

feature 'Sign in', :devise do
  scenario 'user can sign in with valid credentials' do
    user = FactoryGirl.create(:user)
    signin(user.email, user.password)
    expect(page).to have_content I18n.t 'devise.sessions.signed_in'
  end
end

Я создал signinметод в хелперах файл , который имеет:

module Features
  module SessionHelpers
  def signin(email, password)
      visit new_user_session_path
      fill_in 'Email', with: email
      fill_in 'Password', with: password
      click_button 'Log in'
    end
  end
end

По какой - то причине это маршрутизация меня обратно в корневом пути, даже если я должен быть в /adminв данный момент:

$rescue rspec

From: /Users/mine/Coding/project/spec/features/users/sign_in_spec.rb @ line 24 :

    19:   #   When I sign in with valid credentials
    20:   #   Then I see a success message
    21:   scenario 'user can sign in with valid credentials' do
    22:     user = FactoryGirl.create(:user)
    23:     signin(user.email, user.password)
 => 24:     expect(page).to have_content I18n.t 'devise.sessions.signed_in'
    25:   end
    26: 

RSpec::Expectations::ExpectationNotMetError: expected to find text "Signed in successfully." in "Home Login This is where the fun is."
from /Users/mine/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/rspec-support-3.6.0/lib/rspec/support.rb:87:in `block in <module:Support>'
[1] pry(#<RSpec::ExampleGroups::SignIn>)> current_path
=> "/"

Когда я все это вручную через мой собственный браузер Я могу войти без проблем и перенаправляются на правильный путь /admin. Что мне не хватает?

0 ответы