diff --git a/app/models/aspect.rb b/app/models/aspect.rb index 2e6dca694..e58318569 100644 --- a/app/models/aspect.rb +++ b/app/models/aspect.rb @@ -17,6 +17,7 @@ class Aspect belongs_to :user, :class_name => 'User' validates_presence_of :name + validates_uniqueness_of :name, :scope => :user_id timestamps! diff --git a/spec/models/aspect_spec.rb b/spec/models/aspect_spec.rb index b3acbd028..e91d4a258 100644 --- a/spec/models/aspect_spec.rb +++ b/spec/models/aspect_spec.rb @@ -39,6 +39,21 @@ describe Aspect do end end + describe 'validation' do + before do + @aspect = @user.aspect(:name => 'losers') + end + it 'has a unique name for one user' do + aspect2 = @user.aspect(:name => @aspect.name) + aspect2.valid?.should be_false + end + + it 'has no uniqueness between users' do + aspect2 = @user2.aspect(:name => @aspect.name) + aspect2.valid?.should be_true + end + end + describe 'querying' do before do @aspect = @user.aspect(:name => 'losers')