summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/sidekiq_middleware/monitor_spec.rb
blob: 3ca2ddf3cb1c1a7186ed6c1ea82172933eccaa75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

require 'spec_helper'

describe Gitlab::SidekiqMiddleware::Monitor do
  let(:monitor) { described_class.new }

  describe '#call' do
    let(:worker) { double }
    let(:job) { { 'jid' => 'job-id' } }
    let(:queue) { 'my-queue' }

    it 'calls SidekiqMonitor' do
      expect(Gitlab::SidekiqMonitor.instance).to receive(:within_job)
        .with('job-id', 'my-queue')
        .and_call_original

      expect { |blk| monitor.call(worker, job, queue, &blk) }.to yield_control
    end

    it 'passthroughs the return value' do
      result = monitor.call(worker, job, queue) do
        'value'
      end

      expect(result).to eq('value')
    end
  end
end