spec/lib/adapters/test_adapter_spec.rb in basquiat-1.1.1 vs spec/lib/adapters/test_adapter_spec.rb in basquiat-1.2.0

- old
+ new

@@ -1,60 +1,56 @@ require 'spec_helper' describe Basquiat::Adapters::Test do - subject { Basquiat::Adapters::Test.new } - it_behaves_like 'a Basquiat::Adapter' + subject(:adapter) { Basquiat::Adapters::Test.new } context 'publisher' do it '#publish [enqueue a message]' do expect do - subject.publish('messages.welcome', value: 'A Nice Welcome Message') - end.to change { subject.events('messages.welcome').size }.by(1) - expect(subject.events('messages.welcome')[0]).to match(/A Nice Welcome Message/) + adapter.publish('messages.welcome', value: 'A Nice Welcome Message') + end.to change { adapter.events('messages.welcome').size }.by(1) + expect(adapter.events('messages.welcome')[0]).to match(/A Nice Welcome Message/) end end context 'listener' do before(:each) do - subject.publish('some.event', data: 'some message') + adapter.publish('some.event', data: 'some message') end it '#subscribe_to some event' do - subject.subscribe_to('some.event', ->(msg) { msg.values.map(&:upcase) }) - expect(subject.listen).to eq(['SOME MESSAGE']) + adapter.subscribe_to('some.event', ->(msg) { msg.values.map(&:upcase) }) + expect(adapter.listen).to eq(['SOME MESSAGE']) end it '#subscribe_to multiple events' do - subject.instance_eval <<-METHCALL + adapter.instance_eval <<-METHCALL subscribe_to('some.event', ->(msg) { publish 'some.other', data: msg.values.first.upcase; msg }) METHCALL - subject.subscribe_to('some.other', ->(msg) { msg.values.first.downcase }) - expect(subject.listen).to eq(data: 'some message') - expect(subject.events('some.other')[0]).to match(/SOME MESSAGE/) - expect(subject.listen).to eq('some message') + adapter.subscribe_to('some.other', ->(msg) { msg.values.first.downcase }) + expect(adapter.listen).to eq(data: 'some message') + expect(adapter.events('some.other')[0]).to match(/SOME MESSAGE/) + expect(adapter.listen).to eq('some message') end end describe '#clean' do context 'when no event has been published' do - it 'should have no event registered' do Basquiat::Adapters::Test.clean - expect(Basquiat::Adapters::Test.events).to be_empty end end context 'when some events have been published' do before do - subject.publish('some.message', value: 'A Nice Welcome Message') - subject.publish('some.message', value: 'A Nasty Welcome Message') - subject.publish('other.message', value: 'A Random Welcome Message') + adapter.publish('some.message', value: 'A Nice Welcome Message') + adapter.publish('some.message', value: 'A Nasty Welcome Message') + adapter.publish('other.message', value: 'A Random Welcome Message') end it 'should have no event registered' do Basquiat::Adapters::Test.clean - expect(Basquiat::Adapters::Test.events).to be_empty end end end end