Sha256: 799bf86ed5f385c0f7aaa7372e9277329ec1b5f2d14f98a76af34f377e7e8741

Contents?: true

Size: 1.29 KB

Versions: 9

Compression:

Stored size: 1.29 KB

Contents

require 'spec_helper'

describe Rekiq::Middleware::Utils do
  class UtilsTestWorker
    include Sidekiq::Worker
  end

  describe '#call' do
    let(:worker) { UtilsTestWorker.new }
    let(:queue)  { UtilsTestWorker.get_sidekiq_options['queue'] }
    let(:scheduled_work_time) { Time.at(Time.now.to_f) }

    context 'worker responds to scheduled_work_time' do
      context 'msg hash has rq:at key with value Time' do
        let(:msg) { { 'rq:at' => scheduled_work_time.to_f } }

        it 'yields passed block' do
          expect do |b|
            Rekiq::Middleware::Utils.new
              .call(worker, msg, queue, &b)
          end.to yield_control.once
        end

        it 'sets scheduled_work_time attribute in worker' do
          Rekiq::Middleware::Utils.new
            .call(worker, msg, queue) {}

          expect(worker.scheduled_work_time).to eq(scheduled_work_time.utc)
        end
      end

      context 'msg has no key' do
        let(:msg) { {} }

        it 'yields passed block' do
          expect do |b|
            Rekiq::Middleware::Utils.new
              .call(worker, msg, queue, &b)
          end.to yield_control.once
        end

        it 'scheduled_work_time remaing unchanged' do
          expect(worker.scheduled_work_time).to be_nil
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rekiq-0.9.3 spec/rekiq/middleware/utils_spec.rb
rekiq-0.9.2 spec/rekiq/middleware/utils_spec.rb
rekiq-0.9.1 spec/rekiq/middleware/utils_spec.rb
rekiq-0.9.0 spec/rekiq/middleware/utils_spec.rb
rekiq-0.8.1 spec/rekiq/middleware/utils_spec.rb
rekiq-0.7.0 spec/rekiq/middleware/utils_spec.rb
rekiq-0.6.0 spec/rekiq/middleware/utils_spec.rb
rekiq-0.5.0 spec/rekiq/middleware/utils_spec.rb
rekiq-0.0.1 spec/rekiq/middleware/utils_spec.rb