diff --git a/app/jobs/subscription_confirm_job.rb b/app/jobs/subscription_confirm_job.rb index f0c8e8d07f..898eb4382c 100644 --- a/app/jobs/subscription_confirm_job.rb +++ b/app/jobs/subscription_confirm_job.rb @@ -25,7 +25,7 @@ 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(:order).merge(Spree::Order.complete) + .joins(:order).merge(Spree::Order.complete.not_state('canceled')) end def recently_closed_order_cycles diff --git a/spec/jobs/subscription_confirm_job_spec.rb b/spec/jobs/subscription_confirm_job_spec.rb index 3c6383f196..0d86ab0a18 100644 --- a/spec/jobs/subscription_confirm_job_spec.rb +++ b/spec/jobs/subscription_confirm_job_spec.rb @@ -58,6 +58,12 @@ describe SubscriptionConfirmJob do proxy_order.update_attributes!(confirmed_at: 1.second.ago) expect(proxy_orders).to_not include proxy_order end + + it "ignores orders that have been cancelled" do + setup_email + proxy_order.order.cancel! + expect(proxy_orders).to_not include proxy_order + end end describe "performing the job" do