rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed
def new
- scm = params[:repository_scm] || Redmine::Scm::Base.all.first
+ scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first
@repository = Repository.factory(scm)
@repository.is_default = @project.repository.nil?
@repository.project = @project
assert_tag 'input', :attributes => {:name => 'repository[url]'}
end
+ def test_new_should_propose_enabled_scm_only
+ @request.session[:user_id] = 1
+ with_settings :enabled_scm => ['Mercurial', 'Git'] do
+ get :new, :project_id => 'subproject1'
+ end
+ assert_response :success
+ assert_template 'new'
+ assert_kind_of Repository::Mercurial, assigns(:repository)
+ assert_tag 'select', :attributes => {:name => 'repository_scm'},
+ :children => {:count => 3}
+ assert_tag 'select', :attributes => {:name => 'repository_scm'},
+ :child => {:tag => 'option', :attributes => {:value => 'Mercurial', :selected => 'selected'}}
+ assert_tag 'select', :attributes => {:name => 'repository_scm'},
+ :child => {:tag => 'option', :attributes => {:value => 'Git', :selected => nil}}
+ end
+
def test_create
@request.session[:user_id] = 1
assert_difference 'Repository.count' do