rails_template/spec/support/database_cleaner.rb

53 lines
1.7 KiB
Ruby

# frozen_string_literal: true
# require 'database_cleaner'
#
# RSpec.configure do |config|
# config.use_transactional_fixtures = false
#
# config.before(:suite) do
# # https://github.com/DatabaseCleaner/database_cleaner#safeguards
# DatabaseCleaner.allow_remote_database_url = true
#
# if config.use_transactional_fixtures?
# raise(<<-MSG)
# Delete line `config.use_transactional_fixtures = true` from rails_helper.rb
# (or set it to false) to prevent uncommitted transactions being used in
# JavaScript-dependent specs.
#
# During testing, the app-under-test that the browser driver connects to
# uses a different database connection to the database connection used by
# the spec. The app's database connection would not be able to access
# uncommitted transaction data setup over the spec's database connection.
# MSG
# end
#
# DatabaseCleaner.clean_with(:truncation)
# end
#
# config.before(:each) do
# DatabaseCleaner.strategy = :transaction
# end
#
# config.before(:each, type: :feature) do
# # :rack_test driver's Rack app under test shares database connection
# # with the specs, so continue to use transaction strategy for speed.
# driver_shares_db_connection_with_specs = Capybara.current_driver == :rack_test
#
# unless driver_shares_db_connection_with_specs
# # Driver is probably for an external browser with an app
# # under test that does *not* share a database connection with the
# # specs, so use truncation strategy.
# DatabaseCleaner.strategy = :truncation
# end
# end
#
# config.before(:each) do
# DatabaseCleaner.start
# end
#
# config.append_after(:each) do
# DatabaseCleaner.clean
# end
# end