require "capybara/rails" require "capybara/rspec" Capybara.server_host = "0.0.0.0" Capybara.app_host = "http://#{ENV.fetch('APP_HOST', `hostname`.strip&.downcase || '0.0.0.0')}" Capybara.default_max_wait_time = 10 Capybara.save_path = ENV.fetch("CAPYBARA_ARTIFACTS", "./tmp/capybara") RSpec.configure do |config| config.before(:each, type: :system) do driven_by :rack_test end config.before(:each, :js, type: :system) do driven_by :better_cuprite end end # adapted from def wait_for_javascript max_time = Capybara::Helpers.monotonic_time + Capybara.default_max_wait_time finished = false while Capybara::Helpers.monotonic_time < max_time finished = page.evaluate_script("typeof initializeBaseApp") != "undefined" break if finished sleep 0.1 end raise "wait_for_javascript timeout" unless finished end