From b2e97fe1d228c93c17a740ed7e987183458dfc4b Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sun, 9 May 2021 22:07:35 +0100 Subject: [PATCH] Rename order.update! to order.update_order! and adjustment.update! to adjustment.update_adjustment! --- .../admin/bulk_line_items_controller.rb | 2 +- app/controllers/checkout_controller.rb | 2 +- app/controllers/line_items_controller.rb | 2 +- .../spree/admin/adjustments_controller.rb | 2 +- app/jobs/subscription_confirm_job.rb | 4 ++-- app/jobs/subscription_placement_job.rb | 2 +- app/models/spree/adjustment.rb | 2 +- app/models/spree/inventory_unit.rb | 2 +- app/models/spree/item_adjustments.rb | 6 +++--- app/models/spree/line_item.rb | 2 +- app/models/spree/order.rb | 6 +++--- app/models/spree/return_authorization.rb | 4 ++-- app/services/order_checkout_restart.rb | 2 +- app/services/order_fees_handler.rb | 6 +++--- .../services/order_management/order/updater.rb | 2 +- .../admin/bulk_line_items_controller_spec.rb | 2 +- .../return_authorizations_controller_spec.rb | 2 +- spec/factories/order_factory.rb | 2 +- spec/features/admin/reports_spec.rb | 2 +- spec/features/consumer/account_spec.rb | 2 +- spec/helpers/checkout_helper_spec.rb | 2 +- spec/jobs/subscription_confirm_job_spec.rb | 4 ++-- spec/models/spree/adjustment_spec.rb | 18 +++++++++--------- spec/models/spree/line_item_spec.rb | 2 +- spec/models/spree/order_spec.rb | 4 ++-- spec/models/spree/payment_spec.rb | 16 ++++++++++++++-- spec/models/spree/return_authorization_spec.rb | 4 ++-- spec/models/spree/shipment_spec.rb | 8 ++++---- spec/services/order_syncer_spec.rb | 6 +++--- spec/services/paypal_items_builder_spec.rb | 2 +- 30 files changed, 67 insertions(+), 55 deletions(-) diff --git a/app/controllers/admin/bulk_line_items_controller.rb b/app/controllers/admin/bulk_line_items_controller.rb index 8a289d33cc..b9e95c6e49 100644 --- a/app/controllers/admin/bulk_line_items_controller.rb +++ b/app/controllers/admin/bulk_line_items_controller.rb @@ -35,7 +35,7 @@ module Admin if @line_item.update(line_item_params) order.update_line_item_fees! @line_item order.update_order_fees! - order.update! + order.update_order! render body: nil, status: :no_content # No Content, does not trigger ng resource auto-update else render json: { errors: @line_item.errors }, status: :precondition_failed diff --git a/app/controllers/checkout_controller.rb b/app/controllers/checkout_controller.rb index a1c69500bf..5ec03bba20 100644 --- a/app/controllers/checkout_controller.rb +++ b/app/controllers/checkout_controller.rb @@ -55,7 +55,7 @@ class CheckoutController < ::BaseController flash[:error] = I18n.t("checkout.failed") action_failed(e) ensure - @order.update! + @order.update_order! end # Clears the cached order. Required for #current_order to return a new order diff --git a/app/controllers/line_items_controller.rb b/app/controllers/line_items_controller.rb index 81cfd0ba5f..4459249ba9 100644 --- a/app/controllers/line_items_controller.rb +++ b/app/controllers/line_items_controller.rb @@ -43,7 +43,7 @@ class LineItemsController < BaseController order.update_shipping_fees! order.update_payment_fees! order.update_order_fees! - order.update! + order.update_order! order.create_tax_charge! end end diff --git a/app/controllers/spree/admin/adjustments_controller.rb b/app/controllers/spree/admin/adjustments_controller.rb index d5729a3477..81e2194605 100644 --- a/app/controllers/spree/admin/adjustments_controller.rb +++ b/app/controllers/spree/admin/adjustments_controller.rb @@ -14,7 +14,7 @@ module Spree def update_order @order.reload - @order.update! + @order.update_order! end def collection diff --git a/app/jobs/subscription_confirm_job.rb b/app/jobs/subscription_confirm_job.rb index 53adc4725b..80a4517a43 100644 --- a/app/jobs/subscription_confirm_job.rb +++ b/app/jobs/subscription_confirm_job.rb @@ -90,13 +90,13 @@ class SubscriptionConfirmJob < ActiveJob::Base end def send_confirmation_email(order) - order.update! + order.update_order! record_success(order) SubscriptionMailer.confirmation_email(order).deliver_now end def send_failed_payment_email(order, error_message = nil) - order.update! + order.update_order! record_and_log_error(:failed_payment, order, error_message) SubscriptionMailer.failed_payment_email(order).deliver_now rescue StandardError => e diff --git a/app/jobs/subscription_placement_job.rb b/app/jobs/subscription_placement_job.rb index 69bcaea69e..2d5d726bb3 100644 --- a/app/jobs/subscription_placement_job.rb +++ b/app/jobs/subscription_placement_job.rb @@ -77,7 +77,7 @@ class SubscriptionPlacementJob < ActiveJob::Base def handle_empty_order(order, changes) order.reload.all_adjustments.destroy_all - order.update! + order.update_order! send_empty_email(order, changes) end diff --git a/app/models/spree/adjustment.rb b/app/models/spree/adjustment.rb index c3efde7ab5..ead01caa77 100644 --- a/app/models/spree/adjustment.rb +++ b/app/models/spree/adjustment.rb @@ -96,7 +96,7 @@ module Spree # more than on line items at once via accepted_nested_attributes the order # object on the association would be in a old state and therefore the # adjustment calculations would not performed on proper values - def update!(calculable = nil, force: false) + def update_adjustment!(calculable = nil, force: false) return amount if immutable? && !force if originator.present? diff --git a/app/models/spree/inventory_unit.rb b/app/models/spree/inventory_unit.rb index 7bad1f998c..aea1935d07 100644 --- a/app/models/spree/inventory_unit.rb +++ b/app/models/spree/inventory_unit.rb @@ -66,7 +66,7 @@ module Spree end def update_order - order.update! + order.update_order! end end end diff --git a/app/models/spree/item_adjustments.rb b/app/models/spree/item_adjustments.rb index aedd8f0fbf..bbcc063ac0 100644 --- a/app/models/spree/item_adjustments.rb +++ b/app/models/spree/item_adjustments.rb @@ -17,9 +17,9 @@ module Spree end def update_adjustments - adjustment_total = adjustments.additional.map(&:update!).compact.sum - included_tax_total = tax_adjustments.inclusive.reload.map(&:update!).compact.sum - additional_tax_total = tax_adjustments.additional.reload.map(&:update!).compact.sum + adjustment_total = adjustments.additional.map(&:update_adjustment!).compact.sum + included_tax_total = tax_adjustments.inclusive.reload.map(&:update_adjustment!).compact.sum + additional_tax_total = tax_adjustments.additional.reload.map(&:update_adjustment!).compact.sum item.update_columns( included_tax_total: included_tax_total, diff --git a/app/models/spree/line_item.rb b/app/models/spree/line_item.rb index 61bed0c1d0..7e01b9be1a 100644 --- a/app/models/spree/line_item.rb +++ b/app/models/spree/line_item.rb @@ -230,7 +230,7 @@ module Spree # update the order totals, etc. order.create_tax_charge! - order.update! + order.update_order! end def update_inventory_before_destroy diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index ba4e8f5625..0a3042c418 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -212,7 +212,7 @@ module Spree @updater ||= OrderManagement::Order::Updater.new(self) end - def update! + def update_order! updater.update end @@ -748,8 +748,8 @@ module Spree def update_adjustment!(adjustment) return if adjustment.finalized? - adjustment.update!(force: true) - update! + adjustment.update_adjustment!(force: true) + update_order! end # object_params sets the payment amount to the order total, but it does this diff --git a/app/models/spree/return_authorization.rb b/app/models/spree/return_authorization.rb index 0361aaf081..fae012a084 100644 --- a/app/models/spree/return_authorization.rb +++ b/app/models/spree/return_authorization.rb @@ -66,7 +66,7 @@ module Spree order.shipped_shipments.collect{ |s| s.inventory_units.to_a }.flatten end - # Used when Adjustment#update! wants to update the related adjustment + # Used when Adjustment#update_adjustment! wants to update the related adjustment def compute_amount(*_args) -amount.abs end @@ -105,7 +105,7 @@ module Spree ) order.return if inventory_units.all?(&:returned?) - order.update! + order.update_order! end def allow_receive? diff --git a/app/services/order_checkout_restart.rb b/app/services/order_checkout_restart.rb index 58d7c29d76..f43380636f 100644 --- a/app/services/order_checkout_restart.rb +++ b/app/services/order_checkout_restart.rb @@ -13,7 +13,7 @@ class OrderCheckoutRestart clear_shipments clear_payments - order.reload.update! + order.reload.update_order! end private diff --git a/app/services/order_fees_handler.rb b/app/services/order_fees_handler.rb index 76e3695c90..14e7300a0b 100644 --- a/app/services/order_fees_handler.rb +++ b/app/services/order_fees_handler.rb @@ -24,7 +24,7 @@ class OrderFeesHandler order.updater.persist_totals end - order.update! + order.update_order! end def create_line_item_fees! @@ -43,13 +43,13 @@ class OrderFeesHandler def update_line_item_fees!(line_item) line_item.adjustments.enterprise_fee.each do |fee| - fee.update!(line_item, force: true) + fee.update_adjustment!(line_item, force: true) end end def update_order_fees! order.adjustments.enterprise_fee.where(adjustable_type: 'Spree::Order').each do |fee| - fee.update!(order, force: true) + fee.update_adjustment!(order, force: true) end end diff --git a/engines/order_management/app/services/order_management/order/updater.rb b/engines/order_management/app/services/order_management/order/updater.rb index ade2663328..fb1f7cda01 100644 --- a/engines/order_management/app/services/order_management/order/updater.rb +++ b/engines/order_management/app/services/order_management/order/updater.rb @@ -129,7 +129,7 @@ module OrderManagement end def update_all_adjustments - order.all_adjustments.reload.each(&:update!) + order.all_adjustments.reload.each(&:update_adjustment!) end def before_save_hook diff --git a/spec/controllers/admin/bulk_line_items_controller_spec.rb b/spec/controllers/admin/bulk_line_items_controller_spec.rb index 3865d3ce0e..e071f0dffc 100644 --- a/spec/controllers/admin/bulk_line_items_controller_spec.rb +++ b/spec/controllers/admin/bulk_line_items_controller_spec.rb @@ -212,7 +212,7 @@ describe Admin::BulkLineItemsController, type: :controller do expect(line_item1.order).to receive(:reload).with(lock: true) expect(line_item1.order).to receive(:update_line_item_fees!) expect(line_item1.order).to receive(:update_order_fees!) - expect(line_item1.order).to receive(:update!).twice + expect(line_item1.order).to receive(:update_order!).twice spree_put :update, params end diff --git a/spec/controllers/spree/admin/return_authorizations_controller_spec.rb b/spec/controllers/spree/admin/return_authorizations_controller_spec.rb index 79a5a9fb7f..982944065a 100644 --- a/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +++ b/spec/controllers/spree/admin/return_authorizations_controller_spec.rb @@ -17,7 +17,7 @@ module Spree # Pay the order order.payments.first.complete - order.update! + order.update_order! # Ship the order order.shipment.ship! diff --git a/spec/factories/order_factory.rb b/spec/factories/order_factory.rb index eab716bd0b..926020546d 100644 --- a/spec/factories/order_factory.rb +++ b/spec/factories/order_factory.rb @@ -32,7 +32,7 @@ FactoryBot.define do create_list(:line_item, evaluator.line_items_count, order: order) order.line_items.reload - order.update! + order.update_order! end factory :completed_order_with_totals do diff --git a/spec/features/admin/reports_spec.rb b/spec/features/admin/reports_spec.rb index ec3799b646..758d7e6d68 100644 --- a/spec/features/admin/reports_spec.rb +++ b/spec/features/admin/reports_spec.rb @@ -203,7 +203,7 @@ feature ' order1.select_shipping_method shipping_method.id order1.reload.recreate_all_fees! order1.create_tax_charge! - order1.update! + order1.update_order! order1.finalize! login_as_admin_and_visit spree.admin_reports_path diff --git a/spec/features/consumer/account_spec.rb b/spec/features/consumer/account_spec.rb index 80f57b53c5..ce85e5e9d3 100644 --- a/spec/features/consumer/account_spec.rb +++ b/spec/features/consumer/account_spec.rb @@ -29,7 +29,7 @@ feature ' let!(:credit_order) { create(:order_with_credit_payment, distributor: distributor_credit, user: user) } before do - credit_order.update! + credit_order.update_order! end it "shows all hubs that have been ordered from with balance or credit" do diff --git a/spec/helpers/checkout_helper_spec.rb b/spec/helpers/checkout_helper_spec.rb index b9fe4f54c9..2ebd0f7c48 100644 --- a/spec/helpers/checkout_helper_spec.rb +++ b/spec/helpers/checkout_helper_spec.rb @@ -41,7 +41,7 @@ describe CheckoutHelper, type: :helper do } before do - order.update! + order.update_order! # Sanity check initial adjustments state expect(order.shipment_adjustments.count).to eq 1 expect(order.adjustments.enterprise_fee.count).to eq 1 diff --git a/spec/jobs/subscription_confirm_job_spec.rb b/spec/jobs/subscription_confirm_job_spec.rb index 1a03217ae4..a8373553b8 100644 --- a/spec/jobs/subscription_confirm_job_spec.rb +++ b/spec/jobs/subscription_confirm_job_spec.rb @@ -254,7 +254,7 @@ describe SubscriptionConfirmJob do end it "records a success and sends the email" do - expect(order).to receive(:update!) + expect(order).to receive(:update_order!) expect(job).to receive(:record_success).with(order).once job.send(:send_confirmation_email, order) expect(SubscriptionMailer).to have_received(:confirmation_email).with(order) @@ -271,7 +271,7 @@ describe SubscriptionConfirmJob do end it "records and logs an error and sends the email" do - expect(order).to receive(:update!) + expect(order).to receive(:update_order!) expect(job).to receive(:record_and_log_error).with(:failed_payment, order, nil).once job.send(:send_failed_payment_email, order) expect(SubscriptionMailer).to have_received(:failed_payment_email).with(order) diff --git a/spec/models/spree/adjustment_spec.rb b/spec/models/spree/adjustment_spec.rb index d85fb3d3a3..5d66493d64 100644 --- a/spec/models/spree/adjustment_spec.rb +++ b/spec/models/spree/adjustment_spec.rb @@ -16,7 +16,7 @@ module Spree end end - context "#update!" do + context "#update_adjustment!" do context "when originator present" do let(:originator) { instance_double(EnterpriseFee, compute_amount: 10.0) } @@ -27,31 +27,31 @@ module Spree it "should do nothing when closed" do adjustment.close expect(originator).not_to receive(:compute_amount) - adjustment.update! + adjustment.update_adjustment! end it "should do nothing when finalized" do adjustment.finalize expect(originator).not_to receive(:compute_amount) - adjustment.update! + adjustment.update_adjustment! end it "should ask the originator to recalculate the amount" do expect(originator).to receive(:compute_amount) - adjustment.update! + adjustment.update_adjustment! end context "using the :force argument" do it "should update adjustments without changing their state" do expect(originator).to receive(:compute_amount) - adjustment.update!(force: true) + adjustment.update_adjustment!(force: true) expect(adjustment.state).to eq "open" end it "should update closed adjustments" do adjustment.close expect(originator).to receive(:compute_amount) - adjustment.update!(force: true) + adjustment.update_adjustment!(force: true) end end end @@ -59,7 +59,7 @@ module Spree it "should do nothing when originator is nil" do allow(adjustment).to receive_messages originator: nil expect(adjustment).not_to receive(:update_columns) - adjustment.update! + adjustment.update_adjustment! end end @@ -556,9 +556,9 @@ module Spree adjustable: order, amount: 456) } - describe "#update!" do + describe "#update_adjustment!" do it "sets a negative value equal to the return authorization amount" do - expect { return_adjustment.update! }. + expect { return_adjustment.update_adjustment! }. to change { return_adjustment.reload.amount }.to(-123) end end diff --git a/spec/models/spree/line_item_spec.rb b/spec/models/spree/line_item_spec.rb index a43d7fba97..a98685bab4 100644 --- a/spec/models/spree/line_item_spec.rb +++ b/spec/models/spree/line_item_spec.rb @@ -11,7 +11,7 @@ module Spree it 'should update inventory, totals, and tax' do # Regression check for Spree #1481 expect(line_item.order).to receive(:create_tax_charge!) - expect(line_item.order).to receive(:update!) + expect(line_item.order).to receive(:update_order!) line_item.quantity = 2 line_item.save end diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index 20bd80cdfc..e97ac29062 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -481,7 +481,7 @@ describe Spree::Order do before do allow(subject).to receive(:fee_handler) { fee_handler } - allow(subject).to receive(:update!) + allow(subject).to receive(:update_order!) end it "clears all enterprise fee adjustments on the order" do @@ -679,7 +679,7 @@ describe Spree::Order do included_tax: 2, order: order) create(:adjustment, adjustable: shipment, originator: shipping_tax_rate, amount: 10, order: order, state: "closed") - order.update! + order.update_order! end it "returns a sum of all tax on the order" do diff --git a/spec/models/spree/payment_spec.rb b/spec/models/spree/payment_spec.rb index 44f9b586bd..376d8adbde 100644 --- a/spec/models/spree/payment_spec.rb +++ b/spec/models/spree/payment_spec.rb @@ -531,6 +531,7 @@ describe Spree::Payment do end context "#save" do +<<<<<<< HEAD context "completed payments" do it "updates order payment total" do payment = create(:payment, amount: 100, order: order, state: "completed") @@ -571,6 +572,17 @@ describe Spree::Payment do expect(order_updater).to receive(:update_shipment_state) create(:payment, amount: 100, order: order) end +======= + it "should call order#update_order!" do + gateway.name = 'Gateway' + gateway.distributors << create(:distributor_enterprise) + gateway.save! + + order = create(:order) + payment = Spree::Payment.create(amount: 100, order: order, payment_method: gateway) + expect(order).to receive(:update_order!) + payment.save +>>>>>>> 95ea3f27b... Rename order.update! to order.update_order! and adjustment.update! to adjustment.update_adjustment! end context "when profiles are supported" do @@ -846,7 +858,7 @@ describe Spree::Payment do let!(:line_item) { create(:line_item, order: order, quantity: 3, price: 5.00) } before do - order.reload.update! + order.reload.update_order! end context "when order-based calculator" do @@ -878,7 +890,7 @@ describe Spree::Payment do let!(:line_item) { create(:line_item, order: order, quantity: 3, price: 5.00) } before do - order.reload.update! + order.reload.update_order! end context "to Stripe payments" do diff --git a/spec/models/spree/return_authorization_spec.rb b/spec/models/spree/return_authorization_spec.rb index 5fa696f522..9abd0f3d89 100644 --- a/spec/models/spree/return_authorization_spec.rb +++ b/spec/models/spree/return_authorization_spec.rb @@ -72,7 +72,7 @@ describe Spree::ReturnAuthorization do before do allow(return_authorization).to receive_messages(inventory_units: [inventory_unit], amount: -20) allow(Spree::Adjustment).to receive(:create) - allow(order).to receive(:update!) + allow(order).to receive(:update_order!) end it "should mark all inventory units are returned" do @@ -95,7 +95,7 @@ describe Spree::ReturnAuthorization do end it "should update order state" do - expect(order).to receive :update! + expect(order).to receive :update_order! return_authorization.receive! end end diff --git a/spec/models/spree/shipment_spec.rb b/spec/models/spree/shipment_spec.rb index 559c7954bd..1a18b3777c 100644 --- a/spec/models/spree/shipment_spec.rb +++ b/spec/models/spree/shipment_spec.rb @@ -279,7 +279,7 @@ describe Spree::Shipment do context "#cancel" do it 'cancels the shipment' do allow(shipment).to receive(:ensure_correct_adjustment) - allow(shipment.order).to receive(:update!) + allow(shipment.order).to receive(:update_order!) shipment.state = 'pending' expect(shipment).to receive(:after_cancel) @@ -302,7 +302,7 @@ describe Spree::Shipment do context "#resume" do it 'will determine new state based on order' do allow(shipment).to receive(:ensure_correct_adjustment) - allow(shipment.order).to receive(:update!) + allow(shipment.order).to receive(:update_order!) shipment.state = 'canceled' expect(shipment).to receive(:determine_state).and_return(:ready) @@ -324,7 +324,7 @@ describe Spree::Shipment do it 'will determine new state based on order' do allow(shipment).to receive(:ensure_correct_adjustment) - allow(shipment.order).to receive(:update!) + allow(shipment.order).to receive(:update_order!) shipment.state = 'canceled' expect(shipment).to receive(:determine_state).twice.and_return('ready') @@ -337,7 +337,7 @@ describe Spree::Shipment do context "#ship" do before do - allow(order).to receive(:update!) + allow(order).to receive(:update_order!) allow(shipment).to receive_messages(update_order: true, state: 'ready') allow(shipment).to receive_messages(fee_adjustment: charge) allow(shipping_method).to receive(:create_adjustment) diff --git a/spec/services/order_syncer_spec.rb b/spec/services/order_syncer_spec.rb index 44f595099e..93c91448e4 100644 --- a/spec/services/order_syncer_spec.rb +++ b/spec/services/order_syncer_spec.rb @@ -178,7 +178,7 @@ describe OrderSyncer do context "when the bill_address on the order doesn't match that on the subscription" do before do order.bill_address.update!(firstname: "Jane") - order.update! + order.update_order! end it "does not update bill_address or ship_address on the order" do @@ -223,7 +223,7 @@ describe OrderSyncer do context "when the bill_address on the order doesn't match that on the subscription" do before do order.bill_address.update!(firstname: "Jane") - order.update! + order.update_order! end it "does not update bill_address or ship_address on the order" do @@ -351,7 +351,7 @@ describe OrderSyncer do context "when the ship address on the order doesn't match that on the subscription" do before do order.ship_address.update(firstname: "Jane") - order.update! + order.update_order! end it "does not update ship_address on the order" do diff --git a/spec/services/paypal_items_builder_spec.rb b/spec/services/paypal_items_builder_spec.rb index 168089c0d1..db0b0cef8b 100644 --- a/spec/services/paypal_items_builder_spec.rb +++ b/spec/services/paypal_items_builder_spec.rb @@ -56,7 +56,7 @@ describe PaypalItemsBuilder do amount: 23, originator: enterprise_fee, state: "closed") } - before { order.update! } + before { order.update_order! } it "should add up to the order total, minus any additional tax and the shipping cost" do items_total = items.sum { |i| i[:Quantity] * i[:Amount][:value] }