Sha256: 1564d9ed0508ed22b13d4e7e8cf73d07ae5e5f860aa105957e7e4525ba5fcda7

Contents?: true

Size: 1.15 KB

Versions: 2

Compression:

Stored size: 1.15 KB

Contents

require 'spec_helper'
require "fakeredis"

describe Docket::Storage::Redis do

  let(:redis_storage) { Docket::Storage::Redis.new(:redis => Redis.new) }

  describe '#new' do
    it 'creates the storage backend' do
      expect(redis_storage.db).to_not be_nil
    end
  end

  describe '#save' do
    it 'saves the key to the db' do
      redis_storage.save 'key1', 'value1'

      expect(redis_storage.read('key1')).to eql('value1')
    end
  end

  describe '#read' do
    it 'returns value set for key in db' do
      redis_storage.save 'key1', 'value1'
      expect(redis_storage.read('key1')).to eql('value1')
    end
  end

  describe '#append' do
    context 'key does not exist' do
      it 'creates key and appends' do
        redis_storage.clear!
        redis_storage.append 'append_key', 2
        expect(redis_storage.read('append_key')).to eql([2])
      end
    end

    context 'key exists' do

      it "appends value to the end of a list value for key" do
        redis_storage.clear!
        redis_storage.append 'key1', 1
        redis_storage.append 'key1', 2

        expect(redis_storage.read('key1')).to eql([1,2])
      end
    end
    
  end
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
docket-0.2.1 spec/storage/redis_spec.rb
docket-0.2.0 spec/storage/redis_spec.rb