method
assert_enqueued_with
v6.0.0 -
Show latest stable
-
0 notes -
Class: TestHelper
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (6)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (38)
- 6.1.3.1 (9)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (11)
- 7.1.3.4 (0)
- What's this?
assert_enqueued_with(job: nil, args: nil, at: nil, queue: nil)
public
Asserts that the job has been enqueued with the given arguments.
def test_assert_enqueued_with MyJob.perform_later(1,2,3) assert_enqueued_with(job: MyJob, args: [1,2,3], queue: 'low') MyJob.set(wait_until: Date.tomorrow.noon).perform_later assert_enqueued_with(job: MyJob, at: Date.tomorrow.noon) end
The args argument also accepts a proc which will get passed the actual job’s arguments. Your proc needs to return a boolean value determining if the job’s arguments matches your expectation. This is useful to check only for a subset of arguments.
def test_assert_enqueued_with expected_args = ->(job_args) do assert job_args.first.key?(:foo) end MyJob.perform_later(foo: 'bar', other_arg: 'No need to check in the test') assert_enqueued_with(job: MyJob, args: expected_args, queue: 'low') end
If a block is passed, asserts that the block will cause the job to be enqueued with the given arguments.
def test_assert_enqueued_with assert_enqueued_with(job: MyJob, args: [1,2,3], queue: 'low') do MyJob.perform_later(1,2,3) end assert_enqueued_with(job: MyJob, at: Date.tomorrow.noon) do MyJob.set(wait_until: Date.tomorrow.noon).perform_later end end