mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
OrderCycleManagementReport sets default date range before querying for orders
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user