diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index 9db18d88c4..9b7bf9b1d6 100644 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -2,7 +2,7 @@ module Api class OrdersController < BaseController def show authorize! :read, order - render json: order, serializer: Api::OrderDetailedSerializer + render json: order, serializer: Api::OrderDetailedSerializer, current_order: order end def index diff --git a/spec/controllers/api/orders_controller_spec.rb b/spec/controllers/api/orders_controller_spec.rb index 1412024770..240a97fc94 100644 --- a/spec/controllers/api/orders_controller_spec.rb +++ b/spec/controllers/api/orders_controller_spec.rb @@ -218,8 +218,16 @@ module Api expect_order end + it "can view an order with weight calculator (this validates case where options[current_order] is nil on the shipping method serializer)" do + order.shipping_method.update_attribute(:calculator, create(:weight_calculator, calculable: order)) + allow(controller).to receive(:current_order).and_return order + get :show, id: order.number + expect_order + end + it "returns an order with all required fields" do get :show, id: order.number + expect_order expect(json_response.symbolize_keys.keys).to include(*order_detailed_attributes)