From f5e77cdcec9e76a3fbd1b35fd4c48e6ef38c6bf9 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Wed, 11 Apr 2018 11:08:09 +1000 Subject: [PATCH] Ensure order total for uplaced subscription orders is zero --- app/jobs/subscription_placement_job.rb | 2 +- spec/jobs/subscription_placement_job_spec.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/jobs/subscription_placement_job.rb b/app/jobs/subscription_placement_job.rb index b3d0f7fd83..c4412b93e1 100644 --- a/app/jobs/subscription_placement_job.rb +++ b/app/jobs/subscription_placement_job.rb @@ -34,7 +34,7 @@ class SubscriptionPlacementJob changes = cap_quantity_and_store_changes(order) if order.line_items.where('quantity > 0').empty? - order.adjustments.destroy_all + order.reload.adjustments.destroy_all return send_empty_email(order, changes) end diff --git a/spec/jobs/subscription_placement_job_spec.rb b/spec/jobs/subscription_placement_job_spec.rb index afa0e18f86..0f38c8fdcd 100644 --- a/spec/jobs/subscription_placement_job_spec.rb +++ b/spec/jobs/subscription_placement_job_spec.rb @@ -149,7 +149,8 @@ describe SubscriptionPlacementJob do it "does not place the order, clears, all adjustments, and sends an empty_order email" do expect{ job.send(:process, order) }.to_not change{ order.reload.completed_at }.from(nil) - expect(order.reload.adjustments).to be_empty + expect(order.adjustments).to be_empty + expect(order.total).to eq 0 expect(job).to_not have_received(:send_placement_email) expect(job).to have_received(:send_empty_email) end