diff --git a/app/serializers/api/order_detailed_serializer.rb b/app/serializers/api/order_detailed_serializer.rb index 424f7d91b7..e3fdbb2382 100644 --- a/app/serializers/api/order_detailed_serializer.rb +++ b/app/serializers/api/order_detailed_serializer.rb @@ -5,8 +5,16 @@ module Api has_one :bill_address, serializer: Api::AddressSerializer has_many :line_items, serializer: Api::LineItemSerializer - has_many :adjustments, serializer: Api::AdjustmentSerializer has_many :payments, serializer: Api::PaymentSerializer + + attributes :adjustments + + def adjustments + adjustments = object.all_adjustments.where( + "adjustable_type IN ('Spree::Order','Spree::Shipment')" + ).order("label DESC") + ActiveModel::ArraySerializer.new(adjustments, each_serializer: Api::AdjustmentSerializer) + end end end diff --git a/spec/controllers/api/orders_controller_spec.rb b/spec/controllers/api/orders_controller_spec.rb index 6b182578cd..e93c6d300b 100644 --- a/spec/controllers/api/orders_controller_spec.rb +++ b/spec/controllers/api/orders_controller_spec.rb @@ -248,7 +248,7 @@ module Api ) expect(json_response[:adjustments].second).to include( 'label' => "Shipping", - 'amount' => order.adjustments.shipping.first.amount.to_s + 'amount' => order.shipment_adjustments.first.amount.to_s ) expect(json_response[:payments].first[:amount]).to eq order.payments.first.amount.to_s