我有一个用于预约的页面,它有一些 javascript 代码可以选择预约可用的最早时间和日期,之后用户可以单击按钮来安排预约。
因此,为了测试这一点,我正在编写一些 rspec 测试,如下所示,
book_appointment_spec.rb
context "when on the profile page" do
before do
click_linkedin_button
end
it 'book an appointment', :js => true do
click_link "new-appointment"
choose "doctor1"
click_button "Submit and Schedule"
expect(page).to have_content "Congrats!"
end
end
click_linkedin_button 是一个方法定义,它只是通过linkedin oauth 登录用户。问题是即使在设置之后OmniAuth.config.mock_auth[:linkedin]
,每当我在它周围设置 :js => true 时,它都会要求我通过linkedin登录, http: //imgur.com/mYUOxgD
我想知道是否有人知道如何解决这个问题。
以下是可能与此问题相关的其他文件。
spec_helper.rb
require 'capybara/webkit/matchers'
Capybara.javascript_driver = :webkit
宝石文件
gem 'capybara-webkit'
gem 'database_cleaner'
gem 'capybara'