Sha256: cf52c03ed07c2c46dbf76bf971f3ffaf95d91d3c19c91c9a343549bd560eeb1b

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

require 'mock_redis'
require 'enabler'

describe Enabler::Storage::Redis do
  let(:redis) { MockRedis.new }
  let(:model) { double('Model', id:1, class:'Model') }
  subject { Enabler::Storage::Redis.new(redis) }

  describe "#add!" do
    it "adds the id to the correct set in redis" do
      expect{ 
        subject.add!(:dance, model) 
      }.to change{
        redis.sismember('enabler::model::dance', 1) 
      }.from(false).to(true)
    end
  end

  describe "#remove!" do
    before { subject.add!(:dance, model)	}
    it "removes the id from the correct set in redis" do
      expect{ 
        subject.remove!(:dance, model) 
      }.to change{
        redis.sismember('enabler::model::dance', 1) 
      }.from(true).to(false)
    end
  end


  describe "#enabled?" do
    context "when id is in set" do
      before { subject.add!(:dance, model) }
      specify { subject.enabled?(:dance, model).should be_true }
    end
    context "when id is not in set" do
      specify { subject.enabled?(:dance, model).should be_false }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
enabler-0.0.5 spec/enabler/storage/redis_spec.rb
enabler-0.0.4 spec/enabler/storage/redis_spec.rb