From 5760aed6a6671c47d4532b32aff2f7001343fcc1 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 29 Mar 2019 18:16:55 +1100 Subject: [PATCH] Render only eligible adjustments on the order page https://github.com/openfoodfoundation/openfoodnetwork/issues/3477 The admin orders edit form was displaying adjustments even if they were "not eligible". For example, an additional fee with amount `0` is not eligible. They were already hidden in the adjustments view and we are hiding them in reports. --- app/views/spree/admin/orders/_form.html.haml | 2 +- spec/features/admin/orders_spec.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/views/spree/admin/orders/_form.html.haml b/app/views/spree/admin/orders/_form.html.haml index 1b3c17a72f..bebe2dea1d 100644 --- a/app/views/spree/admin/orders/_form.html.haml +++ b/app/views/spree/admin/orders/_form.html.haml @@ -5,7 +5,7 @@ = render :partial => "spree/admin/orders/shipment", :collection => @order.shipments, :locals => { :order => order } = render :partial => "spree/admin/orders/_form/adjustments", :locals => { :adjustments => @order.price_adjustments, :order => order, :title => Spree.t(:line_item_adjustments)} - = render :partial => "spree/admin/orders/_form/adjustments", :locals => { :adjustments => @order.adjustments, :order => order, :title => Spree.t(:order_adjustments)} + = render :partial => "spree/admin/orders/_form/adjustments", :locals => { :adjustments => @order.adjustments.eligible, :order => order, :title => Spree.t(:order_adjustments)} - if order.line_items.exists? %fieldset#order-total.no-border-bottom{"data-hook" => "order_details_total"} diff --git a/spec/features/admin/orders_spec.rb b/spec/features/admin/orders_spec.rb index 48072ddad8..dc8b654be8 100644 --- a/spec/features/admin/orders_spec.rb +++ b/spec/features/admin/orders_spec.rb @@ -283,6 +283,19 @@ feature %q{ end end + scenario "shows only eligible adjustments" do + adjustment = create( + :adjustment, + adjustable: @order, + label: "invalid adjustment", + amount: 0 + ) + + visit spree.edit_admin_order_path(@order) + + expect(page).to have_no_content adjustment.label + end + scenario "cannot split the order in different stock locations" do # There's only 1 stock location in OFN, so the split functionality that comes with spree should be hidden expect(page).to_not have_selector '.split-item'