Sha256: ee83a0b4175705c8ca6d9501af09b2b11ce54beb81fcd95641fba4eabf6e9c9a
Contents?: true
Size: 979 Bytes
Versions: 2
Compression:
Stored size: 979 Bytes
Contents
require "blobby/composite_store" require "blobby/in_memory_store" require "blobby/store_behaviour" describe Blobby::CompositeStore do let(:storeA) { Blobby::InMemoryStore.new } let(:storeB) { Blobby::InMemoryStore.new } let(:stores) { [storeA, storeB] } subject do described_class.new(stores) end it_behaves_like Blobby::Store let(:key) { "KEY" } let(:content) { "CONTENT" } describe "#write" do before do subject[key].write(content) end it "writes to all stores" do stores.all? do |store| expect(store[key].read).to eq(content) end end end context "for a key that only exists in the second store" do before do storeB[key].write(content) end describe "#exists?" do it "is true" do expect(subject[key]).to exist end end describe "#read" do it "returns the content" do expect(subject[key].read).to eq(content) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
blobby-1.0.1 | spec/blobby/composite_store_spec.rb |
blobby-1.0.0 | spec/blobby/composite_store_spec.rb |