mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
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.
41 lines
1.2 KiB
Ruby
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
|