Skip to content

Commit ebebb9d

Browse files
authored
Merge pull request rails#41127 from tiramizoo/test-job-priority
Added possibility to check on `:priority` in test helper methods
2 parents a3f9568 + e2db5f2 commit ebebb9d

File tree

4 files changed

+38
-8
lines changed

4 files changed

+38
-8
lines changed

activejob/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
* Added possibility to check on `:priority` in test helper methods
2+
`assert_enqueued_with` and `assert_performed_with`
3+
4+
*Wojciech Wnętrzak*
5+
16
* OpenSSL constants are now used for Digest computations.
27

38
*Dirkjan Bussink*

activejob/lib/active_job/queue_adapters/test_adapter.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def job_to_hash(job, extras = {})
4141
job_data[:job] = job.class
4242
job_data[:args] = job_data.fetch("arguments")
4343
job_data[:queue] = job_data.fetch("queue_name")
44+
job_data[:priority] = job_data.fetch("priority")
4445
end.merge(extras)
4546
end
4647

activejob/lib/active_job/test_helper.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,8 @@ def assert_no_performed_jobs(only: nil, except: nil, queue: nil, &block)
389389
# MyJob.set(wait_until: Date.tomorrow.noon).perform_later
390390
# end
391391
# end
392-
def assert_enqueued_with(job: nil, args: nil, at: nil, queue: nil, &block)
393-
expected = { job: job, args: args, at: at, queue: queue }.compact
392+
def assert_enqueued_with(job: nil, args: nil, at: nil, queue: nil, priority: nil, &block)
393+
expected = { job: job, args: args, at: at, queue: queue, priority: priority }.compact
394394
expected_args = prepare_args_for_assertion(expected)
395395
potential_matches = []
396396

@@ -479,8 +479,8 @@ def assert_enqueued_with(job: nil, args: nil, at: nil, queue: nil, &block)
479479
# MyJob.set(wait_until: Date.tomorrow.noon).perform_later
480480
# end
481481
# end
482-
def assert_performed_with(job: nil, args: nil, at: nil, queue: nil, &block)
483-
expected = { job: job, args: args, at: at, queue: queue }.compact
482+
def assert_performed_with(job: nil, args: nil, at: nil, queue: nil, priority: nil, &block)
483+
expected = { job: job, args: args, at: at, queue: queue, priority: priority }.compact
484484
expected_args = prepare_args_for_assertion(expected)
485485
potential_matches = []
486486

activejob/test/cases/test_helper_test.rb

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,18 @@ def test_assert_enqueued_jobs_with_queue_option
200200
end
201201
end
202202

203+
def test_assert_enqueued_job_with_priority_option
204+
assert_enqueued_with(job: HelloJob, priority: 10) do
205+
HelloJob.set(priority: 10).perform_later
206+
end
207+
208+
assert_raise ActiveSupport::TestCase::Assertion do
209+
assert_enqueued_with(job: HelloJob, priority: 10) do
210+
HelloJob.set(priority: 5).perform_later
211+
end
212+
end
213+
end
214+
203215
def test_assert_enqueued_jobs_with_only_option_and_none_sent
204216
error = assert_raise ActiveSupport::TestCase::Assertion do
205217
assert_enqueued_jobs 1, only: HelloJob do
@@ -686,7 +698,7 @@ def test_assert_enqueued_with_failure_with_global_id_args
686698
end
687699
end
688700
assert_match(/No enqueued job found with {:job=>HelloJob, :args=>\[#{wilma.inspect}\]}/, error.message)
689-
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default"}/, error.message)
701+
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default".*?}/, error.message)
690702
end
691703

692704
def test_assert_enqueued_with_failure_with_no_block_with_global_id_args
@@ -698,7 +710,7 @@ def test_assert_enqueued_with_failure_with_no_block_with_global_id_args
698710
end
699711

700712
assert_match(/No enqueued job found with {:job=>HelloJob, :args=>\[#{wilma.inspect}\]}/, error.message)
701-
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default"}/, error.message)
713+
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default".*?}/, error.message)
702714
end
703715

704716
def test_assert_enqueued_with_does_not_change_jobs_count
@@ -1794,6 +1806,18 @@ def test_assert_performed_with_without_block_failure
17941806
end
17951807
end
17961808

1809+
def test_assert_performed_job_with_priority_option
1810+
assert_performed_with(job: HelloJob, priority: 10) do
1811+
HelloJob.set(priority: 10).perform_later
1812+
end
1813+
1814+
assert_raise ActiveSupport::TestCase::Assertion do
1815+
assert_performed_with(job: HelloJob, priority: 10) do
1816+
HelloJob.set(priority: 5).perform_later
1817+
end
1818+
end
1819+
end
1820+
17971821
def test_assert_performed_with_with_at_option
17981822
assert_performed_with(job: HelloJob, at: Date.tomorrow.noon) do
17991823
HelloJob.set(wait_until: Date.tomorrow.noon).perform_later
@@ -1913,7 +1937,7 @@ def test_assert_performed_with_failure_with_global_id_args
19131937
end
19141938
end
19151939
assert_match(/No performed job found with {:job=>HelloJob, :args=>\[#{wilma.inspect}\]}/, error.message)
1916-
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default"}/, error.message)
1940+
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default".*?}/, error.message)
19171941
end
19181942

19191943
def test_assert_performed_with_without_block_failure_with_global_id_args
@@ -1926,7 +1950,7 @@ def test_assert_performed_with_without_block_failure_with_global_id_args
19261950
end
19271951

19281952
assert_match(/No performed job found with {:job=>HelloJob, :args=>\[#{wilma.inspect}\]}/, error.message)
1929-
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default"}/, error.message)
1953+
assert_match(/Potential matches: {.*?:job=>HelloJob, :args=>\[#<Person.* @id="9">\], :queue=>"default".*?}/, error.message)
19301954
end
19311955

19321956
def test_assert_performed_with_does_not_change_jobs_count

0 commit comments

Comments
 (0)