OrderCycle#recently_closed doesn't return orders that are open

This commit is contained in:
Victor Nava
2015-03-05 16:46:51 +11:00
parent a21bfc909a
commit d6c30ae1ef
2 changed files with 7 additions and 1 deletions

View File

@@ -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|

View File

@@ -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)