Sha256: 15ad02c4a76eece1f30f94f5b60db12e046a377d2837765808a52033352d8abd
Contents?: true
Size: 1.82 KB
Versions: 1
Compression:
Stored size: 1.82 KB
Contents
require 'spec_helper' describe EventAggregator::Message do describe '.publish' do let(:message_type) {Faker::Name.name} let(:data) {Faker::Name.name} let(:listener_class) { (Class.new { include EventAggregator::Listener }) } before(:each) do EventAggregator::Aggregator.class_variable_set :@@listener, Hash.new{|h, k| h[k] = []} @listener_one = listener_class.new @listener_two = listener_class.new EventAggregator::Aggregator.register(@listener_one, message_type) EventAggregator::Aggregator.register(@listener_two, message_type+" different") end it 'should be received by a correct subscribers' do message = EventAggregator::Message.new(message_type, data) expect(@listener_one).to receive(:receive_message).with(message) expect(@listener_two).to_not receive(:receive_message) message.publish end it 'should be published to the aggregator' do message = EventAggregator::Message.new(message_type, data) expect(EventAggregator::Aggregator).to receive(:message_publish).with(message) message.publish end end describe 'self.new' do let(:message_type) {Faker::Name.name} let(:data) {Faker::Name.name} it 'should require initialize data' do expect{EventAggregator::Message.new(message_type)}.to raise_error expect{EventAggregator::Message.new(data)}.to raise_error expect{EventAggregator::Message.new(message_type, data)}.to_not raise_error end it 'should have non-nil message_type' do expect{EventAggregator::Message.new(nil, data)}.to raise_error end it 'should have initialize data publicly available' do message = EventAggregator::Message.new(message_type, data) expect(message.message_type).to equal(message_type) expect(message.data).to equal(data) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
event_aggregator-0.0.2 | spec/lib/event_aggregator/message_spec.rb |