55 lines
1.1 KiB
Ruby
55 lines
1.1 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
require 'spec_helper'
|
||
|
|
||
|
RSpec.describe Gitlab::SidekiqVersioning::Worker do
|
||
|
let(:worker) do
|
||
|
Class.new do
|
||
|
def self.name
|
||
|
'DummyWorker'
|
||
|
end
|
||
|
|
||
|
# ApplicationWorker includes Gitlab::SidekiqVersioning::Worker
|
||
|
include ApplicationWorker
|
||
|
|
||
|
version 2
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe '.version' do
|
||
|
context 'when called with an argument' do
|
||
|
it 'sets the version option' do
|
||
|
worker.version 3
|
||
|
|
||
|
expect(worker.get_sidekiq_options['version']).to eq(3)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'when called without an argument' do
|
||
|
it 'returns the version option' do
|
||
|
worker.sidekiq_options version: 3
|
||
|
|
||
|
expect(worker.version).to eq(3)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe '#job_version' do
|
||
|
let(:job) { worker.new }
|
||
|
|
||
|
context 'when job_version is not set' do
|
||
|
it 'returns latest version' do
|
||
|
expect(job.job_version).to eq(2)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'when job_version is set' do
|
||
|
it 'returns the set version' do
|
||
|
job.job_version = 0
|
||
|
|
||
|
expect(job.job_version).to eq(0)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|