Hi all,
I have a relationship (no really!)
class RiskMatrix < ActiveRecord::Base
has_many :severities, :order => :position, :uniq => true
end
class RiskFactor < ActiveRecord::Base
belongs_to :risk_matrix
validates_presence_of :descriptor, :example
validates_uniqueness_of :descriptor, :example, :scope=>
:risk_matrix_id
end
class Severity < RiskFactor
acts_as_list :scope => :risk_matrix
end
I don’t want any duplicates for a given risk matrix of a risk factor so
I
wrote a couple of tests. Both of them fail but I’m not sure why.
def test_no severity should be duplicated for a risk_matrix
sev = @rm.severities.find(:first ) # @rm is a risk matrix set during
setup
@rm.severities << sev
assert_equal 1, @rm.severities.select{ |s| s == sev }.size
end
def test_descriptor should be uniq for a given risk matrix
@sev = Severity.find(:first )
@rm = @sev.risk_matrix
@rm.severities << @sev.dup
assert_equal 1, @rm.severities.select{|s| s.descriptor == @
sev.descriptor }.size
end
The uniq option doesn’t seem to be doing anything. Am I using it
incorrectly?
Thanx to anyone who can help me.
Cheers
Daniel