mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Trigger new backorder only when user checks out
When an admin creates an order, then AmendBackorderJob is called which can also trigger a new backorder if needed. This means that we are not creating backorders via subscriptions any more. It has never been requested and we can bring that back if needed.
This commit is contained in:
@@ -92,6 +92,7 @@ class CheckoutController < BaseController
|
||||
end
|
||||
@order.process_payments!
|
||||
@order.confirm!
|
||||
BackorderJob.check_stock(@order)
|
||||
order_completion_reset @order
|
||||
end
|
||||
|
||||
|
||||
@@ -392,8 +392,6 @@ module Spree
|
||||
|
||||
deliver_order_confirmation_email
|
||||
|
||||
BackorderJob.check_stock(self)
|
||||
|
||||
state_changes.create(
|
||||
previous_state: 'cart',
|
||||
next_state: 'complete',
|
||||
|
||||
23
spec/system/consumer/checkout/backorder_spec.rb
Normal file
23
spec/system/consumer/checkout/backorder_spec.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "system_helper"
|
||||
|
||||
RSpec.describe "Checkout" do
|
||||
include ShopWorkflow
|
||||
include CheckoutHelper
|
||||
|
||||
let(:variant) { order.variants.first }
|
||||
let(:order) { create(:order_ready_for_confirmation) }
|
||||
|
||||
before do
|
||||
variant.semantic_links << SemanticLink.new(semantic_id: "https://product")
|
||||
set_order order
|
||||
login_as create(:user)
|
||||
end
|
||||
|
||||
it "triggers a backorder" do
|
||||
visit checkout_step_path(:summary)
|
||||
|
||||
expect { place_order }.to enqueue_job BackorderJob
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user