class RSpec::Sidekiq::Matchers::BeRetryable

Public Class Methods

new(expected_retry) click to toggle source
# File lib/rspec/sidekiq/matchers/be_retryable.rb, line 9
def initialize(expected_retry)
  @expected_retry = expected_retry
end

Public Instance Methods

description() click to toggle source
# File lib/rspec/sidekiq/matchers/be_retryable.rb, line 13
def description
  if @expected_retry.is_a?(Numeric)
    "retry #{@expected_retry} times"    # retry: 5
  elsif @expected_retry
    'retry the default number of times' # retry: true
  else
    'not retry'                         # retry: false
  end
end
failure_message() click to toggle source
# File lib/rspec/sidekiq/matchers/be_retryable.rb, line 23
def failure_message
  "expected #{@klass} to #{description} but got #{@actual}"
end
failure_message_when_negated() click to toggle source
# File lib/rspec/sidekiq/matchers/be_retryable.rb, line 33
def failure_message_when_negated
  "expected #{@klass} to not #{description}".gsub 'not not ', ''
end
matches?(job) click to toggle source
# File lib/rspec/sidekiq/matchers/be_retryable.rb, line 27
def matches?(job)
  @klass = job.is_a?(Class) ? job : job.class
  @actual = @klass.get_sidekiq_options['retry']
  @actual == @expected_retry
end