Files
docuseal/spec/rails_helper.rb
T

85 lines
2.4 KiB
Ruby
Raw Normal View History

2023-05-21 17:59:36 +03:00
# frozen_string_literal: true
require 'spec_helper'
ENV['RAILS_ENV'] ||= 'test'
ENV['TZ'] ||= 'UTC'
require_relative '../config/environment'
abort('The Rails environment is running in production mode!') if Rails.env.production?
require 'rspec/rails'
require 'capybara/cuprite'
2023-08-20 12:42:47 +03:00
require 'capybara/rspec'
2023-05-21 17:59:36 +03:00
require 'webmock/rspec'
2024-11-17 15:57:10 +02:00
require 'signing_form_helper'
2024-06-18 16:51:42 +03:00
2026-04-02 12:24:01 +03:00
Sidekiq.testing!(:fake)
2023-05-21 17:59:36 +03:00
WebMock.disable_net_connect!(allow_localhost: true)
require 'simplecov' if ENV['COVERAGE']
Capybara.server = :puma, { Silent: true }
Capybara.disable_animation = true
Capybara.register_driver(:headless_cuprite) do |app|
Capybara::Cuprite::Driver.new(app, window_size: [1200, 800],
process_timeout: 20,
timeout: 20,
2024-12-18 18:29:14 +02:00
js_errors: true,
browser_options: { 'no-sandbox' => nil })
2023-05-21 17:59:36 +03:00
end
Capybara.register_driver(:headful_cuprite) do |app|
Capybara::Cuprite::Driver.new(app, window_size: [1200, 800],
headless: false,
process_timeout: 20,
timeout: 20,
2024-12-18 18:29:14 +02:00
js_errors: true,
browser_options: { 'no-sandbox' => nil })
2023-05-21 17:59:36 +03:00
end
2024-09-29 11:35:58 +03:00
Rails.root.glob('spec/support/**/*.rb').each { |f| require f }
2023-05-21 17:59:36 +03:00
begin
ActiveRecord::Migration.maintain_test_schema!
rescue ActiveRecord::PendingMigrationError => e
abort e.to_s.strip
end
RSpec.configure do |config|
config.use_transactional_fixtures = true
config.infer_spec_type_from_file_location!
config.filter_rails_from_backtrace!
config.include FactoryBot::Syntax::Methods
2023-08-20 12:42:47 +03:00
config.include Devise::Test::IntegrationHelpers
2024-11-17 15:57:10 +02:00
config.include SigningFormHelper
2026-02-15 09:33:23 +02:00
config.include ActiveSupport::Testing::TimeHelpers
2023-05-21 17:59:36 +03:00
config.before(:each, type: :system) do
if ENV['HEADLESS'] == 'false'
driven_by :headful_cuprite
else
driven_by :headless_cuprite
end
end
2024-06-18 16:51:42 +03:00
config.before do
Sidekiq::Worker.clear_all
2026-07-26 17:44:01 +03:00
Faker::UniqueGenerator.clear
2024-06-18 16:51:42 +03:00
end
config.before do |example|
2026-04-02 12:24:01 +03:00
Sidekiq.testing!(:inline) if example.metadata[:sidekiq] == :inline
2024-06-18 16:51:42 +03:00
end
2024-12-10 23:18:07 +02:00
2025-01-01 14:38:24 +02:00
config.after do |example|
2026-04-02 12:24:01 +03:00
Sidekiq.testing!(:fake) if example.metadata[:sidekiq] == :inline
2025-01-01 14:38:24 +02:00
end
2024-12-10 23:18:07 +02:00
config.before(multitenant: true) do
allow(Docuseal).to receive(:multitenant?).and_return(true)
end
2023-05-21 17:59:36 +03:00
end
2024-11-15 00:30:33 +02:00
ActiveSupport.run_load_hooks(:rails_specs, self)