diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-04-19 18:24:32 +0300 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2018-04-20 12:55:59 +0300 |
commit | 11d066cc851cfd01b9abb3b9285ecbfe6388dc45 (patch) | |
tree | b7945ad10641191a783c1edd631966159c9b23d7 | |
parent | c30de8d6ed74c969a09227172aee8bfb2cc64c88 (diff) |
Merge branch 'fj-42601-respect-visibility-options' into 'master'
Respect visibility options and description when importing project from template
Closes #42601
See merge request gitlab-org/gitlab-ce!18473
3 files changed, 26 insertions, 4 deletions
diff --git a/app/services/projects/create_from_template_service.rb b/app/services/projects/create_from_template_service.rb index a549cfbabea..29b133cc466 100644 --- a/app/services/projects/create_from_template_service.rb +++ b/app/services/projects/create_from_template_service.rb @@ -8,9 +8,10 @@ module Projects template_name = params.delete(:template_name) file = Gitlab::ProjectTemplate.find(template_name).file + override_params = params.dup params[:file] = file - GitlabProjectsImportService.new(current_user, params).execute + GitlabProjectsImportService.new(current_user, params, override_params).execute ensure file&.close diff --git a/changelogs/unreleased/fj-42601-respect-visibility-options.yml b/changelogs/unreleased/fj-42601-respect-visibility-options.yml new file mode 100644 index 00000000000..eabb337234c --- /dev/null +++ b/changelogs/unreleased/fj-42601-respect-visibility-options.yml @@ -0,0 +1,5 @@ +--- +title: Respect visibility options and description when importing project from template +merge_request: 18473 +author: +type: fixed diff --git a/spec/services/projects/create_from_template_service_spec.rb b/spec/services/projects/create_from_template_service_spec.rb index 609d678caea..d40e6f1449d 100644 --- a/spec/services/projects/create_from_template_service_spec.rb +++ b/spec/services/projects/create_from_template_service_spec.rb @@ -7,7 +7,7 @@ describe Projects::CreateFromTemplateService do path: user.to_param, template_name: 'rails', description: 'project description', - visibility_level: Gitlab::VisibilityLevel::PRIVATE + visibility_level: Gitlab::VisibilityLevel::PUBLIC } end @@ -24,7 +24,23 @@ describe Projects::CreateFromTemplateService do expect(project).to be_saved expect(project.scheduled?).to be(true) - expect(project.description).to match('project description') - expect(project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE) + end + + context 'the result project' do + before do + Sidekiq::Testing.inline! do + @project = subject.execute + end + + @project.reload + end + + it 'overrides template description' do + expect(@project.description).to match('project description') + end + + it 'overrides template visibility_level' do + expect(@project.visibility_level).to eq(Gitlab::VisibilityLevel::PUBLIC) + end end end |