From 65db8560549fd870bb5f67fb9fefb4c8fc8aa319 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Fri, 18 Nov 2016 09:45:06 +1100 Subject: [PATCH] Order confirmation emails are not sent for standing order orders. --- app/models/spree/order_decorator.rb | 4 +++- spec/models/spree/order_spec.rb | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/models/spree/order_decorator.rb b/app/models/spree/order_decorator.rb index 227b6b0189..0c80637d89 100644 --- a/app/models/spree/order_decorator.rb +++ b/app/models/spree/order_decorator.rb @@ -293,7 +293,9 @@ Spree::Order.class_eval do # Overrride of Spree method, that allows us to send separate confirmation emails to user and shop owners # And separately, to skip sending confirmation email completely for user invoice orders def deliver_order_confirmation_email - Delayed::Job.enqueue ConfirmOrderJob.new(id) unless account_invoice? + unless account_invoice? || standing_order.present? + Delayed::Job.enqueue ConfirmOrderJob.new(id) + end end def changes_allowed? diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index a071373551..f053de5dc5 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -572,6 +572,14 @@ describe Spree::Order do order.deliver_order_confirmation_email end.to_not enqueue_job ConfirmOrderJob end + + it "does not send confirmation emails when the order belongs to a standing order" do + create(:standing_order_with_items, orders: [order]) + + expect do + order.deliver_order_confirmation_email + end.to_not enqueue_job ConfirmOrderJob + end end describe "associating a customer" do