Sha256: 0d5362ab7c2f3ba821c53f95b03a28192de255d64b1a5a7e868afc80cb752de0
Contents?: true
Size: 1.7 KB
Versions: 11
Compression:
Stored size: 1.7 KB
Contents
require 'spec_helper' require_relative 'shared_examples' describe Riak::Crdt::Counter do let(:bucket) do double('bucket').tap do |b| allow(b).to receive(:name).and_return('bucket') allow(b).to receive(:is_a?).with(Riak::Bucket).and_return(true) allow(b).to receive(:is_a?).with(Riak::BucketTyped::Bucket).and_return(false) end end it 'initializes with bucket, key, and optional bucket-type' do expect{ described_class.new bucket, 'key' }.to_not raise_error expect{ described_class.new bucket, 'key', 'type' }.to_not raise_error end subject{ described_class.new bucket, 'key' } describe 'with a client' do let(:response){ double 'response', key: nil } let(:operator){ double 'operator' } let(:loader){ double 'loader', get_loader_for_value: nil } let(:backend){ double 'backend' } let(:client){ double 'client' } before(:each) do allow(bucket).to receive(:client).and_return(client) allow(client).to receive(:backend).and_yield(backend) allow(backend).to receive(:crdt_operator).and_return(operator) allow(backend).to receive(:crdt_loader).and_return(loader) end include_examples 'Counter CRDT' it 'batches properly' do expect(operator). to receive(:operate) { |bucket, key, type, operations| expect(bucket).to eq bucket expect(key).to eq 'key' expect(type).to eq subject.bucket_type expect(operations).to be_a Riak::Crdt::Operation::Update expect(operations.value).to eq 5 }. and_return(response) subject.batch do |s| s.increment 4 # 4 s.decrement 2 # 2 s.increment 4 # 6 s.decrement # 5 end end end end
Version data entries
11 entries across 11 versions & 2 rubygems