Files
openfoodnetwork/spec/system/support/cuprite_setup.rb
Matt-Yorkley 21f26669b4 Split spec configurations into smaller parts
base_spec_helper now defines configs that are universal, whereas spec_helper is for configs that are using DatabaseCleaner and Selenium. This means we can include the base_spec_helper in both the system test setup and the regular setup but separate the other configurations for each type.
2021-07-25 12:32:36 +01:00

41 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require "capybara/cuprite"
Capybara.register_driver(:cuprite) do |app|
Capybara::Cuprite::Driver.new(
app,
**{
window_size: [1200, 800],
browser_options: {},
process_timeout: 20,
timeout: 20,
# Don't load scripts from external sources, like google maps or stripe
url_whitelist: ["http://localhost", "http://0.0.0.0", "http://127.0.0.1"],
inspector: true,
headless: true
}
)
end
# Configure Capybara to use :cuprite driver by default
Capybara.default_driver = Capybara.javascript_driver = :cuprite
RSpec.configure do |config|
config.include CupriteHelpers, type: :system
config.include Devise::Test::IntegrationHelpers, type: :system
config.prepend_before(:each, type: :system) { driven_by :cuprite }
# System tests use transactional fixtures instead of DatabaseCleaner
config.use_transactional_fixtures = true
# Make sure url helpers in mailers use the Capybara server host.
config.around(:each, type: :system) do |example|
original_host = Rails.application.default_url_options[:host]
Rails.application.default_url_options[:host] = Capybara.server_host
example.run
Rails.application.default_url_options[:host] = original_host
end
end