From 705af416840aa3a44f7a7ad11c694de2ad173f84 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Mon, 17 Jun 2013 15:06:20 +1000 Subject: [PATCH] DistributionChangeValidator finds variants distributed by product distribution when order cycle is nil --- lib/open_food_web/distribution_change_validator.rb | 5 ++++- .../open_food_web/distribution_change_validator_spec.rb | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/open_food_web/distribution_change_validator.rb b/lib/open_food_web/distribution_change_validator.rb index 58955d057f..98b4306d1a 100644 --- a/lib/open_food_web/distribution_change_validator.rb +++ b/lib/open_food_web/distribution_change_validator.rb @@ -14,7 +14,10 @@ class DistributionChangeValidator end def variants_available_for_distribution(distributor, order_cycle) - distributor.distributed_variants + order_cycle.distributed_variants_by(distributor) + product_distribution_variants = distributor.distributed_variants + order_cycle_variants = order_cycle.andand.distributed_variants_by(distributor) || [] + + product_distribution_variants + order_cycle_variants end def distributor_available_for?(product) diff --git a/spec/lib/open_food_web/distribution_change_validator_spec.rb b/spec/lib/open_food_web/distribution_change_validator_spec.rb index dc70f0c833..e5486f1a8f 100644 --- a/spec/lib/open_food_web/distribution_change_validator_spec.rb +++ b/spec/lib/open_food_web/distribution_change_validator_spec.rb @@ -33,6 +33,13 @@ describe DistributionChangeValidator do subject.variants_available_for_distribution(d, oc).should == [v] end + it "finds variants distributed by product distribution when order cycle is nil" do + v = double(:variant) + d = double(:distributor, distributed_variants: [v]) + + subject.variants_available_for_distribution(d, nil).should == [v] + end + it "finds variants distributed by order cycle" do v = double(:variant) d = double(:distributor, distributed_variants: [])