Sha256: 7385c80fdd3987f64d126f2cce097757d222f505908c2a4530a94a82f7bc9045
Contents?: true
Size: 1.5 KB
Versions: 4
Compression:
Stored size: 1.5 KB
Contents
require 'spec_helper' describe 'mock data' do class Diagnosis < Sample::Request def real(diagnosis) end def mock(diagnosis) service.data.store(:diagnosis, service.data.fetch(:diagnosis) + [diagnosis]) end end class Treat < Sample::Request def real(treatment) end def mock(treatment) service.data[:treatments] += [treatment] end end shared_examples 'mock_data#backend' do |backend, options| it 'should store mock data' do Sample.mock! Sample::Mock.store_in(backend, options) Sample.reset! p = Sample.new p.diagnosis('sick') expect(p.data[:diagnosis]).to eq(['sick']) p.reset! expect(p.data[:diagnosis]).to eq([]) p.treat('healthy') expect(p.data[:treatments]).to eq(['healthy']) Sample.reset! expect(p.data[:treatments]).to eq([]) end end context 'with a storage backend' do describe 'Cistern::Data::Hash' do include_examples 'mock_data#backend', :hash end describe 'Cistern::Data::Redis' do include_examples 'mock_data#backend', :redis context 'with an explicit client' do before(:each) do @other = Redis::Namespace.new('other_cistern', Redis.new) @other.set('x', 'y') end include_examples 'mock_data#backend', :redis, client: Redis::Namespace.new('cistern', Redis.new) after(:each) do expect(@other.get('x')).to eq('y') @other.del('x') end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cistern-2.2.7 | spec/mock_data_spec.rb |
cistern-2.2.6 | spec/mock_data_spec.rb |
cistern-2.2.5 | spec/mock_data_spec.rb |
cistern-2.2.4 | spec/mock_data_spec.rb |