From 36ce39a217124f2ea3536641c82dc072f4b5ab45 Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Tue, 16 Feb 2021 13:25:21 +0100 Subject: [PATCH] Sort OC report orders by completed_at This is then consistent with the ordering we use to list orders in /admin, which is more useful. As a result, the test is also more robust. --- lib/open_food_network/order_cycle_management_report.rb | 2 +- .../order_cycle_management_report_spec.rb | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/open_food_network/order_cycle_management_report.rb b/lib/open_food_network/order_cycle_management_report.rb index 52048b9ee1..1858469c6e 100644 --- a/lib/open_food_network/order_cycle_management_report.rb +++ b/lib/open_food_network/order_cycle_management_report.rb @@ -65,7 +65,7 @@ module OpenFoodNetwork def orders if FeatureToggle.enabled?(:customer_balance, @user) - search_result = search.result.order(:id) + search_result = search.result.order(:completed_at) orders_with_balance = OutstandingBalance.new(search_result). query. select('spree_orders.*') diff --git a/spec/lib/open_food_network/order_cycle_management_report_spec.rb b/spec/lib/open_food_network/order_cycle_management_report_spec.rb index 46c17ac640..7e31c66e3c 100644 --- a/spec/lib/open_food_network/order_cycle_management_report_spec.rb +++ b/spec/lib/open_food_network/order_cycle_management_report_spec.rb @@ -43,11 +43,10 @@ module OpenFoodNetwork end it 'orders them by id' do - result = instance_double(ActiveRecord::Relation) - allow_any_instance_of(Ransack::Search).to receive(:result).and_return(result) - expect(result).to receive(:order).with(:id) { Spree::Order.none } + order1 = create(:order, completed_at: 1.day.ago, state: 'complete') + order2 = create(:order, completed_at: 2.days.ago, state: 'complete') - subject.orders + expect(subject.orders.pluck(:id)).to eq([order2.id, order1.id]) end end