lib/acidic_job/testing.rb in acidic_job-1.0.0.pre29 vs lib/acidic_job/testing.rb in acidic_job-1.0.0.rc1
- old
+ new
@@ -1,42 +1,38 @@
# frozen_string_literal: true
-require "active_job/queue_adapters"
-require "active_job/base"
-require "active_job/test_helper"
-require "active_job/test_case"
require "database_cleaner"
module AcidicJob
module Testing
def self.included(mod)
mod.class_eval "self.use_transactional_tests = false if respond_to?(:use_transactional_tests)", __FILE__, __LINE__
end
def before_setup
- @connection = ActiveRecord::Base.connection
- @original_cleaners = DatabaseCleaner.cleaners
- DatabaseCleaner.cleaners = transaction_free_cleaners_for(@original_cleaners)
+ @connection = ::ActiveRecord::Base.connection
+ @original_cleaners = ::DatabaseCleaner.cleaners
+ ::DatabaseCleaner.cleaners = transaction_free_cleaners_for(@original_cleaners)
super
- DatabaseCleaner.start
+ ::DatabaseCleaner.start
end
def after_teardown
- DatabaseCleaner.clean
+ ::DatabaseCleaner.clean
super
- DatabaseCleaner.cleaners = @original_cleaners
+ ::DatabaseCleaner.cleaners = @original_cleaners
end
private
# Ensure that the system's original DatabaseCleaner configuration is maintained, options included,
# except that any `transaction` strategies for any ORMs are replaced with a `deletion` strategy.
def transaction_free_cleaners_for(original_cleaners)
non_transaction_cleaners = original_cleaners.dup.to_h do |(orm, opts), cleaner|
[[orm, opts], ensure_no_transaction_strategies_for(cleaner)]
end
- DatabaseCleaner::Cleaners.new(non_transaction_cleaners)
+ ::DatabaseCleaner::Cleaners.new(non_transaction_cleaners)
end
def ensure_no_transaction_strategies_for(cleaner)
return cleaner unless strategy_name_for(cleaner) == "transaction"
@@ -54,10 +50,10 @@
.downcase # "truncation"
end
def deletion_strategy_for(cleaner)
strategy = cleaner.strategy
- strategy_namespace = strategy # <DatabaseCleaner::ActiveRecord::Truncation>
+ strategy_namespace = strategy # <DatabaseCleaner::ActiveRecord::Truncation>
.class # DatabaseCleaner::ActiveRecord::Truncation
.name # "DatabaseCleaner::ActiveRecord::Truncation"
.rpartition("::") # ["DatabaseCleaner::ActiveRecord", "::", "Truncation"]
.first # "DatabaseCleaner::ActiveRecord"
deletion_strategy_class_name = [strategy_namespace, "::", "Deletion"].join