Sha256: 733698a0adf721fec5ed00d8c8549bad6e0676c3b37690a5a43e7c97ea734533
Contents?: true
Size: 1.12 KB
Versions: 7
Compression:
Stored size: 1.12 KB
Contents
describe Moneta::Builder do it 'raises an error if #use is called after #adapter' do expect do Moneta::Builder.new do adapter :Null use :Lock end.build end.to raise_error /Please check/ end it 'raises an error if #adapter called twice' do expect do Moneta::Builder.new do adapter :Null adapter :Null end.build end.to raise_error /Please check/ end it 'raises an error if no #adapter is specified' do expect do Moneta::Builder.new do use :Lock use :Lock end.build end.to raise_error /Please check/ end it 'dups options before passing them to each middleware' do my_adapter = Class.new do def initialize(options) throw "a is missing" unless options.delete(:a) end end my_middleware = Class.new do def initialize(backend, options) throw "a is missing" unless options.delete(:a) end end options = { a: 1 } Moneta::Builder.new do use my_middleware, options adapter my_adapter, options end.build expect(options).to include(a: 1) end end
Version data entries
7 entries across 7 versions & 1 rubygems