From ea6974d4386a9c10a82aa128165596bfb765ef09 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Tue, 24 Nov 2015 13:33:46 +1100 Subject: [PATCH] Add OrderCycle#supplied_variants --- app/models/order_cycle.rb | 4 ++++ spec/models/order_cycle_spec.rb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index 7734093225..302cf42a06 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -135,6 +135,10 @@ class OrderCycle < ActiveRecord::Base to_a # http://stackoverflow.com/q/15110166 end + def supplied_variants + self.exchanges.incoming.map(&:variants).flatten.uniq.reject(&:deleted?) + end + def distributed_variants self.exchanges.outgoing.map(&:variants).flatten.uniq.reject(&:deleted?) end diff --git a/spec/models/order_cycle_spec.rb b/spec/models/order_cycle_spec.rb index 59b43b53ba..a3c4e4ea77 100644 --- a/spec/models/order_cycle_spec.rb +++ b/spec/models/order_cycle_spec.rb @@ -211,6 +211,10 @@ describe OrderCycle do @oc.variants.count.should == 4 end + it "reports on the variants supplied" do + @oc.supplied_variants.should match_array [@p0.master] + end + it "reports on the variants distributed" do @oc.distributed_variants.should match_array [@p1.master, @p2.master, @p2_v] end