diff options
-rw-r--r-- | app/models/repository.rb | 5 | ||||
-rw-r--r-- | test/unit/repository_test.rb | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 83c5b7c5c..3a911cd5d 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -30,6 +30,7 @@ class Repository < ActiveRecord::Base serialize :extra_info + before_validation :normalize_identifier before_save :check_default # Raw SQL to delete changesets and changes in the database @@ -469,6 +470,10 @@ class Repository < ActiveRecord::Base end end + def normalize_identifier + self.identifier = identifier.to_s.strip + end + def check_default if !is_default? && set_as_default? self.is_default = true diff --git a/test/unit/repository_test.rb b/test/unit/repository_test.rb index 8f8cb9a0a..daa859b3b 100644 --- a/test/unit/repository_test.rb +++ b/test/unit/repository_test.rb @@ -94,6 +94,18 @@ class RepositoryTest < ActiveSupport::TestCase assert !r.save end + def test_2_repositories_with_blank_identifier_and_one_as_default_should_not_be_valid + Repository::Subversion.create!(:project_id => 3, :identifier => '', :url => 'file:///foo', :is_default => true) + r = Repository::Subversion.new(:project_id => 3, :identifier => '', :url => 'file:///bar') + assert !r.save + end + + def test_2_repositories_with_blank_and_nil_identifier_should_not_be_valid + Repository::Subversion.create!(:project_id => 3, :identifier => nil, :url => 'file:///foo') + r = Repository::Subversion.new(:project_id => 3, :identifier => '', :url => 'file:///bar') + assert !r.save + end + def test_first_repository_should_be_set_as_default repository1 = Repository::Subversion.new( :project => Project.find(3), |