Sha256: b4bca4ea668af896be9cae13a3f1632aabdfb6a2fb424cfb92bcfa479c8172cf

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

require 'spec_helper'

RSpec.describe SidekiqUniqueJobs::Util do
  let(:keys) { %w[uniquejobs:keyz] }

  def set(key, value)
    described_class.connection do |c|
      c.set(key, value)
      expect(c.keys('*')).to match_array([key])
    end
  end

  before(:each) do
    Sidekiq.redis = REDIS
    Sidekiq.redis(&:flushdb)
  end

  describe '.keys' do
  end

  describe '.del' do
    context 'given a key named "keyz" with value "valz"' do
      before do
        set('uniquejobs:keyz', 'valz')
      end

      it 'deletes the keys by pattern' do
        expect(described_class.del('*', 100, false)).to eq(1)
      end

      it 'deletes the keys by pattern' do
        expect(described_class.del('keyz', 100, false)).to eq(1)
      end
    end
  end

  describe '.prefix' do
    context 'when .unique_prefix is nil?' do
      it 'does not prefix with unique_prefix' do
        allow(SidekiqUniqueJobs.config).to receive(:unique_prefix).and_return(nil)
        expect(described_class.prefix('key')).to eq('key')
      end
    end

    before do
      allow(SidekiqUniqueJobs.config).to receive(:unique_prefix).and_return('test-uniqueness')
    end

    it 'returns a prefixed key' do
      expect(described_class.prefix('key')).to eq('test-uniqueness:key')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-5.0.0 spec/lib/sidekiq_unique_jobs/util_spec.rb