class RSpec::Sidekiq::Matchers::EnqueueSidekiqJob

@api private

Attributes

original_jobs[R]

Public Class Methods

new(job_class) click to toggle source
Calls superclass method RSpec::Sidekiq::Matchers::Base::new
# File lib/rspec/sidekiq/matchers/enqueue_sidekiq_job.rb, line 8
def initialize(job_class)
  super()
  default = if RSpec::Sidekiq.configuration.sidekiq_gte_7?
    ::Sidekiq::Job
  else
    ::Sidekiq::Worker
  end

  @klass = job_class || default
end

Public Instance Methods

matches?(proc) click to toggle source
# File lib/rspec/sidekiq/matchers/enqueue_sidekiq_job.rb, line 19
def matches?(proc)
  raise ArgumentError, "Only block syntax supported for enqueue_sidekiq_job" unless Proc === proc

  @original_jobs = EnqueuedJobs.new(@klass)
  proc.call
  @actual_jobs = EnqueuedJobs.new(@klass).minus!(original_jobs)

  if @actual_jobs.none?
    return false
  end

  @actual_jobs.includes?(expected_arguments, expected_options, expected_count)
end
prefix_message() click to toggle source
# File lib/rspec/sidekiq/matchers/enqueue_sidekiq_job.rb, line 33
def prefix_message
  "enqueue"
end
supports_block_expectations?() click to toggle source
# File lib/rspec/sidekiq/matchers/enqueue_sidekiq_job.rb, line 37
def supports_block_expectations?
  true
end