diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index bf52d5c129..adcd596a8c 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -21,7 +21,12 @@ class OrderCycle < ActiveRecord::Base scope :soonest_closing, lambda { active.order('order_cycles.orders_close_at ASC') } # TODO This method returns all the closed orders. So maybe we can replace it with :recently_closed. scope :most_recently_closed, lambda { closed.order('order_cycles.orders_close_at DESC') } - scope :recently_closed, lambda { where("order_cycles.orders_close_at >= ?", 31.days.ago).order("order_cycles.orders_close_at DESC") } + + scope :recently_closed, -> { + closed. + where("order_cycles.orders_close_at >= ?", 31.days.ago). + order("order_cycles.orders_close_at DESC") } + scope :soonest_opening, lambda { upcoming.order('order_cycles.orders_open_at ASC') } scope :distributing_product, lambda { |product| diff --git a/spec/models/order_cycle_spec.rb b/spec/models/order_cycle_spec.rb index cc6035caa8..817d2e8e93 100644 --- a/spec/models/order_cycle_spec.rb +++ b/spec/models/order_cycle_spec.rb @@ -92,6 +92,7 @@ describe OrderCycle do describe "#recently_closed" do it "finds the orders closed in the last 30 days sorted in descending order" do + create(:simple_order_cycle, orders_close_at: 3.days.from_now) oc1 = create(:simple_order_cycle, orders_close_at: 1.day.ago) oc2 = create(:simple_order_cycle, orders_close_at: 30.days.ago) create(:simple_order_cycle, orders_close_at: 31.days.ago)