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

@private

Public Class Methods

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

Public Instance Methods

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

  original_enqueued_jobs_count = queue_adapter.enqueued_jobs.count
  proc.call
  in_block_jobs = queue_adapter.enqueued_jobs.drop(original_enqueued_jobs_count)

  check(in_block_jobs)
end