aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test/cases/test_helper_test.rb
diff options
context:
space:
mode:
authorYuji Yaginuma <yuuji.yaginuma@gmail.com>2017-02-01 06:37:16 +0900
committerArthur Nogueira Neves <github@arthurnn.com>2017-01-31 16:37:16 -0500
commit80dc309821732c68a6fb347230c99f2f6abf2f6f (patch)
treee1ff98a75d5e2251b1b350c42fac3e01e8a935c8 /activejob/test/cases/test_helper_test.rb
parenta57b5292b0987c62d8567b253c9b54dc84b560d6 (diff)
downloadrails-80dc309821732c68a6fb347230c99f2f6abf2f6f.tar.gz
rails-80dc309821732c68a6fb347230c99f2f6abf2f6f.tar.bz2
rails-80dc309821732c68a6fb347230c99f2f6abf2f6f.zip
correctly set test adapter when configure the queue adapter on a per job (#26690)
The `ActiveJob::TestHelper` replace the adapter to test adapter in `before_setup`. It gets the target class using the `descendants`, but if the test target job class is not loaded, will not be a replacement of the adapter. Therefore, instead of replacing with `before_setup`, modified to replace when setting adapter. Fixes #26360
Diffstat (limited to 'activejob/test/cases/test_helper_test.rb')
-rw-r--r--activejob/test/cases/test_helper_test.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/activejob/test/cases/test_helper_test.rb b/activejob/test/cases/test_helper_test.rb
index 372b68c2f5..2e6357f824 100644
--- a/activejob/test/cases/test_helper_test.rb
+++ b/activejob/test/cases/test_helper_test.rb
@@ -560,3 +560,20 @@ class InheritedJobTest < ActiveJob::TestCase
assert_instance_of ActiveJob::QueueAdapters::TestAdapter, InheritedJob.queue_adapter
end
end
+
+class QueueAdapterJobTest < ActiveJob::TestCase
+ def before_setup
+ @original_autoload_paths = ActiveSupport::Dependencies.autoload_paths
+ ActiveSupport::Dependencies.autoload_paths = %w(test/jobs)
+ super
+ end
+
+ def after_teardown
+ ActiveSupport::Dependencies.autoload_paths = @original_autoload_paths
+ super
+ end
+
+ def test_queue_adapter_is_test_adapter
+ assert_instance_of ActiveJob::QueueAdapters::TestAdapter, QueueAdapterJob.queue_adapter
+ end
+end