予定を予約するためのページがあり、予定が利用可能な最も早い日時を選択する 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 を介してユーザーをログインさせるだけのメソッド定義です。問題は、設定した後でも、ブロックの周りに :js => true を設定するたびに、リンクされたhttp://imgur.com/mYUOxgDOmniAuth.config.mock_auth[:linkedin]経由でログインするように求められることです。
誰かがこの問題を解決する方法を知っているかどうか疑問に思っていました。
以下は、この問題に関連する可能性のあるその他のファイルです。
spec_helper.rb
require 'capybara/webkit/matchers'
Capybara.javascript_driver = :webkit
Gemfile
gem 'capybara-webkit'
gem 'database_cleaner'
gem 'capybara'