Order cycle can have the same enterprise participating as supplier, coordinator and distributor

This commit is contained in:
Rohan Mitchell
2014-04-02 11:54:28 +11:00
parent 98d599e5f7
commit 32ffd05ba0
2 changed files with 7 additions and 3 deletions

View File

@@ -11,7 +11,7 @@ class Exchange < ActiveRecord::Base
has_many :enterprise_fees, :through => :exchange_fees
validates_presence_of :order_cycle, :sender, :receiver
validates_uniqueness_of :sender_id, :scope => [:order_cycle_id, :receiver_id]
validates_uniqueness_of :sender_id, :scope => [:order_cycle_id, :receiver_id, :incoming]
accepts_nested_attributes_for :variants

View File

@@ -13,13 +13,17 @@ describe Exchange do
end
end
it "should not be valid when sender and receiver pair are not unique for its order cycle" do
it "should not be valid when (sender, receiver, direction) set are not unique for its order cycle" do
e1 = create(:exchange)
e2 = build(:exchange,
:order_cycle => e1.order_cycle, :sender => e1.sender, :receiver => e1.receiver)
:order_cycle => e1.order_cycle, :sender => e1.sender, :receiver => e1.receiver, :incoming => e1.incoming)
e2.should_not be_valid
e2.incoming = !e2.incoming
e2.should be_valid
e2.incoming = !e2.incoming
e2.receiver = create(:enterprise)
e2.should be_valid