diff --git a/app/controllers/spree/admin/orders_controller.rb b/app/controllers/spree/admin/orders_controller.rb index 5fa22fd0a1..38da5e812e 100644 --- a/app/controllers/spree/admin/orders_controller.rb +++ b/app/controllers/spree/admin/orders_controller.rb @@ -78,7 +78,7 @@ module Spree end def resend - Spree::OrderMailer.confirm_email_for_customer(@order.id, true).deliver_now + Spree::OrderMailer.confirm_email_for_customer(@order.id, true).deliver_later flash[:success] = t('admin.orders.order_email_resent') respond_with(@order) { |format| format.html { redirect_to :back } } @@ -87,7 +87,7 @@ module Spree def invoice pdf = InvoiceRenderer.new.render_to_string(@order) - Spree::OrderMailer.invoice_email(@order.id, pdf).deliver_now + Spree::OrderMailer.invoice_email(@order.id, pdf).deliver_later flash[:success] = t('admin.orders.invoice_email_sent') respond_with(@order) { |format| diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 55aee6e85b..4649b5a0e6 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -824,7 +824,7 @@ module Spree def after_cancel shipments.each(&:cancel!) - OrderMailer.cancel_email(id).deliver_now + OrderMailer.cancel_email(id).deliver_later self.payment_state = 'credit_owed' unless shipped? end diff --git a/app/models/spree/shipment.rb b/app/models/spree/shipment.rb index 10309bb156..e706c3dbac 100644 --- a/app/models/spree/shipment.rb +++ b/app/models/spree/shipment.rb @@ -319,7 +319,7 @@ module Spree end def send_shipped_email - ShipmentMailer.shipped_email(id).deliver_now + ShipmentMailer.shipped_email(id).deliver_later end def update_adjustment_included_tax diff --git a/engines/order_management/app/services/order_management/subscriptions/summarizer.rb b/engines/order_management/app/services/order_management/subscriptions/summarizer.rb index fe02a9ad9c..24221c9c38 100644 --- a/engines/order_management/app/services/order_management/subscriptions/summarizer.rb +++ b/engines/order_management/app/services/order_management/subscriptions/summarizer.rb @@ -37,13 +37,13 @@ module OrderManagement def send_placement_summary_emails @summaries.values.each do |summary| - SubscriptionMailer.placement_summary_email(summary).deliver_now + SubscriptionMailer.placement_summary_email(summary).deliver_later end end def send_confirmation_summary_emails @summaries.values.each do |summary| - SubscriptionMailer.confirmation_summary_email(summary).deliver_now + SubscriptionMailer.confirmation_summary_email(summary).deliver_later end end diff --git a/engines/order_management/spec/services/order_management/subscriptions/summarizer_spec.rb b/engines/order_management/spec/services/order_management/subscriptions/summarizer_spec.rb index 0c47277e47..f0d8f9dbe0 100644 --- a/engines/order_management/spec/services/order_management/subscriptions/summarizer_spec.rb +++ b/engines/order_management/spec/services/order_management/subscriptions/summarizer_spec.rb @@ -100,7 +100,7 @@ module OrderManagement let(:summary1) { double(:summary) } let(:summary2) { double(:summary) } let(:summaries) { { 1 => summary1, 2 => summary2 } } - let(:mail_mock) { double(:mail, deliver_now: true) } + let(:mail_mock) { double(:mail, deliver_later: true) } before do summarizer.instance_variable_set(:@summaries, summaries) @@ -116,7 +116,7 @@ module OrderManagement let(:summary1) { double(:summary) } let(:summary2) { double(:summary) } let(:summaries) { { 1 => summary1, 2 => summary2 } } - let(:mail_mock) { double(:mail, deliver_now: true) } + let(:mail_mock) { double(:mail, deliver_later: true) } before do summarizer.instance_variable_set(:@summaries, summaries) diff --git a/spec/controllers/admin/proxy_orders_controller_spec.rb b/spec/controllers/admin/proxy_orders_controller_spec.rb index 7c06b6eeb1..46436dedda 100644 --- a/spec/controllers/admin/proxy_orders_controller_spec.rb +++ b/spec/controllers/admin/proxy_orders_controller_spec.rb @@ -78,7 +78,7 @@ describe Admin::ProxyOrdersController, type: :controller do before do # Processing order to completion - allow(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_now: true) } + allow(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_later: true) } OrderWorkflow.new(order).complete! proxy_order.reload proxy_order.cancel diff --git a/spec/controllers/admin/subscriptions_controller_spec.rb b/spec/controllers/admin/subscriptions_controller_spec.rb index ec88c10bae..4ef466f3e1 100644 --- a/spec/controllers/admin/subscriptions_controller_spec.rb +++ b/spec/controllers/admin/subscriptions_controller_spec.rb @@ -446,7 +446,7 @@ describe Admin::SubscriptionsController, type: :controller do before do params[:open_orders] = 'cancel' allow(Spree::OrderMailer).to receive(:cancel_email) { mail_mock } - allow(mail_mock).to receive(:deliver_now) + allow(mail_mock).to receive(:deliver_later) end it 'renders the cancelled subscription as json, and cancels the open order' do @@ -457,7 +457,7 @@ describe Admin::SubscriptionsController, type: :controller do expect(subscription.reload.canceled_at).to be_within(5.seconds).of Time.zone.now expect(order.reload.state).to eq 'canceled' expect(proxy_order.reload.canceled_at).to be_within(5.seconds).of Time.zone.now - expect(mail_mock).to have_received(:deliver_now) + expect(mail_mock).to have_received(:deliver_later) end end end @@ -545,7 +545,7 @@ describe Admin::SubscriptionsController, type: :controller do before do params[:open_orders] = 'cancel' allow(Spree::OrderMailer).to receive(:cancel_email) { mail_mock } - allow(mail_mock).to receive(:deliver_now) + allow(mail_mock).to receive(:deliver_later) end it 'renders the paused subscription as json, and cancels the open order' do @@ -556,7 +556,7 @@ describe Admin::SubscriptionsController, type: :controller do expect(subscription.reload.paused_at).to be_within(5.seconds).of Time.zone.now expect(order.reload.state).to eq 'canceled' expect(proxy_order.reload.canceled_at).to be_within(5.seconds).of Time.zone.now - expect(mail_mock).to have_received(:deliver_now) + expect(mail_mock).to have_received(:deliver_later) end end end diff --git a/spec/controllers/spree/admin/orders_controller_spec.rb b/spec/controllers/spree/admin/orders_controller_spec.rb index 301dea10c4..817e1c3b3a 100644 --- a/spec/controllers/spree/admin/orders_controller_spec.rb +++ b/spec/controllers/spree/admin/orders_controller_spec.rb @@ -170,17 +170,20 @@ describe Spree::Admin::OrdersController, type: :controller do end context "when the distributor's ABN has been set" do - before { distributor.update_attribute(:abn, "123") } + let(:mail_mock) { double(:mailer_mock, deliver_later: true) } + before do - ActionMailer::Base.perform_deliveries = true + allow(Spree::OrderMailer).to receive(:invoice_email) { mail_mock } + distributor.update_attribute(:abn, "123") setup_email end it "should allow me to send order invoices" do - expect do - spree_get :invoice, params - end.to change{ Spree::OrderMailer.deliveries.count }.by(1) + spree_get :invoice, params + expect(response).to redirect_to spree.edit_admin_order_path(order) + expect(Spree::OrderMailer).to have_received(:invoice_email) + expect(mail_mock).to have_received(:deliver_later) end end end diff --git a/spec/models/proxy_order_spec.rb b/spec/models/proxy_order_spec.rb index 76fe554016..fc6ccf9810 100644 --- a/spec/models/proxy_order_spec.rb +++ b/spec/models/proxy_order_spec.rb @@ -30,7 +30,7 @@ describe ProxyOrder, type: :model do let(:order) { create(:completed_order_with_totals) } it "returns true and sets canceled_at to the current time, and cancels the order" do - expect(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_now: true) } + expect(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_later: true) } expect(proxy_order.cancel).to be true expect_cancelled_now proxy_order expect(order.reload.state).to eq 'canceled' @@ -107,7 +107,7 @@ describe ProxyOrder, type: :model do context "and the order has already been cancelled" do before do - allow(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_now: true) } + allow(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_later: true) } while !order.completed? do break unless order.next! end order.cancel end @@ -147,7 +147,7 @@ describe ProxyOrder, type: :model do context "and the order has been cancelled" do before do - allow(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_now: true) } + allow(Spree::OrderMailer).to receive(:cancel_email) { double(:email, deliver_later: true) } while !order.completed? do break unless order.next! end order.cancel end diff --git a/spec/models/spree/order/state_machine_spec.rb b/spec/models/spree/order/state_machine_spec.rb index bc7177907f..ce59e1b212 100644 --- a/spec/models/spree/order/state_machine_spec.rb +++ b/spec/models/spree/order/state_machine_spec.rb @@ -123,7 +123,7 @@ describe Spree::Order do order_id = args[0] mail_message } - expect(mail_message).to receive :deliver_now + expect(mail_message).to receive :deliver_later order.cancel! expect(order_id).to eq order.id end @@ -133,7 +133,7 @@ describe Spree::Order do allow(shipment).to receive(:ensure_correct_adjustment) allow(shipment).to receive(:update_order) allow(Spree::OrderMailer).to receive(:cancel_email).and_return(mail_message = double) - allow(mail_message).to receive :deliver_now + allow(mail_message).to receive :deliver_later allow(order).to receive :has_available_shipment end @@ -143,7 +143,7 @@ describe Spree::Order do before do # Stubs methods that cause unwanted side effects in this test allow(Spree::OrderMailer).to receive(:cancel_email).and_return(mail_message = double) - allow(mail_message).to receive :deliver_now + allow(mail_message).to receive :deliver_later allow(order).to receive :has_available_shipment allow(order).to receive :restock_items! allow(shipment).to receive(:cancel!) diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index 85ed732112..2361ff3a21 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -179,7 +179,7 @@ describe Spree::Order do # Stub this method as it's called due to a callback # and it's irrelevant to this test allow(order).to receive :has_available_shipment - allow(Spree::OrderMailer).to receive_message_chain :confirm_email, :deliver_now + allow(Spree::OrderMailer).to receive_message_chain :confirm_email, :deliver_later adjustments = double allow(order).to receive_messages adjustments: adjustments expect(adjustments).to receive(:update_all).with(state: 'closed') diff --git a/spec/models/spree/shipment_spec.rb b/spec/models/spree/shipment_spec.rb index 6e2758c153..991bba405b 100644 --- a/spec/models/spree/shipment_spec.rb +++ b/spec/models/spree/shipment_spec.rb @@ -376,7 +376,7 @@ describe Spree::Shipment do shipment_id = args[0] mail_message } - expect(mail_message).to receive :deliver_now + expect(mail_message).to receive :deliver_later shipment.ship! expect(shipment_id).to eq shipment.id end