Sha256: 1d6067f803ee5778ae23115a0b5f19a173c5d5f678f5586664d1751b28f730ba

Contents?: true

Size: 1016 Bytes

Versions: 1

Compression:

Stored size: 1016 Bytes

Contents

if defined?(Sidekiq::Batch)
  module RSpec
    module Sidekiq
      class NullObject
        def initialize(*)
        end

        def method_missing(*args, &block)
          self
        end
      end

      class NullBatch < NullObject
        def jobs(*)
          yield
        end
      end

      class NullStatus < NullObject
        def join
          ::Sidekiq::Worker.drain_all
        end
      end
    end
  end

  RSpec.configure do |config|
    config.before(:each) do
      if mocked_with_mocha?
        Sidekiq::Batch.stubs(:new) { RSpec::Sidekiq::NullBatch.new }
        Sidekiq::Batch::Status.stubs(:new) { RSpec::Sidekiq::NullStatus.new }
      else
        Sidekiq::Batch.stub(:new) { RSpec::Sidekiq::NullBatch.new }
        Sidekiq::Batch::Status.stub(:new) { RSpec::Sidekiq::NullStatus.new }
      end
    end
  end

  ## Helpers ----------------------------------------------

  def mocked_with_mocha?
    Sidekiq::Batch.respond_to? :stubs
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rspec-sidekiq-0.5.1 lib/rspec/sidekiq/batch.rb