From b2ad4d5929440ad3376900312b2789fb851ad1b1 Mon Sep 17 00:00:00 2001 From: Vasiliy Ermolovich Date: Fri, 23 Mar 2012 13:57:36 +0300 Subject: [PATCH] validates uniqueness of github_login --- app/models/user.rb | 1 + spec/models/user_spec.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 32a82ca..b37d73f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -18,6 +18,7 @@ class User before_save :ensure_authentication_token validates_presence_of :name + validates_uniqueness_of :github_login, :allow_nil => true attr_protected :admin diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 85d34da..a7f85ed 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -19,6 +19,16 @@ describe User do user = Fabricate.build(:user, :password => nil, :github_login => 'nashby') user.should be_valid end + + it 'requires uniq github login' do + user1 = Fabricate(:user, :github_login => 'nashby') + user1.should be_valid + + user2 = Fabricate.build(:user, :github_login => 'nashby') + user2.save + user2.should_not be_valid + user2.errors[:github_login].should include("is already taken") + end end describe '.find_for_github_oauth' do -- libgit2 0.21.2