From 2483eef4beab636fb9720958cddd9774c0ad4d2a Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Thu, 5 Nov 2015 14:02:04 +1100 Subject: [PATCH] WIP: BOM Refactor, removing obsolete OrderCycle.recently_closed scope, ordering closed OCs --- app/models/order_cycle.rb | 7 +------ spec/models/order_cycle_spec.rb | 11 ----------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index bc06594b96..1c279ce447 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -15,18 +15,13 @@ class OrderCycle < ActiveRecord::Base scope :active_or_complete, lambda { where('order_cycles.orders_open_at <= ?', Time.now) } scope :inactive, lambda { where('order_cycles.orders_open_at > ? OR order_cycles.orders_close_at < ?', Time.now, Time.now) } scope :upcoming, lambda { where('order_cycles.orders_open_at > ?', Time.now) } - scope :closed, lambda { where('order_cycles.orders_close_at < ?', Time.now) } + scope :closed, lambda { where('order_cycles.orders_close_at < ?', Time.now).order("order_cycles.orders_close_at DESC") } scope :undated, where(orders_open_at: nil, orders_close_at: nil) 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, -> { - 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 f87872a44d..59b43b53ba 100644 --- a/spec/models/order_cycle_spec.rb +++ b/spec/models/order_cycle_spec.rb @@ -90,17 +90,6 @@ describe OrderCycle do end end - 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) - - OrderCycle.recently_closed.should == [oc1 , oc2] - end - end - it "finds the most recently closed order cycles" do oc1 = create(:simple_order_cycle, orders_close_at: 2.hours.ago) oc2 = create(:simple_order_cycle, orders_close_at: 1.hour.ago)