2017-06-05 51 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