From 2890b29eec6ebd16feda987ed2f5ce634ed5ff40 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Tue, 2 May 2023 16:13:24 +0200 Subject: [PATCH] Do not test on order total value to go to payment state --- app/models/spree/order.rb | 10 +++++----- spec/models/spree/order/checkout_spec.rb | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 40dfbcb093e..dadeb035bbd 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -22,7 +22,7 @@ class Order < ApplicationRecord go_to_state :delivery go_to_state :payment, if: ->(order) { order.update_totals - order.payment_required? + !order.skip_payment_for_subscription? } go_to_state :confirmation, if: ->(order) { OpenFoodNetwork::FeatureToggle.enabled? :split_checkout, order.created_by @@ -208,6 +208,10 @@ def payment_required? total.to_f > 0.0 && !skip_payment_for_subscription? end + def skip_payment_for_subscription? + subscription.present? && order_cycle.orders_close_at&.>(Time.zone.now) + end + # Returns the relevant zone (if any) to be used for taxation purposes. # Uses default tax zone unless there is a specific match def tax_zone @@ -701,10 +705,6 @@ def adjustments_fetcher @adjustments_fetcher ||= OrderAdjustmentsFetcher.new(self) end - def skip_payment_for_subscription? - subscription.present? && order_cycle.orders_close_at&.>(Time.zone.now) - end - def require_customer? persisted? && state != "cart" end diff --git a/spec/models/spree/order/checkout_spec.rb b/spec/models/spree/order/checkout_spec.rb index 76912a62e5a..2ab1e927463 100644 --- a/spec/models/spree/order/checkout_spec.rb +++ b/spec/models/spree/order/checkout_spec.rb @@ -34,7 +34,7 @@ context "#checkout_steps" do context "when payment not required" do - before { allow(order).to receive_messages payment_required?: false } + before { allow(order).to receive_messages skip_payment_for_subscription?: true } specify do expect(order.checkout_steps).to eq %w(address delivery complete) end @@ -109,7 +109,7 @@ context "without payment required" do before do - allow(order).to receive_messages payment_required?: false + allow(order).to receive_messages skip_payment_for_subscription?: true end it "transitions to complete" do