spec/lib/worker_spec.rb in proletariat-0.0.6 vs spec/lib/worker_spec.rb in proletariat-0.1.0

- old
+ new

@@ -1,66 +1,64 @@ +require 'concurrent' +require 'proletariat/concurrency/actor_common' +require 'proletariat/concurrency/poolable_actor' require 'proletariat/worker' module Proletariat describe Worker do - let(:logger) { double.as_null_object } + let(:balancer) { double.as_null_object } + let(:logger) { double.as_null_object } + let(:worker) { Worker.new(balancer) } before do allow(Proletariat).to receive(:logger).and_return(logger) end describe '#started' do it 'should log status' do expect(logger).to receive(:info).with /online/ - Worker.new.started + worker.started end end describe '#stopped' do it 'should log status' do expect(logger).to receive(:info).with /offline/ - Worker.new.stopped + worker.stopped end end - describe '#stopping' do - it 'should log status' do - expect(logger).to receive(:info).with /graceful shutdown/ - Worker.new.stopping - end - end - describe '#work' do it 'should raise NotImplementedError' do - expect { Worker.new.work('message', 'key', {}) }.to \ + expect { worker.work('message', 'key', {}) }.to \ raise_exception NotImplementedError end end describe '#log' do context 'when message is provided' do it 'should log the message directly' do expect(logger).to receive(:info).with 'message to log' - Worker.new.log 'message to log' + worker.log 'message to log' end end context 'when no message is provided' do it 'should return the logger instance' do - expect(Worker.new.log).to eq logger + expect(worker.log).to eq logger end end end describe '#publish' do it 'should forward the message to the publisher' do expect(Proletariat).to receive(:publish).with('topic', 'message', {}) - Worker.new.publish 'topic', 'message', {} + worker.publish 'topic', 'message', {} end it 'should have a blank default message' do expect(Proletariat).to receive(:publish).with('topic', '', {}) - Worker.new.publish 'topic' + worker.publish 'topic' end end describe '.listen_on' do it 'should add the given keys to routing_keys' do