summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-04-19 15:24:32 +0000
committerFilipa Lacerda <filipa@gitlab.com>2018-04-20 10:55:59 +0100
commit11d066cc851cfd01b9abb3b9285ecbfe6388dc45 (patch)
treeb7945ad10641191a783c1edd631966159c9b23d7
parentc30de8d6ed74c969a09227172aee8bfb2cc64c88 (diff)
downloadgitlab-ce-11d066cc851cfd01b9abb3b9285ecbfe6388dc45.tar.gz
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
-rw-r--r--app/services/projects/create_from_template_service.rb3
-rw-r--r--changelogs/unreleased/fj-42601-respect-visibility-options.yml5
-rw-r--r--spec/services/projects/create_from_template_service_spec.rb22
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