1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
require 'spec_helper'
describe Mongo::Event::Publisher do
describe '#publish' do
let(:listeners) do
Mongo::Event::Listeners.new
end
let(:klass) do
Class.new do
include Mongo::Event::Publisher
def initialize(listeners)
@event_listeners = listeners
end
end
end
let(:publisher) do
klass.new(listeners)
end
let(:listener) do
double('listener')
end
context 'when the event has listeners' do
before do
listeners.add_listener('test', listener)
listeners.add_listener('test', listener)
end
it 'handles the event for each listener' do
expect(listener).to receive(:handle).with('test').twice
publisher.publish('test', 'test')
end
end
context 'when the event has no listeners' do
it 'does not handle anything' do
expect(listener).to receive(:handle).never
publisher.publish('test', 'test')
end
end
end
end
|