Files
grecia/spec/rails_helper.rb
Javi Martín 7e702fc7ed Fix DB corruption in system tests after exceptions
This is a known bug in Rails, fixed in the Rails 5.2 and Rails 6.x
branches:

https://github.com/rails/rails/pull/32293/commits/5c4e1338
2020-04-24 15:43:54 +02:00

58 lines
1.4 KiB
Ruby

ENV["RAILS_ENV"] ||= "test"
if ENV["TRAVIS"]
require "coveralls"
Coveralls.wear!("rails")
end
require File.expand_path("../../config/environment", __FILE__)
abort("The Rails environment is running in production mode!") if Rails.env.production?
require "rspec/rails"
require "spec_helper"
require "capybara/rails"
require "capybara/rspec"
require "selenium/webdriver"
Rails.application.load_tasks if Rake::Task.tasks.empty?
include Warden::Test::Helpers
Warden.test_mode!
ActiveRecord::Migration.maintain_test_schema!
# Monkey patch from https://github.com/rails/rails/pull/32293
# Remove when we upgrade to Rails 5.2
require "action_dispatch/system_testing/test_helpers/setup_and_teardown"
module ActionDispatch::SystemTesting::TestHelpers::SetupAndTeardown
def after_teardown
take_failed_screenshot
Capybara.reset_sessions!
ensure
super
end
end
RSpec.configure do |config|
config.infer_spec_type_from_file_location!
config.after do
Warden.test_reset!
end
end
Capybara.register_driver :headless_chrome do |app|
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
"goog:chromeOptions" => {
args: %W[headless no-sandbox window-size=1200,600 proxy-server=127.0.0.1:#{Capybara::Webmock.port_number}]
}
)
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
desired_capabilities: capabilities
)
end
Capybara.exact = true
OmniAuth.config.test_mode = true