Merged r14156 and r14161 (#19400).

git-svn-id: http://svn.redmine.org/redmine/branches/2.6-stable@14198 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2015-04-25 07:18:20 +00:00
parent 930e00ab69
commit 94d91e75f5
4 changed files with 20 additions and 1 deletions

View File

@@ -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
@@ -455,6 +456,10 @@ class Repository < ActiveRecord::Base
protected
def normalize_identifier
self.identifier = identifier.to_s.strip
end
def check_default
if !is_default? && set_as_default?
self.is_default = true

View File

@@ -265,7 +265,7 @@ class RepositoriesGitControllerTest < ActionController::TestCase
def test_diff
assert_equal true, @repository.is_default
assert_nil @repository.identifier
assert @repository.identifier.blank?
assert_equal 0, @repository.changesets.count
@repository.fetch_changesets
@project.reload

View File

@@ -54,6 +54,8 @@ class RepositoryGitTest < ActiveSupport::TestCase
end
def test_nondefault_repo_with_blank_identifier_destruction
Repository.delete_all
repo1 = Repository::Git.new(
:project => @project,
:url => REPOSITORY_PATH,

View File

@@ -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),