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