module RSpec::Sidekiq::Matchers
Public Instance Methods
be_delayed(*expected_arguments)
click to toggle source
# File lib/rspec/sidekiq/matchers/be_delayed.rb, line 6 def be_delayed(*expected_arguments) BeDelayed.new(*expected_arguments) end
be_expired_in(expected_argument)
click to toggle source
# File lib/rspec/sidekiq/matchers/be_expired_in.rb, line 4 def be_expired_in(expected_argument) BeExpiredIn.new(expected_argument) end
be_processed_in(expected_queue)
click to toggle source
# File lib/rspec/sidekiq/matchers/be_processed_in.rb, line 4 def be_processed_in(expected_queue) BeProcessedIn.new expected_queue end
be_retryable(expected_retry)
click to toggle source
# File lib/rspec/sidekiq/matchers/be_retryable.rb, line 4 def be_retryable(expected_retry) BeRetryable.new expected_retry end
be_unique()
click to toggle source
# File lib/rspec/sidekiq/matchers/be_unique.rb, line 4 def be_unique BeUnique.new end
enqueue_sidekiq_job(job_class = nil)
click to toggle source
@api public
Passes if a Job is enqueued as the result of a block. Chainable ‘with` for arguments, `on` for queue, `at` for queued for a specific time, and `in` for a specific interval delay to being queued, `immediately` for queued without delay.
@example
expect { AwesomeJob.perform_async }.to enqueue_sidekiq_job # A specific job class expect { AwesomeJob.perform_async }.to enqueue_sidekiq_job(AwesomeJob) # with specific arguments expect { AwesomeJob.perform_async "Awesome!" }.to enqueue_sidekiq_job.with("Awesome!") # On a specific queue expect { AwesomeJob.set(queue: "high").perform_async }.to enqueue_sidekiq_job.on("high") # At a specific datetime specific_time = 1.hour.from_now expect { AwesomeJob.perform_at(specific_time) }.to enqueue_sidekiq_job.at(specific_time) # In a specific interval (be mindful of freezing or managing time here) freeze_time do expect { AwesomeJob.perform_in(1.hour) }.to enqueue_sidekiq_job.in(1.hour) end # Without any delay expect { AwesomeJob.perform_async }.to enqueue_sidekiq_job.immediately expect { AwesomeJob.perform_at(1.hour.ago) }.to enqueue_sidekiq_job.immediately ## Composable expect do AwesomeJob.perform_async OtherJob.perform_async end.to enqueue_sidekiq_job(AwesomeJob).and enqueue_sidekiq_job(OtherJob)
# File lib/rspec/sidekiq/matchers/enqueue_sidekiq_job.rb, line 81 def enqueue_sidekiq_job(job_class = nil) EnqueueSidekiqJob.new(job_class) end
have_enqueued_sidekiq_job(*expected_arguments)
click to toggle source
# File lib/rspec/sidekiq/matchers/have_enqueued_sidekiq_job.rb, line 4 def have_enqueued_sidekiq_job(*expected_arguments) HaveEnqueuedSidekiqJob.new expected_arguments end
save_backtrace(expected_backtrace=true)
click to toggle source
# File lib/rspec/sidekiq/matchers/save_backtrace.rb, line 4 def save_backtrace(expected_backtrace=true) SaveBacktrace.new expected_backtrace end