2017-06-05 38 views
0

我想寫一個功能測試的資源,只會提供給一個登錄用戶,是否有一個等效的幫助器方法來設計的`sign_in',我可以使用,或者我必須手動採取Capybara通過登錄過程中?有沒有可用於水豚功能測試的Devise helper`sign_in`的等價物?

require 'rails_helper' 
require_relative '../support/new_quote_form' 

feature 'creating quote request' do 
    let(:user) { FactoryGirl.create(:user) } 
    let(:new_quote_form) { NewQuoteForm.new } 

    before do 
     sign_in(user) #Would be nice and easy! 
    end 

    scenario 'completing quote data' do 
     new_quote_form.visit_page.fill_in_with().submit 
     expect(page).to have_content('Quote request created') 
    end 

    scenario 'cannot reqest quote with invalid data' do 
     new_quote_form.visit_page.submit 
     expect(page).to have_content("Must be selected") 
    end 
end 

回答

1

守望者測試助手可以與Devise和Capybara一起使用來快速記錄。這裏是Devises wiki中關於它的文章 - https://github.com/plataformatec/devise/wiki/How-To:-Test-with-Capybara

+0

在spec/rails_helper.rb中包含'include Warden :: Test :: Helpers',那麼你可以在你的設計用戶上使用'login_as',例如'login_as(user,:scope =>:user)' – jbk

相關問題