From 0e691815eaaea57f6d24ceb3d792fb4f975117b0 Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Wed, 13 Mar 2019 14:52:33 +1100 Subject: [PATCH] Use service in admin/orders/customer_details#update --- .../admin/orders/customer_details_controller_decorator.rb | 3 ++- .../admin/orders/customer_details_controller_spec.rb | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/controllers/spree/admin/orders/customer_details_controller_decorator.rb b/app/controllers/spree/admin/orders/customer_details_controller_decorator.rb index 38bd15142a..7f22b4808d 100644 --- a/app/controllers/spree/admin/orders/customer_details_controller_decorator.rb +++ b/app/controllers/spree/admin/orders/customer_details_controller_decorator.rb @@ -6,7 +6,8 @@ Spree::Admin::Orders::CustomerDetailsController.class_eval do if params[:guest_checkout] == "false" @order.associate_user!(Spree.user_class.find_by_email(@order.email)) end - while @order.next; end + + AdvanceOrderService.new(@order).call @order.shipments.map &:refresh_rates flash[:success] = Spree.t('customer_details_updated') diff --git a/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb b/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb index 437d7f8d4e..a8b193458d 100644 --- a/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +++ b/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb @@ -39,6 +39,14 @@ describe Spree::Admin::Orders::CustomerDetailsController, type: :controller do login_as_enterprise_user [order.distributor] end + it "advances the order state" do + expect { + spree_post :update, order: { email: user.email, bill_address_attributes: address_params, + ship_address_attributes: address_params }, + order_id: order.number + }.to change { order.reload.state }.from("cart").to("complete") + end + context "when adding details of a registered user" do it "redirects to shipments on success" do spree_post :update, order: { email: user.email, bill_address_attributes: address_params, ship_address_attributes: address_params }, order_id: order.number