Sha256: 3f3cc353174fbd39a0844c8d1cc10d6888355240eb3028226ab89153c53e6184

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

module RSpec
  module Sidekiq
    module Matchers
      def save_backtrace(expected_backtrace=true)
        SaveBacktrace.new expected_backtrace
      end

      class SaveBacktrace
        def initialize(expected_backtrace=true)
          @expected_backtrace = expected_backtrace
        end

        def description
          if @expected_backtrace.is_a?(Fixnum)
            "save #{@expected_backtrace} lines of error backtrace" # backtrace: 5
          elsif @expected_backtrace
            'save error backtrace' # backtrace: true
          else
            'not save error backtrace' # backtrace: false
          end
        end

        def failure_message
          "expected #{@klass} to #{description} but got #{@actual}"
        end

        def matches?(job)
          @klass = job.is_a?(Class) ? job : job.class
          @actual = @klass.get_sidekiq_options['backtrace']
          @actual == @expected_backtrace
        end

        def failure_message_when_negated
          "expected #{@klass} to not #{description}".gsub 'not not ', ''
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rspec-sidekiq-3.0.1 lib/rspec/sidekiq/matchers/save_backtrace.rb
rspec-sidekiq-3.0.0 lib/rspec/sidekiq/matchers/save_backtrace.rb
rspec-sidekiq-2.2.0 lib/rspec/sidekiq/matchers/save_backtrace.rb
rspec-sidekiq-2.1.0 lib/rspec/sidekiq/matchers/save_backtrace.rb