From ec0191806ac1e92931f1895b9f99c06ae32f071f Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Wed, 26 Mar 2014 12:17:49 +1100 Subject: [PATCH] Update specs to explicitly specify exchange direction --- spec/archive/features/consumer/checkout_spec.rb | 8 ++++---- spec/controllers/enterprises_controller_spec.rb | 12 ++++++------ spec/factories.rb | 13 +++++++------ spec/models/order_cycle_spec.rb | 12 ++++++------ spec/models/spree/order_spec.rb | 4 ++-- spec/models/spree/product_spec.rb | 6 +++--- 6 files changed, 28 insertions(+), 27 deletions(-) diff --git a/spec/archive/features/consumer/checkout_spec.rb b/spec/archive/features/consumer/checkout_spec.rb index 2c42a023e7..525805eee5 100644 --- a/spec/archive/features/consumer/checkout_spec.rb +++ b/spec/archive/features/consumer/checkout_spec.rb @@ -490,8 +490,8 @@ feature %q{ supplier_fee2 = create(:enterprise_fee, enterprise: supplier1, fee_type: 'transport', amount: 4) supplier_fee3 = create(:enterprise_fee, enterprise: supplier2, fee_type: 'admin', amount: 5) supplier_fee4 = create(:enterprise_fee, enterprise: supplier2, fee_type: 'sales', amount: 6) - ex1 = create(:exchange, order_cycle: oc, sender: supplier1, receiver: oc.coordinator) - ex2 = create(:exchange, order_cycle: oc, sender: supplier2, receiver: oc.coordinator) + ex1 = create(:exchange, order_cycle: oc, sender: supplier1, receiver: oc.coordinator, incoming: true) + ex2 = create(:exchange, order_cycle: oc, sender: supplier2, receiver: oc.coordinator, incoming: true) ExchangeFee.create!(exchange: ex1, enterprise_fee: supplier_fee1) ExchangeFee.create!(exchange: ex1, enterprise_fee: supplier_fee2) ExchangeFee.create!(exchange: ex2, enterprise_fee: supplier_fee3) @@ -506,10 +506,10 @@ feature %q{ distributor_fee2 = create(:enterprise_fee, enterprise: distributor1, fee_type: 'transport', amount: 8) distributor_fee3 = create(:enterprise_fee, enterprise: distributor2, fee_type: 'admin', amount: 9) distributor_fee4 = create(:enterprise_fee, enterprise: distributor2, fee_type: 'sales', amount: 10) - ex3 = create(:exchange, order_cycle: oc, + ex3 = create(:exchange, order_cycle: oc, incoming: false, sender: oc.coordinator, receiver: distributor1, pickup_time: 'time 0', pickup_instructions: 'instructions 0') - ex4 = create(:exchange, order_cycle: oc, + ex4 = create(:exchange, order_cycle: oc, incoming: false, sender: oc.coordinator, receiver: distributor2, pickup_time: 'time 1', pickup_instructions: 'instructions 1') ExchangeFee.create!(exchange: ex3, enterprise_fee: distributor_fee1) diff --git a/spec/controllers/enterprises_controller_spec.rb b/spec/controllers/enterprises_controller_spec.rb index 8cb55e47a1..77a01e42de 100644 --- a/spec/controllers/enterprises_controller_spec.rb +++ b/spec/controllers/enterprises_controller_spec.rb @@ -20,8 +20,8 @@ describe EnterprisesController do let(:oc2) { create(:simple_order_cycle) } it "displays products for the selected (order_cycle -> outgoing exchange)" do - create(:exchange, order_cycle: oc1, sender: s, receiver: c, variants: [p.master]) - create(:exchange, order_cycle: oc1, sender: c, receiver: d1, variants: [p.master]) + create(:exchange, order_cycle: oc1, sender: s, receiver: c, incoming: true, variants: [p.master]) + create(:exchange, order_cycle: oc1, sender: c, receiver: d1, incoming: false, variants: [p.master]) controller.stub(:current_distributor) { d1 } controller.stub(:current_order_cycle) { oc1 } @@ -33,12 +33,12 @@ describe EnterprisesController do it "does not display other products in the order cycle or in the distributor" do # Given a product that is in this order cycle on a different distributor - create(:exchange, order_cycle: oc1, sender: s, receiver: c, variants: [p.master]) - create(:exchange, order_cycle: oc1, sender: c, receiver: d2, variants: [p.master]) + create(:exchange, order_cycle: oc1, sender: s, receiver: c, incoming: true, variants: [p.master]) + create(:exchange, order_cycle: oc1, sender: c, receiver: d2, incoming: false, variants: [p.master]) # And is also in this distributor in a different order cycle - create(:exchange, order_cycle: oc2, sender: s, receiver: c, variants: [p.master]) - create(:exchange, order_cycle: oc2, sender: c, receiver: d1, variants: [p.master]) + create(:exchange, order_cycle: oc2, sender: s, receiver: c, incoming: true, variants: [p.master]) + create(:exchange, order_cycle: oc2, sender: c, receiver: d1, incoming: false, variants: [p.master]) # When I view the enterprise page for d1 x oc1 controller.stub(:current_distributor) { d1 } diff --git a/spec/factories.rb b/spec/factories.rb index 2084ff7221..df1dd4d50c 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -7,9 +7,9 @@ FactoryGirl.define do after(:create) do |oc| # Suppliers - ex1 = create(:exchange, :order_cycle => oc, + ex1 = create(:exchange, :order_cycle => oc, :incoming => true, :sender => create(:supplier_enterprise), :receiver => oc.coordinator) - ex2 = create(:exchange, :order_cycle => oc, + ex2 = create(:exchange, :order_cycle => oc, :incoming => true, :sender => create(:supplier_enterprise), :receiver => oc.coordinator) ExchangeFee.create!(exchange: ex1, enterprise_fee: create(:enterprise_fee, enterprise: ex1.sender)) @@ -17,10 +17,10 @@ FactoryGirl.define do enterprise_fee: create(:enterprise_fee, enterprise: ex2.sender)) # Distributors - ex3 = create(:exchange, :order_cycle => oc, + ex3 = create(:exchange, :order_cycle => oc, :incoming => false, :sender => oc.coordinator, :receiver => create(:distributor_enterprise), :pickup_time => 'time 0', :pickup_instructions => 'instructions 0') - ex4 = create(:exchange, :order_cycle => oc, + ex4 = create(:exchange, :order_cycle => oc, :incoming => false, :sender => oc.coordinator, :receiver => create(:distributor_enterprise), :pickup_time => 'time 1', :pickup_instructions => 'instructions 1') ExchangeFee.create!(exchange: ex3, @@ -60,12 +60,12 @@ FactoryGirl.define do after(:create) do |oc, proxy| proxy.suppliers.each do |supplier| - ex = create(:exchange, :order_cycle => oc, :sender => supplier, :receiver => oc.coordinator, :pickup_time => 'time', :pickup_instructions => 'instructions') + ex = create(:exchange, :order_cycle => oc, :sender => supplier, :receiver => oc.coordinator, :incoming => true, :pickup_time => 'time', :pickup_instructions => 'instructions') proxy.variants.each { |v| ex.variants << v } end proxy.distributors.each do |distributor| - ex = create(:exchange, :order_cycle => oc, :sender => oc.coordinator, :receiver => distributor, :pickup_time => 'time', :pickup_instructions => 'instructions') + ex = create(:exchange, :order_cycle => oc, :sender => oc.coordinator, :receiver => distributor, :incoming => false, :pickup_time => 'time', :pickup_instructions => 'instructions') proxy.variants.each { |v| ex.variants << v } end end @@ -75,6 +75,7 @@ FactoryGirl.define do order_cycle { OrderCycle.first || FactoryGirl.create(:simple_order_cycle) } sender { FactoryGirl.create(:enterprise) } receiver { FactoryGirl.create(:enterprise) } + incoming false end factory :enterprise, :class => Enterprise do diff --git a/spec/models/order_cycle_spec.rb b/spec/models/order_cycle_spec.rb index c9d14a71f4..2f84879d40 100644 --- a/spec/models/order_cycle_spec.rb +++ b/spec/models/order_cycle_spec.rb @@ -160,7 +160,7 @@ describe OrderCycle do oc = create(:simple_order_cycle) d1 = create(:distributor_enterprise) d2 = create(:distributor_enterprise) - create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d1) + create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d1, incoming: false) oc.should have_distributor(d1) oc.should_not have_distributor(d2) @@ -281,9 +281,9 @@ describe OrderCycle do @d1 = create(:enterprise) @d2 = create(:enterprise, next_collection_at: '2-8pm Friday') - @e0 = create(:exchange, order_cycle: @oc, sender: create(:enterprise), receiver: @oc.coordinator) - @e1 = create(:exchange, order_cycle: @oc, sender: @oc.coordinator, receiver: @d1, pickup_time: '5pm Tuesday', pickup_instructions: "Come get it!") - @e2 = create(:exchange, order_cycle: @oc, sender: @oc.coordinator, receiver: @d2, pickup_time: nil) + @e0 = create(:exchange, order_cycle: @oc, sender: create(:enterprise), receiver: @oc.coordinator, incoming: true) + @e1 = create(:exchange, order_cycle: @oc, sender: @oc.coordinator, receiver: @d1, incoming: false, pickup_time: '5pm Tuesday', pickup_instructions: "Come get it!") + @e2 = create(:exchange, order_cycle: @oc, sender: @oc.coordinator, receiver: @d2, incoming: false, pickup_time: nil) end it "finds the exchange for a distributor" do @@ -377,7 +377,7 @@ describe OrderCycle do calculator: Spree::Calculator::FlatRate.new(preferred_amount: 2)) product = create(:simple_product) - create(:exchange, order_cycle: order_cycle, sender: coordinator, receiver: distributor, + create(:exchange, order_cycle: order_cycle, sender: coordinator, receiver: distributor, incoming: false, enterprise_fees: [enterprise_fee1, enterprise_fee2, enterprise_fee3], variants: [product.master]) order_cycle.fees_for(product.master, distributor).should == 23 @@ -391,7 +391,7 @@ describe OrderCycle do enterprise_fee1 = create(:enterprise_fee, amount: 20, fee_type: "admin", calculator: Spree::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 20)) product = create(:simple_product, price: 10.00) - create(:exchange, order_cycle: order_cycle, sender: coordinator, receiver: distributor, + create(:exchange, order_cycle: order_cycle, sender: coordinator, receiver: distributor, incoming: false, enterprise_fees: [enterprise_fee1], variants: [product.master]) product.master.price.should == 10.00 diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index 80a65b79cc..18ad347dc2 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -151,7 +151,7 @@ describe Spree::Order do it "keeps the order cycle when it is available at the new distributor" do d = create(:distributor_enterprise) oc = create(:simple_order_cycle) - create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d) + create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d, incoming: false) subject.order_cycle = oc subject.set_distributor! d @@ -190,7 +190,7 @@ describe Spree::Order do it "keeps the distributor when it is available in the new order cycle" do oc = create(:simple_order_cycle) d = create(:distributor_enterprise) - create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d) + create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d, incoming: false) subject.distributor = d subject.set_order_cycle! oc diff --git a/spec/models/spree/product_spec.rb b/spec/models/spree/product_spec.rb index 813a57558f..6743e404e9 100644 --- a/spec/models/spree/product_spec.rb +++ b/spec/models/spree/product_spec.rb @@ -318,11 +318,11 @@ module Spree let(:v_external) { create(:variant, product: p_external) } let!(:ex_in) { create(:exchange, order_cycle: oc, sender: s, receiver: oc.coordinator, - variants: [v1, v2]) } + incoming: true, variants: [v1, v2]) } let!(:ex_out1) { create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d1, - variants: [v1]) } + incoming: false, variants: [v1]) } let!(:ex_out2) { create(:exchange, order_cycle: oc, sender: oc.coordinator, receiver: d2, - variants: [v2]) } + incoming: false, variants: [v2]) } it "returns variants in the order cycle and distributor" do p1.variants_for(oc, d1).should == [v1]