class RSpec::Rails::Matchers::ActiveJob::HaveEnqueuedJob

@private

Constants

FAILURE_MESSAGE_EXPECTATION_ACTION
MESSAGE_EXPECTATION_ACTION

Public Class Methods

new(job) click to toggle source
# File lib/rspec/rails/matchers/active_job.rb, line 225
def initialize(job)
  super()
  @job = job
end

Public Instance Methods

does_not_match?(proc) click to toggle source
# File lib/rspec/rails/matchers/active_job.rb, line 240
def does_not_match?(proc)
  set_expected_number(:at_least, 1)

  !matches?(proc)
end
matches?(proc) click to toggle source
# File lib/rspec/rails/matchers/active_job.rb, line 230
def matches?(proc)
  raise ArgumentError, "have_enqueued_job and enqueue_job only support block expectations" unless Proc === proc

  original_enqueued_jobs = Set.new(queue_adapter.enqueued_jobs)
  proc.call
  enqueued_jobs = Set.new(queue_adapter.enqueued_jobs)

  check(enqueued_jobs - original_enqueued_jobs)
end