lib/eventsimple/support/spec_helpers.rb in eventsimple-1.4.2 vs lib/eventsimple/support/spec_helpers.rb in eventsimple-1.4.3

- old
+ new

@@ -1,19 +1,21 @@ # frozen_string_literal: true -RSpec.shared_examples 'an event which synchronously dispatches' do |dispatcher_klass| +RSpec.shared_examples 'an event which synchronously dispatches' do |*dispatcher_klasses| specify do reactors = Eventsimple::EventDispatcher.rules.for(described_class.new) - expect(reactors.sync).to include(dispatcher_klass) + # Order is important here since the synchronous reactors are executed sequentially + expect(reactors.sync & dispatcher_klasses).to eq(dispatcher_klasses) end end -RSpec.shared_examples 'an event which asynchronously dispatches' do |dispatcher_klass| +RSpec.shared_examples 'an event which asynchronously dispatches' do |*dispatcher_klasses| specify do reactors = Eventsimple::EventDispatcher.rules.for(described_class.new) - expect(reactors.async).to include(dispatcher_klass) + # Order is _not_ important here since async reactors have no order guarantee + expect(reactors.async).to include(*dispatcher_klasses) end end RSpec.shared_examples 'an event in invalid state' do it 'raises an InvalidTransition error' do