Require ProductDistribution to be unique on [product, distributor]

This commit is contained in:
Rohan Mitchell
2012-06-28 15:12:15 +10:00
parent 3f08c2a9b0
commit 1d3b7de5c6
2 changed files with 25 additions and 0 deletions

View File

@@ -5,5 +5,7 @@ module Spree
belongs_to :product
belongs_to :distributor
belongs_to :shipping_method
validates_uniqueness_of :product_id, :scope => :distributor_id
end
end

View File

@@ -0,0 +1,23 @@
require 'spec_helper'
describe Spree::ProductDistribution do
it "is unique for scope [product, distributor]" do
pd1 = create(:product_distribution)
pd1.should be_valid
new_product = create(:product)
new_distributor = create(:distributor)
pd2 = build(:product_distribution, :product => pd1.product, :distributor => pd1.distributor)
pd2.should_not be_valid
pd2 = build(:product_distribution, :product => pd1.product, :distributor => new_distributor)
pd2.should be_valid
pd2 = build(:product_distribution, :product => new_product, :distributor => pd1.distributor)
pd2.should be_valid
pd2 = build(:product_distribution, :product => new_product, :distributor => new_distributor)
pd2.should be_valid
end
end