summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@gitlab.com>2018-03-08 15:42:53 +0000
committerJames Lopez <james@gitlab.com>2018-03-08 15:42:53 +0000
commitc29c0b30c32cf9167283e182c15c7ec5ab66bee0 (patch)
tree5f9a2df38f5c5bbffa9399d4ae4e343f76b22efb
parentac1f3bc3e43ad90de16b6ad12f549c9838f51e3b (diff)
parent9c8e9046c7a10ff761a09697610eb52fd6578b88 (diff)
downloadgitlab-ce-c29c0b30c32cf9167283e182c15c7ec5ab66bee0.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