diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2015-01-07 21:07:17 -0800 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2015-01-07 21:07:17 -0800 |
commit | e54719df66f455c11a03a5cfa128025c8b00f141 (patch) | |
tree | 34d681e047f3afe7de2483495aa476f7bfb7838d /activejob/test | |
parent | f6b21d48ef15d4f39a530653c2ce7d0cfb458b46 (diff) | |
parent | b5e88317cc83436971d4b6d5d56629f9e43476d7 (diff) | |
download | rails-e54719df66f455c11a03a5cfa128025c8b00f141.tar.gz rails-e54719df66f455c11a03a5cfa128025c8b00f141.tar.bz2 rails-e54719df66f455c11a03a5cfa128025c8b00f141.zip |
Merge pull request #18397 from georgeclaghorn/enhance-job-assertions
Add :only option to assert_enqueued_jobs
Diffstat (limited to 'activejob/test')
-rw-r--r-- | activejob/test/cases/test_helper_test.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/activejob/test/cases/test_helper_test.rb b/activejob/test/cases/test_helper_test.rb index 784ede3674..21fe3db148 100644 --- a/activejob/test/cases/test_helper_test.rb +++ b/activejob/test/cases/test_helper_test.rb @@ -87,6 +87,46 @@ class EnqueuedJobsTest < ActiveJob::TestCase assert_match(/0 .* but 1/, error.message) end + def test_assert_enqueued_jobs_with_only_option + assert_nothing_raised do + assert_enqueued_jobs 1, only: HelloJob do + HelloJob.perform_later('jeremy') + LoggingJob.perform_later + end + end + end + + def test_assert_enqueued_jobs_with_only_option_and_none_sent + error = assert_raise ActiveSupport::TestCase::Assertion do + assert_enqueued_jobs 1, only: HelloJob do + LoggingJob.perform_later + end + end + + assert_match(/1 .* but 0/, error.message) + end + + def test_assert_enqueued_jobs_with_only_option_and_too_few_sent + error = assert_raise ActiveSupport::TestCase::Assertion do + assert_enqueued_jobs 5, only: HelloJob do + HelloJob.perform_later('jeremy') + 4.times { LoggingJob.perform_later } + end + end + + assert_match(/5 .* but 1/, error.message) + end + + def test_assert_enqueued_jobs_with_only_option_and_too_many_sent + error = assert_raise ActiveSupport::TestCase::Assertion do + assert_enqueued_jobs 1, only: HelloJob do + 2.times { HelloJob.perform_later('jeremy') } + end + end + + assert_match(/1 .* but 2/, error.message) + end + def test_assert_enqueued_job assert_enqueued_with(job: LoggingJob, queue: 'default') do LoggingJob.set(wait_until: Date.tomorrow.noon).perform_later |