diff options
author | Yuji Yaginuma <yuuji.yaginuma@gmail.com> | 2017-02-01 06:37:16 +0900 |
---|---|---|
committer | Arthur Nogueira Neves <github@arthurnn.com> | 2017-01-31 16:37:16 -0500 |
commit | 80dc309821732c68a6fb347230c99f2f6abf2f6f (patch) | |
tree | e1ff98a75d5e2251b1b350c42fac3e01e8a935c8 /activejob/test/cases/test_helper_test.rb | |
parent | a57b5292b0987c62d8567b253c9b54dc84b560d6 (diff) | |
download | rails-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.rb | 17 |
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 |