From e3ea60fda55229ff7e90b7db9ef570808d0b4674 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Wed, 14 Mar 2018 16:22:39 +1100 Subject: [PATCH] Process proxy orders even if underlying subscription has been paused or cancelled --- app/jobs/subscription_confirm_job.rb | 1 - spec/jobs/subscription_confirm_job_spec.rb | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/jobs/subscription_confirm_job.rb b/app/jobs/subscription_confirm_job.rb index f2788288ff..d9c284d7f8 100644 --- a/app/jobs/subscription_confirm_job.rb +++ b/app/jobs/subscription_confirm_job.rb @@ -25,7 +25,6 @@ class SubscriptionConfirmJob def proxy_orders ProxyOrder.not_canceled.where('confirmed_at IS NULL AND placed_at IS NOT NULL') .joins(:order_cycle).merge(recently_closed_order_cycles) - .joins(:subscription).merge(Subscription.not_canceled.not_paused) .joins(:order).merge(Spree::Order.complete) end diff --git a/spec/jobs/subscription_confirm_job_spec.rb b/spec/jobs/subscription_confirm_job_spec.rb index 8dc425c087..f1b64b1343 100644 --- a/spec/jobs/subscription_confirm_job_spec.rb +++ b/spec/jobs/subscription_confirm_job_spec.rb @@ -16,21 +16,21 @@ describe SubscriptionConfirmJob do expect(proxy_orders).to include proxy_order end + it "returns proxy orders for paused subscriptions" do + subscription.update_attributes!(paused_at: 1.minute.ago) + expect(proxy_orders).to include proxy_order + end + + it "returns proxy orders for cancelled subscriptions" do + subscription.update_attributes!(canceled_at: 1.minute.ago) + expect(proxy_orders).to include proxy_order + end + it "ignores proxy orders where the OC closed more than 1 hour ago" do proxy_order.update_attributes!(order_cycle_id: order_cycle2.id) expect(proxy_orders).to_not include proxy_order end - it "ignores proxy orders for paused subscriptions" do - subscription.update_attributes!(paused_at: 1.minute.ago) - expect(proxy_orders).to_not include proxy_order - end - - it "ignores proxy orders for cancelled subscriptions" do - subscription.update_attributes!(canceled_at: 1.minute.ago) - expect(proxy_orders).to_not include proxy_order - end - it "ignores cancelled proxy orders" do proxy_order.update_attributes!(canceled_at: 5.minutes.ago) expect(proxy_orders).to_not include proxy_order