Make sure fees are applied when adding the first item to a back office order

This commit is contained in:
Cillian O'Ruanaidh
2024-02-02 13:11:15 +00:00
parent df769192af
commit da71f711c0
2 changed files with 14 additions and 0 deletions

View File

@@ -23,6 +23,8 @@ module Api
OrderWorkflow.new(@order).advance_to_payment if @order.line_items.any?
@order.recreate_all_fees!
render json: @shipment, serializer: Api::ShipmentSerializer, status: :ok
end

View File

@@ -91,6 +91,18 @@ describe Api::V0::ShipmentsController, type: :controller do
expect_error_response
end
it "applies any enterprise fees that are present" do
order_cycle = create(:simple_order_cycle,
coordinator: order.distributor,
coordinator_fees: [create(:enterprise_fee, amount: 20)],
distributors: [order.distributor],
variants: [variant])
order.update!(order_cycle_id: order_cycle.id)
spree_post :create, params
expect(order.line_item_adjustments.where(originator_type: "EnterpriseFee")).to be_present
end
end
it "can make a shipment ready" do