Sha256: 44faff1277e7f2b382f642206d5aec4ec014e18bd59aae08c791a36f0b8f7bd8
Contents?: true
Size: 975 Bytes
Versions: 1
Compression:
Stored size: 975 Bytes
Contents
require 'spec_helper' require 'observed/job' require 'observed/jobbed_event_bus' describe Observed::JobbedEventBus do let(:out) { mock('out') } let(:factory) { executor = Observed::BlockingJobExecutor.new Observed::JobFactory.new(executor: executor) } let(:the_job) { factory.job { |data, options| out.write data, options } } let(:bus) { Observed::JobbedEventBus.new(job_factory: factory) } it 'should invoke jobs when the corresponding events are emitted' do bus.emit('foo') bus.receive(/^bar$/).then(the_job) bus.emit('baz') out.expects(:write).with({a:1}, {b:2}) bus.emit('bar', {a:1}, {b:2}) bus.emit('blah') end it 'should return the job to emit events' do bus.pipe_to_emit('foo').now bus.receive(/^bar$/).then(the_job) bus.pipe_to_emit('baz').now out.expects(:write).with({a:1}, {b:2}) bus.pipe_to_emit('bar').now({a:1}, {b:2}) bus.pipe_to_emit('blah').now end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
observed-0.2.0.rc1 | spec/jobbed_event_bus_spec.rb |