Sha256: 397e98848dbab4db3a491b679d6cb8e1471989c5ab9af157f80cd25bbf2f1bb0
Contents?: true
Size: 1.79 KB
Versions: 1
Compression:
Stored size: 1.79 KB
Contents
require 'rspec' require 'mercury/received_message' describe Mercury::ReceivedMessage do describe '#ack' do it 'raises an error if the message is not actionable' do expect{make_non_actionable.ack}.to raise_error /not ackable/ end it 'raises an error if an action was already taken' do msg = make_actionable msg.reject expect { msg.ack }.to raise_error /already rejected/ end end describe '#nack' do it 'raises an error if the message is not actionable' do expect{make_non_actionable.nack}.to raise_error /not nackable/ end it 'raises an error if an action was already taken' do msg = make_actionable msg.ack expect { msg.nack }.to raise_error /already acked/ end end describe '#reject' do it 'raises an error if the message is not actionable' do expect{make_non_actionable.reject}.to raise_error /not rejectable/ end it 'raises an error if an action was already taken' do msg = make_actionable msg.nack expect { msg.reject }.to raise_error /already nacked/ end end describe '#action_taken' do it 'returns the action taken' do a = make_actionable expect(a.action_taken).to eql nil b = make_actionable b.ack expect(b.action_taken).to eql :ack c = make_actionable c.nack expect(c.action_taken).to eql :nack d = make_actionable d.reject expect(d.action_taken).to eql :reject end end def make_actionable Mercury::ReceivedMessage.new('hello', make_metadata, work_queue_name: 'foo') end def make_non_actionable Mercury::ReceivedMessage.new('hello', make_metadata, work_queue_name: nil) end def make_metadata m = double allow(m).to receive(:ack) allow(m).to receive(:reject) m end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mercury_amqp-0.5.0 | spec/lib/mercury/received_message_spec.rb |