Update specs to explicitly specify exchange direction

This commit is contained in:
Rohan Mitchell
2014-03-26 12:17:49 +11:00
parent abf83b0e58
commit ec0191806a
6 changed files with 28 additions and 27 deletions

View File

@@ -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)

View File

@@ -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 }

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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]