mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-26 01:33:22 +00:00
WIP: BOM Refactor, removing obsolete OrderCycle.recently_closed scope, ordering closed OCs
This commit is contained in:
@@ -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|
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user