From 7bfa5234855e8de996d5c7dff14ad6c19ea9d33b Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 23 Mar 2017 11:13:11 +0100 Subject: Resolve future conflicts with CE -> EE merge EE already includes specs for the ApplicationSettingsController, so ensure future changes will be easier to merge to EE. --- .../controllers/admin/application_settings_controller_spec.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/spec/controllers/admin/application_settings_controller_spec.rb b/spec/controllers/admin/application_settings_controller_spec.rb index 84a1ce773a1..19b35a346b7 100644 --- a/spec/controllers/admin/application_settings_controller_spec.rb +++ b/spec/controllers/admin/application_settings_controller_spec.rb @@ -6,20 +6,23 @@ describe Admin::ApplicationSettingsController do let(:admin) { create(:admin) } before do - sign_in(admin) stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') end - describe 'PATCH #update' do + describe 'PUT #update' do + before do + sign_in(admin) + end + it 'updates the default_project_visibility for string value' do - patch :update, application_setting: { default_project_visibility: "20" } + put :update, application_setting: { default_project_visibility: "20" } expect(response).to redirect_to(admin_application_settings_path) expect(ApplicationSetting.current.default_project_visibility).to eq Gitlab::VisibilityLevel::PUBLIC end it 'falls back to default with default_project_visibility setting is omitted' do - patch :update, application_setting: {} + put :update, application_setting: {} expect(response).to redirect_to(admin_application_settings_path) expect(ApplicationSetting.current.default_project_visibility).to eq Gitlab::VisibilityLevel::PRIVATE -- cgit v1.2.1 From 5058fc67acdde120e673c24555908394c72a343b Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 23 Mar 2017 15:25:42 +0100 Subject: Remove redundant code to convert restricted_levels to integers The ApplicationSetting#restricted_visibility_levels= now takes care of converting string formatted levels to integers. --- app/controllers/admin/application_settings_controller.rb | 9 --------- .../admin/application_settings_controller_spec.rb | 14 +++++++++++--- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb index 8d831ffdd70..0bfbe47eb4f 100644 --- a/app/controllers/admin/application_settings_controller.rb +++ b/app/controllers/admin/application_settings_controller.rb @@ -45,15 +45,6 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController end def application_setting_params - restricted_levels = params[:application_setting][:restricted_visibility_levels] - if restricted_levels.nil? - params[:application_setting][:restricted_visibility_levels] = [] - else - restricted_levels.map! do |level| - level.to_i - end - end - import_sources = params[:application_setting][:import_sources] if import_sources.nil? params[:application_setting][:import_sources] = [] diff --git a/spec/controllers/admin/application_settings_controller_spec.rb b/spec/controllers/admin/application_settings_controller_spec.rb index 19b35a346b7..5dd8f66343f 100644 --- a/spec/controllers/admin/application_settings_controller_spec.rb +++ b/spec/controllers/admin/application_settings_controller_spec.rb @@ -18,14 +18,22 @@ describe Admin::ApplicationSettingsController do put :update, application_setting: { default_project_visibility: "20" } expect(response).to redirect_to(admin_application_settings_path) - expect(ApplicationSetting.current.default_project_visibility).to eq Gitlab::VisibilityLevel::PUBLIC + expect(ApplicationSetting.current.default_project_visibility).to eq(Gitlab::VisibilityLevel::PUBLIC) end - it 'falls back to default with default_project_visibility setting is omitted' do + it 'update the restricted levels for string values' do + put :update, application_setting: { restricted_visibility_levels: %w[10 20] } + + expect(response).to redirect_to(admin_application_settings_path) + expect(ApplicationSetting.current.restricted_visibility_levels).to eq([10, 20]) + end + + it 'falls back to defaults when settings are omitted' do put :update, application_setting: {} expect(response).to redirect_to(admin_application_settings_path) - expect(ApplicationSetting.current.default_project_visibility).to eq Gitlab::VisibilityLevel::PRIVATE + expect(ApplicationSetting.current.default_project_visibility).to eq(Gitlab::VisibilityLevel::PRIVATE) + expect(ApplicationSetting.current.restricted_visibility_levels).to be_empty end end end -- cgit v1.2.1