Examples:
before { ActiveJob::Base.queue_adapter.enqueued_jobs.clear }
HeavyLiftingJob.perform_later
expect(HeavyLiftingJob).to have_been_enqueued
HelloJob.perform_later
HeavyLiftingJob.perform_later
expect(HeavyLiftingJob).to have_been_enqueued.exactly(:once)
3.times { HelloJob.perform_later }
expect(HelloJob).to have_been_enqueued.at_least(2).times
HelloJob.perform_later
expect(HelloJob).to enqueue_job(HelloJob).at_most(:twice)
HelloJob.perform_later
HeavyLiftingJob.perform_later
expect(HelloJob).to have_been_enqueued
expect(HeavyLiftingJob).to have_been_enqueued
HelloJob.set(wait_until: Date.tomorrow.noon, queue: "low").perform_later(42)
expect(HelloJob).to have_been_enqueued.with(42).on_queue("low").at(Date.tomorrow.noon)
HelloJob.set(queue: "low").perform_later(42)
expect(HelloJob).to have_been_enqueued.with(42).on_queue("low").at(:no_wait)