From 14dee8d7fecc11c3156b65c818043131852d323b Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Fri, 23 May 2014 12:09:38 +1000 Subject: [PATCH] OrderCycleFormApplicator requires permitted_enterprises to be set explicitly --- .../order_cycle_form_applicator.rb | 2 +- .../order_cycle_form_applicator_spec.rb | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/open_food_network/order_cycle_form_applicator.rb b/lib/open_food_network/order_cycle_form_applicator.rb index 9da681c61a..11bf85a341 100644 --- a/lib/open_food_network/order_cycle_form_applicator.rb +++ b/lib/open_food_network/order_cycle_form_applicator.rb @@ -6,7 +6,7 @@ module OpenFoodNetwork # as much as possible (if not all) of its logic into Angular. class OrderCycleFormApplicator # The applicator will only touch exchanges where a permitted enterprise is the participant - def initialize(order_cycle, permitted_enterprises=[]) + def initialize(order_cycle, permitted_enterprises) @order_cycle = order_cycle @permitted_enterprises = permitted_enterprises end diff --git a/spec/lib/open_food_network/order_cycle_form_applicator_spec.rb b/spec/lib/open_food_network/order_cycle_form_applicator_spec.rb index a6f83d77cf..b11229055a 100644 --- a/spec/lib/open_food_network/order_cycle_form_applicator_spec.rb +++ b/spec/lib/open_food_network/order_cycle_form_applicator_spec.rb @@ -11,7 +11,7 @@ module OpenFoodNetwork oc = double(:order_cycle, :coordinator_id => coordinator_id, :exchanges => [], :incoming_exchanges => [incoming_exchange], :outgoing_exchanges => []) - applicator = OrderCycleFormApplicator.new(oc) + applicator = OrderCycleFormApplicator.new(oc, []) applicator.should_receive(:exchange_variant_ids).with(incoming_exchange).and_return([1, 3]) applicator.should_receive(:exchange_exists?).with(supplier_id, coordinator_id, true).and_return(false) @@ -29,7 +29,7 @@ module OpenFoodNetwork oc = double(:order_cycle, :coordinator_id => coordinator_id, :exchanges => [], :incoming_exchanges => [], :outgoing_exchanges => [outgoing_exchange]) - applicator = OrderCycleFormApplicator.new(oc) + applicator = OrderCycleFormApplicator.new(oc, []) applicator.should_receive(:exchange_variant_ids).with(outgoing_exchange).and_return([1, 3]) applicator.should_receive(:exchange_exists?).with(coordinator_id, distributor_id, false).and_return(false) @@ -51,7 +51,7 @@ module OpenFoodNetwork :incoming_exchanges => [incoming_exchange], :outgoing_exchanges => []) - applicator = OrderCycleFormApplicator.new(oc) + applicator = OrderCycleFormApplicator.new(oc, []) applicator.should_receive(:exchange_variant_ids).with(incoming_exchange).and_return([1, 3]) applicator.should_receive(:exchange_exists?).with(supplier_id, coordinator_id, true).and_return(true) @@ -73,7 +73,7 @@ module OpenFoodNetwork :incoming_exchanges => [], :outgoing_exchanges => [outgoing_exchange]) - applicator = OrderCycleFormApplicator.new(oc) + applicator = OrderCycleFormApplicator.new(oc, []) applicator.should_receive(:exchange_variant_ids).with(outgoing_exchange).and_return([1, 3]) applicator.should_receive(:exchange_exists?).with(coordinator_id, distributor_id, false).and_return(true) @@ -95,7 +95,7 @@ module OpenFoodNetwork :incoming_exchanges => [], :outgoing_exchanges => []) - applicator = OrderCycleFormApplicator.new(oc) + applicator = OrderCycleFormApplicator.new(oc, []) applicator.should_receive(:destroy_untouched_exchanges) @@ -108,7 +108,7 @@ module OpenFoodNetwork e2 = double(:exchange2, id: 1, foo: 2) oc = double(:order_cycle, :exchanges => [e1]) - applicator = OrderCycleFormApplicator.new(oc) + applicator = OrderCycleFormApplicator.new(oc, []) applicator.instance_eval do @touched_exchanges = [e2] end @@ -117,7 +117,7 @@ module OpenFoodNetwork end it "does not destroy exchanges involving enterprises it does not have permission to touch" do - applicator = OrderCycleFormApplicator.new(nil) + applicator = OrderCycleFormApplicator.new(nil, []) exchanges = double(:exchanges) permitted_exchanges = [double(:exchange), double(:exchange)] @@ -130,7 +130,7 @@ module OpenFoodNetwork end it "converts exchange variant ids hash to an array of ids" do - applicator = OrderCycleFormApplicator.new(nil) + applicator = OrderCycleFormApplicator.new(nil, []) applicator.send(:exchange_variant_ids, {:enterprise_id => 123, :variants => {'1' => true, '2' => false, '3' => true}}).should == [1, 3] end @@ -173,7 +173,7 @@ module OpenFoodNetwork it "checks whether exchanges exist" do oc = FactoryGirl.create(:simple_order_cycle) exchange = FactoryGirl.create(:exchange, order_cycle: oc) - applicator = OrderCycleFormApplicator.new(oc) + applicator = OrderCycleFormApplicator.new(oc, []) applicator.send(:exchange_exists?, exchange.sender_id, exchange.receiver_id, exchange.incoming).should be_true applicator.send(:exchange_exists?, exchange.sender_id, exchange.receiver_id, !exchange.incoming).should be_false @@ -184,10 +184,10 @@ module OpenFoodNetwork end it "adds exchanges" do - oc = FactoryGirl.create(:simple_order_cycle) - applicator = OrderCycleFormApplicator.new(oc) sender = FactoryGirl.create(:enterprise) receiver = FactoryGirl.create(:enterprise) + oc = FactoryGirl.create(:simple_order_cycle) + applicator = OrderCycleFormApplicator.new(oc, [sender, receiver]) incoming = true variant1 = FactoryGirl.create(:variant) variant2 = FactoryGirl.create(:variant)