From d6c30ae1ef8b7c2cfa201a71c3e5c6f70908d46b Mon Sep 17 00:00:00 2001 From: Victor Nava Date: Thu, 5 Mar 2015 16:46:51 +1100 Subject: [PATCH] OrderCycle#recently_closed doesn't return orders that are open --- app/models/order_cycle.rb | 7 ++++++- spec/models/order_cycle_spec.rb | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) 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)