summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@gitlab.com>2018-03-08 15:42:53 +0000
committerJames Lopez <james@jameslopez.es>2018-03-08 16:53:11 +0100
commit2e3a964a3b45c38716711f2b03de9b6a9d2cfd52 (patch)
tree0266a87166f22aa009f7ab6d80b72a325d2b6e5a
parent59a5a011e2eb2dd9a6b796437841ae25a80647b3 (diff)
downloadgitlab-ce-2e3a964a3b45c38716711f2b03de9b6a9d2cfd52.tar.gz
Merge branch 'sh-fix-update-service' into 'master'
Fix Error 500 when updating a project Closes #44019 See merge request gitlab-org/gitlab-ce!17647
-rw-r--r--app/services/projects/update_service.rb2
-rw-r--r--spec/services/projects/update_service_spec.rb9
2 files changed, 10 insertions, 1 deletions
diff --git a/app/services/projects/update_service.rb b/app/services/projects/update_service.rb
index 379a8068023..5f2615a2c01 100644
--- a/app/services/projects/update_service.rb
+++ b/app/services/projects/update_service.rb
@@ -58,7 +58,7 @@ module Projects
def enabling_wiki?
return false if @project.wiki_enabled?
- params[:project_feature_attributes][:wiki_access_level].to_i > ProjectFeature::DISABLED
+ params.dig(:project_feature_attributes, :wiki_access_level).to_i > ProjectFeature::DISABLED
end
def ensure_wiki_exists
diff --git a/spec/services/projects/update_service_spec.rb b/spec/services/projects/update_service_spec.rb
index ad5a289290c..d454ac0bda5 100644
--- a/spec/services/projects/update_service_spec.rb
+++ b/spec/services/projects/update_service_spec.rb
@@ -132,6 +132,15 @@ describe Projects::UpdateService do
expect(result).to eq({ status: :success })
expect(project.wiki_repository_exists?).to be false
end
+
+ it 'handles empty project feature attributes' do
+ project.project_feature.update(wiki_access_level: ProjectFeature::DISABLED)
+
+ result = update_project(project, user, { name: 'test1' })
+
+ expect(result).to eq({ status: :success })
+ expect(project.wiki_repository_exists?).to be false
+ end
end
context 'when enabling a wiki' do