diff --git a/ecommerce/processes/lib/processes.rb b/ecommerce/processes/lib/processes.rb index 2c99cf6d..2f341b6b 100644 --- a/ecommerce/processes/lib/processes.rb +++ b/ecommerce/processes/lib/processes.rb @@ -130,7 +130,7 @@ def enable_three_plus_one_free_process(event_store, command_bus) def enable_reservation_process(event_store, command_bus) event_store.subscribe( - ReservationProcess.new, + ReservationProcess.new(event_store, command_bus), to: [ Ordering::OrderSubmitted, Fulfillment::OrderCancelled, diff --git a/ecommerce/processes/lib/processes/reservation_process.rb b/ecommerce/processes/lib/processes/reservation_process.rb index e13532c6..365f206f 100644 --- a/ecommerce/processes/lib/processes/reservation_process.rb +++ b/ecommerce/processes/lib/processes/reservation_process.rb @@ -2,9 +2,9 @@ module Processes class ReservationProcess include Infra::Retry - def initialize - @event_store = Configuration.event_store - @command_bus = Configuration.command_bus + def initialize(event_store, command_bus) + @event_store = event_store + @command_bus = command_bus end attr_accessor :event_store, :command_bus diff --git a/ecommerce/processes/test/reservation_process_test.rb b/ecommerce/processes/test/reservation_process_test.rb index 6e0edd8c..4f6c3141 100644 --- a/ecommerce/processes/test/reservation_process_test.rb +++ b/ecommerce/processes/test/reservation_process_test.rb @@ -5,7 +5,7 @@ class ReservationProcessTest < Test cover "Processes::ReservationProcess*" def test_happy_path - process = ReservationProcess.new + process = ReservationProcess.new(event_store, command_bus) assert_success_event do given([order_submitted]).each { |event| process.call(event) } end @@ -31,8 +31,7 @@ def call(command) def test_rejects_order_and_compensates_stock_when_sth_is_unavailable failing_command = Inventory::Reserve.new(product_id: product_id, quantity: 1) enhanced_command_bus = EnhancedFakeCommandBus.new(command_bus, failing_command => Inventory::InventoryEntry::InventoryNotAvailable) - process = ReservationProcess.new - process.command_bus = enhanced_command_bus + process = ReservationProcess.new(event_store, enhanced_command_bus) assert_failure_event do given([order_submitted]).each { |event| process.call(event) } @@ -46,7 +45,7 @@ def test_rejects_order_and_compensates_stock_when_sth_is_unavailable end def test_release_stock_when_order_is_cancelled - process = ReservationProcess.new + process = ReservationProcess.new(event_store, command_bus) given([order_submitted]).each { |event| process.call(event) } command_bus.clear_all_received @@ -58,7 +57,7 @@ def test_release_stock_when_order_is_cancelled end def test_dispatch_stock_when_order_is_confirmed - process = ReservationProcess.new + process = ReservationProcess.new(event_store, command_bus) given([order_submitted]).each { |event| process.call(event) } command_bus.clear_all_received