diff --git a/app/models/service.rb b/app/models/service.rb index ef98c85bb..02553cb07 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -6,6 +6,7 @@ class Service < ActiveRecord::Base include ActionView::Helpers::TextHelper belongs_to :user + validates_uniqueness_of :uid, :scope => :type has_many :service_users, :dependent => :destroy def public_message(post, length, url = "") diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb index 47850b940..8260e86c3 100644 --- a/spec/models/service_spec.rb +++ b/spec/models/service_spec.rb @@ -9,6 +9,13 @@ describe Service do @user.services << @service end + it 'is unique to a user by service type and uid' do + @service.save + @user.services << Services::Facebook.new(:access_token => "yeah") + @user.services[1].valid?.should be_false + + end + it 'destroys the associated service_user' do @service.service_users = [ServiceUser.create(:service_id => @service.id, :uid => "abc123",