From 2d95e9ebc04a871336c9c10e6ee644d535c9fd55 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 14 May 2020 14:07:16 +1000 Subject: [PATCH] List each order only once in report --- lib/open_food_network/order_and_distributor_report.rb | 4 +++- .../open_food_network/order_and_distributor_report_spec.rb | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/open_food_network/order_and_distributor_report.rb b/lib/open_food_network/order_and_distributor_report.rb index 570096cb23..48435e4bd7 100644 --- a/lib/open_food_network/order_and_distributor_report.rb +++ b/lib/open_food_network/order_and_distributor_report.rb @@ -34,7 +34,9 @@ module OpenFoodNetwork end def search - @permissions.visible_orders.complete.not_state(:canceled).search(@params[:q]) + @permissions.visible_orders.select("DISTINCT spree_orders.*"). + complete.not_state(:canceled). + search(@params[:q]) end def table diff --git a/spec/lib/open_food_network/order_and_distributor_report_spec.rb b/spec/lib/open_food_network/order_and_distributor_report_spec.rb index 973360437a..616af0fc6c 100644 --- a/spec/lib/open_food_network/order_and_distributor_report_spec.rb +++ b/spec/lib/open_food_network/order_and_distributor_report_spec.rb @@ -73,14 +73,12 @@ module OpenFoodNetwork end it "prints one row per line item" do - pending "Each line item is shown multiple times when there is more than one item in the order" - create(:line_item_with_shipment, order: order) subject = OrderAndDistributorReport.new(create(:admin_user), {}, true) table = subject.table - expect(table.size).to eq 2 # currently 4 + expect(table.size).to eq 2 end end end