mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-01 02:03:22 +00:00
move advance_to_payment on order's details page from edit to update
This commit is contained in:
@@ -44,8 +44,6 @@ module Spree
|
||||
|
||||
def edit
|
||||
@order.shipments.map(&:refresh_rates)
|
||||
|
||||
OrderWorkflow.new(@order).advance_to_payment
|
||||
@order.errors.clear
|
||||
end
|
||||
|
||||
@@ -53,6 +51,7 @@ module Spree
|
||||
on_update
|
||||
|
||||
if params[:set_distribution_step] && @order.update(order_params)
|
||||
OrderWorkflow.new(@order).advance_to_payment if @order.state.in? ["cart", "address", "delivery"]
|
||||
return redirect_to spree.admin_order_customer_path(@order)
|
||||
end
|
||||
|
||||
@@ -65,6 +64,7 @@ module Spree
|
||||
return redirect_to spree.edit_admin_order_path(@order)
|
||||
end
|
||||
|
||||
OrderWorkflow.new(@order).advance_to_payment if @order.state.in? ["cart", "address", "delivery"]
|
||||
if @order.complete?
|
||||
redirect_to spree.edit_admin_order_path(@order)
|
||||
else
|
||||
|
||||
@@ -8,12 +8,6 @@ describe Spree::Admin::OrdersController, type: :controller do
|
||||
|
||||
before { controller_login_as_admin }
|
||||
|
||||
it "advances the order state" do
|
||||
expect {
|
||||
spree_get :edit, id: order
|
||||
}.to change { order.reload.state }.from("cart").to("payment")
|
||||
end
|
||||
|
||||
describe "view" do
|
||||
render_views
|
||||
|
||||
@@ -229,9 +223,19 @@ describe Spree::Admin::OrdersController, type: :controller do
|
||||
end
|
||||
|
||||
context "with line items" do
|
||||
let!(:distributor){ create(:distributor_enterprise) }
|
||||
let!(:shipment){ create(:shipment) }
|
||||
let!(:order_cycle){ create(:simple_order_cycle, distributors: [distributor], variants: [line_item.variant]) }
|
||||
|
||||
before do
|
||||
line_item.product.supplier = distributor
|
||||
order.shipments << shipment
|
||||
order.line_items << line_item
|
||||
order.save
|
||||
distributor.shipping_methods << shipment.shipping_method
|
||||
order.select_shipping_method(shipment.shipping_method.id)
|
||||
order.save!
|
||||
params[:order][:distributor_id] = distributor.id
|
||||
params[:order][:order_cycle_id] = order_cycle.id
|
||||
params[:order][:line_items_attributes] =
|
||||
[{ id: line_item.id, quantity: line_item.quantity }]
|
||||
end
|
||||
@@ -239,9 +243,11 @@ describe Spree::Admin::OrdersController, type: :controller do
|
||||
context "and no errors" do
|
||||
it "updates distribution charges and redirects to payments page" do
|
||||
expect_any_instance_of(Spree::Order).to receive(:recreate_all_fees!)
|
||||
allow_any_instance_of(Spree::Order).to receive(:ensure_available_shipping_rates).and_return(true)
|
||||
|
||||
spree_put :update, params
|
||||
|
||||
expect {
|
||||
spree_put :update, params
|
||||
}.to change { order.reload.state }.from("cart").to("payment")
|
||||
expect(response).to redirect_to spree.admin_order_payments_path(order)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user