Change various Mailer invocations from #deliver_now to #deliver_later

This commit is contained in:
Matt-Yorkley
2021-01-08 17:56:06 +00:00
parent 3e6445c51c
commit ff962c1c9b
12 changed files with 29 additions and 26 deletions

View File

@@ -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|

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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!)

View File

@@ -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')

View File

@@ -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