Files
openfoodnetwork/spec/models/exchange_spec.rb

47 lines
1.1 KiB
Ruby

require 'spec_helper'
describe Exchange do
it "should be valid when built from factory" do
build(:exchange).should be_valid
end
[:order_cycle, :sender, :receiver].each do |attr|
it "should not be valid without #{attr}" do
e = build(:exchange)
e.send("#{attr}=", nil)
e.should_not be_valid
end
end
it "should not be valid when sender and receiver pair 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)
e2.should_not be_valid
e2.receiver = create(:enterprise)
e2.should be_valid
e2.sender = e2.receiver
e2.receiver = e1.receiver
e2.should be_valid
end
it "has exchange variants" do
e = create(:exchange)
p = create(:product)
e.exchange_variants.create(:variant => p.master)
e.variants.count.should == 1
end
it "has exchange fees" do
e = create(:exchange)
f = create(:enterprise_fee)
e.exchange_fees.create(:enterprise_fee => f)
e.enterprise_fees.count.should == 1
end
end