summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2017-09-19 06:58:51 +0000
committerRobert Speicher <rspeicher@gmail.com>2017-09-19 14:28:53 -0400
commitb8791814d49752d8977ee4724666cb8bc8230718 (patch)
treecc0ab2d99981ead53e25b0c602bdddd51b72dcc4 /spec
parent3528eba46e149e1a8a0328439d5f4841effcc2dc (diff)
downloadgitlab-ce-b8791814d49752d8977ee4724666cb8bc8230718.tar.gz
Merge branch 'zj-update-project-settings' into 'master'
Allow updating of project auto devops settings Closes #37893 See merge request gitlab-org/gitlab-ce!14291
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/projects/pipelines_settings_controller_spec.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/controllers/projects/pipelines_settings_controller_spec.rb b/spec/controllers/projects/pipelines_settings_controller_spec.rb
new file mode 100644
index 00000000000..ee46ad00947
--- /dev/null
+++ b/spec/controllers/projects/pipelines_settings_controller_spec.rb
@@ -0,0 +1,43 @@
+require 'spec_helper'
+
+describe Projects::PipelinesSettingsController do
+ set(:user) { create(:user) }
+ set(:project_auto_devops) { create(:project_auto_devops) }
+ let(:project) { project_auto_devops.project }
+
+ before do
+ project.add_master(user)
+
+ sign_in(user)
+ end
+
+ describe 'PATCH update' do
+ before do
+ patch :update,
+ namespace_id: project.namespace.to_param,
+ project_id: project,
+ project: {
+ auto_devops_attributes: params
+ }
+ end
+
+ context 'when updating the auto_devops settings' do
+ let(:params) { { enabled: '', domain: 'mepmep.md' } }
+
+ it 'redirects to the settings page' do
+ expect(response).to have_http_status(302)
+ expect(flash[:notice]).to eq("Pipelines settings for '#{project.name}' were successfully updated.")
+ end
+
+ context 'following the instance default' do
+ let(:params) { { enabled: '' } }
+
+ it 'allows enabled to be set to nil' do
+ project_auto_devops.reload
+
+ expect(project_auto_devops.enabled).to be_nil
+ end
+ end
+ end
+ end
+end