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