diff options
Diffstat (limited to 'spec/lib/gitlab/event_store/store_spec.rb')
-rw-r--r-- | spec/lib/gitlab/event_store/store_spec.rb | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/spec/lib/gitlab/event_store/store_spec.rb b/spec/lib/gitlab/event_store/store_spec.rb index 711e1d5b4d5..94e8f0ff2ff 100644 --- a/spec/lib/gitlab/event_store/store_spec.rb +++ b/spec/lib/gitlab/event_store/store_spec.rb @@ -10,7 +10,6 @@ RSpec.describe Gitlab::EventStore::Store do let(:worker) do stub_const('EventSubscriber', Class.new).tap do |klass| klass.class_eval do - include ApplicationWorker include Gitlab::EventStore::Subscriber def handle_event(event) @@ -23,7 +22,6 @@ RSpec.describe Gitlab::EventStore::Store do let(:another_worker) do stub_const('AnotherEventSubscriber', Class.new).tap do |klass| klass.class_eval do - include ApplicationWorker include Gitlab::EventStore::Subscriber end end @@ -32,7 +30,6 @@ RSpec.describe Gitlab::EventStore::Store do let(:unrelated_worker) do stub_const('UnrelatedEventSubscriber', Class.new).tap do |klass| klass.class_eval do - include ApplicationWorker include Gitlab::EventStore::Subscriber end end @@ -224,6 +221,26 @@ RSpec.describe Gitlab::EventStore::Store do store.publish(event) end end + + context 'when the event does not have any subscribers' do + let(:store) do + described_class.new do |s| + s.subscribe unrelated_worker, to: another_event_klass + end + end + + let(:event) { event_klass.new(data: data) } + + it 'returns successfully' do + expect { store.publish(event) }.not_to raise_error + end + + it 'does not dispatch the event to another subscription' do + expect(unrelated_worker).not_to receive(:perform_async) + + store.publish(event) + end + end end describe 'subscriber' do @@ -233,6 +250,10 @@ RSpec.describe Gitlab::EventStore::Store do subject { worker_instance.perform(event_name, data) } + it 'is a Sidekiq worker' do + expect(worker_instance).to be_a(ApplicationWorker) + end + it 'handles the event' do expect(worker_instance).to receive(:handle_event).with(instance_of(event.class)) |