我可以在Capybara功能测试中使用相当于Devise帮助器`sign_in`吗?

时间:2017-06-05 20:37:46

标签: authentication capybara integration-testing

我正在尝试为只有登录用户才能使用的资源编写功能测试,是否有一种等效的帮助方法来设计`sign_in'我可以使用,还是我必须手动通过登录过程中的Capybara?

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 个答案:

答案 0 :(得分:1)

Warden测试助手可以与Devise和Capybara一起使用来快速记录日志。以下是Devises wiki谈论它的文章 -  https://github.com/plataformatec/devise/wiki/How-To:-Test-with-Capybara