mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-26 01:33:22 +00:00
Synchronise processing of proxy orders
This commit is contained in:
@@ -11,7 +11,7 @@ class PlaceProxyOrder
|
||||
end
|
||||
|
||||
def call
|
||||
return unless initialise_order
|
||||
return unless place_order
|
||||
|
||||
summarizer.record_order(order)
|
||||
return summarizer.record_issue(:complete, order) if order.completed?
|
||||
@@ -32,6 +32,14 @@ class PlaceProxyOrder
|
||||
attr_reader :proxy_order, :subscription, :summarizer, :logger, :stock_changes_loader, :changes
|
||||
attr_accessor :order
|
||||
|
||||
def place_order
|
||||
proxy_order.with_lock do
|
||||
return if proxy_order.placed_at.present?
|
||||
|
||||
initialise_order
|
||||
end
|
||||
end
|
||||
|
||||
def initialise_order
|
||||
logger.info("Placing Order for Proxy Order #{proxy_order.id}")
|
||||
|
||||
|
||||
@@ -214,8 +214,6 @@ describe SubscriptionPlacementJob do
|
||||
breakpoint.unlock
|
||||
threads.each(&:join)
|
||||
}.to change {
|
||||
pending "The current code places two orders!"
|
||||
|
||||
Spree::Order.count
|
||||
}.by(1)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user