diff options
author | James Lopez <james@gitlab.com> | 2018-03-08 15:42:53 +0000 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2018-03-08 16:53:11 +0100 |
commit | 2e3a964a3b45c38716711f2b03de9b6a9d2cfd52 (patch) | |
tree | 0266a87166f22aa009f7ab6d80b72a325d2b6e5a | |
parent | 59a5a011e2eb2dd9a6b796437841ae25a80647b3 (diff) | |
download | gitlab-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.rb | 2 | ||||
-rw-r--r-- | spec/services/projects/update_service_spec.rb | 9 |
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 |