mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-10 03:30:22 +00:00
Update specs to explicitly specify exchange direction
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user