diff --git a/app/models/user.rb b/app/models/user.rb index ade7b7a2a8ab8f3a41507204741d2ba6b565bdda..1e062b0c83d9f28d065a09410289e64f85c9b7ae 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -35,7 +35,7 @@ class User after_create :seed_aspects - before_validation_on_create :downcase_username + before_validation :downcase_username, :on => :create def self.find_for_authentication(conditions={}) if conditions[:username] =~ /^([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})$/i # email regex diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index ad7070eaaf76fd30925e39d3ec2ce3c1953c8279..46327576a8d74b8a51bcaf1552775e18c76a15d6 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -6,7 +6,14 @@ require 'spec_helper' describe User do let(:user) { Factory(:user) } - let(:aspect) { user.aspect(:name => 'heroes') } + + describe "validations" do + it "downcases the username" do + user = Factory.build(:user, :username => "ALLUPPERCASE") + user.valid? + user.username.should == "alluppercase" + end + end describe '#diaspora_handle' do it 'uses the pod config url to set the diaspora_handle' do @@ -27,6 +34,7 @@ describe User do end context 'aspects' do + let(:aspect) { user.aspect(:name => 'heroes') } let(:user2) { Factory(:user) } let(:aspect2) { user2.aspect(:name => 'stuff') }