2015-05-15 2 views
0

Я пытаюсь проверить разработать знак, подпишите, и все другие сценарии, однако я не могу получить ни одного сценария к прошлому, позволяет принимать отказRSpec + Капибара рельсы 4 - рейка интеграционного тестирования не удается

входа в систему моя особенность У меня есть

scenario 'user cannot sign in if not registered' do 
    login_as('[email protected]', 'meow') 
    visit overviews_path 
    save_and_open_page 
    expect(page).to have_content I18n.t 'devise.failure.not_found_in_database', authentication_keys: 'email' 
end 

У меня также есть функция sign_in helper as;

def sign_in(email, password) 
    user.confirm! 
    visit new_user_session_path 
    fill_in 'Email', with: email 
    fill_in 'password', with: password 
    click_button 'Log in' 
end 

однако это создает ошибку;

expected to find text "Invalid email or password." in "TypeError at /overviews ======================= > no implicit conversion of Symbol into Integer spec/features/users/sign_in_spec.rb, line 14 

любые идеи?

ответ

0

Вы назвали свой вспомогательный метод sign_in, но вы звоните login_as в свой сценарий. Вы должны использовать один подход или другой, а не оба.

UPDATE: OK, перепроверил documentation, и вы должны либо использовать свой собственный помощник, так что вы эмулируете фактический пользователь входа в системе или login_as представленной Warden, в этом случае убедитесь, что вы включили его в тесты/RSpec установка:

include Warden::Test::Helpers 
Warden.test_mode! 

на стороне записки, вы должны подтвердить ваш пользователь в вашем заводе/арматуре, а не в методе хелперов (там, где это возможно, не определены).

+0

Благодарим за это, я закончил удаление дополнительного помощника и вернулся к начальнику login_as, я обеспечил, чтобы я включил контролера :: Помощники, но теперь у меня другая проблема Ошибка/ошибка: ожидать (страница) .to have_content I18n.t 'devise.failure.not_found_in_database', authentication_keys: 'email' ожидается найти текст «Недействительный адрес электронной почты или пароль». в «TypeError at/overviews ========================> не подразумевается преобразование символа в Integer –

+0

. Как выглядит ваш обзорный контроллер? Какая строка является« подразумеваемой » преобразование символа в целое 'вызвано? Это другая проблема, чем материал для входа. – tirdadc

Смежные вопросы