Allow capital letters in usernames

footer-fixes
Marcin Kulik 11 years ago
parent 698767ad82
commit a6bb7bf5ba

@ -1,6 +1,6 @@
class User < ActiveRecord::Base
USERNAME_FORMAT = /\A[a-z0-9][a-z0-9-]+[a-z0-9]\z/
USERNAME_FORMAT = /\A[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\z/
has_many :api_tokens, :dependent => :destroy
has_many :asciicasts, :dependent => :destroy
@ -11,7 +11,7 @@ class User < ActiveRecord::Base
has_many :comments, :dependent => :destroy
validates :username, presence: true
validates :username, uniqueness: { scope: :dummy },
validates :username, uniqueness: { scope: :dummy, case_sensitive: false },
format: { with: USERNAME_FORMAT },
length: { minimum: 3, maximum: 16 },
unless: :dummy

@ -15,7 +15,7 @@ describe User do
end
describe "#valid?" do
let!(:existing_user) { create(:user) }
let!(:existing_user) { create(:user, username: 'the-user-name') }
let(:user) { described_class.new }
it { should validate_presence_of(:username) }
@ -53,7 +53,7 @@ describe User do
it { should allow_value('sick-ill').for(:username) }
it { should allow_value('abc').for(:username) }
it { should allow_value('s' * 16).for(:username) }
it { should_not allow_value('Sickill').for(:username) }
it { should allow_value('Sickill').for(:username) }
it { should_not allow_value('sick.ill').for(:username) }
it { should_not allow_value('-sickill').for(:username) }
it { should_not allow_value('sickill-').for(:username) }
@ -61,7 +61,7 @@ describe User do
it { should_not allow_value('s' * 17).for(:username) }
it "checks username uniqueness" do
user.username = existing_user.username
user.username = 'The-User-Name'
user.valid?
expect(user.errors[:username]).to_not be_empty
end

Loading…
Cancel
Save