diff --git a/lib/open_food_network/order_cycle_management_report.rb b/lib/open_food_network/order_cycle_management_report.rb index 82ddcd8623..4d67ffa80d 100644 --- a/lib/open_food_network/order_cycle_management_report.rb +++ b/lib/open_food_network/order_cycle_management_report.rb @@ -2,9 +2,10 @@ require 'open_food_network/user_balance_calculator' module OpenFoodNetwork class OrderCycleManagementReport + DEFAULT_DATE_INTERVAL = 1.month attr_reader :params def initialize(user, params = {}, render_table = false) - @params = params + @params = sanitize_params(params) @user = user @render_table = render_table end @@ -133,5 +134,12 @@ module OpenFoodNetwork customer = Customer.where(email: email).first customer.nil? ? "" : customer.code end + + def sanitize_params(params) + params[:q] ||= {} + params[:q][:completed_at_gt] ||= Time.zone.today - DEFAULT_DATE_INTERVAL + params[:q][:completed_at_lt] ||= Time.zone.today + params + end end end 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 8ed4add63b..675c5e6cd9 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 @@ -24,6 +24,14 @@ module OpenFoodNetwork o2 = create(:order, completed_at: 1.day.ago) expect(subject.orders).to eq([o2]) end + + context "default date range" do + it "fetches orders completed in the past month" do + o1 = create(:order, completed_at: Time.zone.today - OrderCycleManagementReport::DEFAULT_DATE_INTERVAL - 1.day) + o2 = create(:order, completed_at: Time.zone.today - OrderCycleManagementReport::DEFAULT_DATE_INTERVAL + 1.day) + expect(subject.orders).to eq([o2]) + end + end end end