Sha256: 227286c97ef46486498ec0e173c31edb12bb1b2576681e2c3f02c8a165b1ded2
Contents?: true
Size: 1.88 KB
Versions: 8
Compression:
Stored size: 1.88 KB
Contents
require 'spec_helper' describe EventAggregator::Message do let(:message_type) { Faker::Name.name } let(:data) { Faker::Name.name } let(:listener_class) { (Class.new { include EventAggregator::Listener }) } let(:callback) { lambda{ |data| } } before(:each) do EventAggregator::Aggregator.reset end describe '.initialize' do describe 'legal parameters' do it 'allows nil data' do expect{EventAggregator::Message.new(message_type, nil)}.to_not raise_error end it '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 describe 'illegal parameters' do it '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 'non-nil message_type' do expect{EventAggregator::Message.new(nil, data)}.to raise_error end end end describe '.publish' do before(:each) do @listener_one = listener_class.new @listener_two = listener_class.new EventAggregator::Aggregator.register(@listener_one, message_type, callback) EventAggregator::Aggregator.register(@listener_two, message_type+" different", callback) end it 'invoke message_publish on aggregator' do message = EventAggregator::Message.new(message_type, data) expect(EventAggregator::Aggregator).to receive(:message_publish).with(message) message.publish end end describe ".request" do it 'invoke message_request on aggregator' do message = EventAggregator::Message.new(message_type, data) expect(EventAggregator::Aggregator).to receive(:message_request).with(message) message.request end end end
Version data entries
8 entries across 8 versions & 1 rubygems