diff options
-rw-r--r-- | app/models/project.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/zj-update-project-settings.yml | 5 | ||||
-rw-r--r-- | spec/controllers/projects/pipelines_setttings_controller_spec.rb | 31 |
3 files changed, 37 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index ff5638dd155..2b2bfbceb9d 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -192,7 +192,7 @@ class Project < ActiveRecord::Base accepts_nested_attributes_for :variables, allow_destroy: true accepts_nested_attributes_for :project_feature accepts_nested_attributes_for :import_data - accepts_nested_attributes_for :auto_devops + accepts_nested_attributes_for :auto_devops, update_only: true delegate :name, to: :owner, allow_nil: true, prefix: true delegate :members, to: :team, prefix: true diff --git a/changelogs/unreleased/zj-update-project-settings.yml b/changelogs/unreleased/zj-update-project-settings.yml new file mode 100644 index 00000000000..6ee3afcd6e2 --- /dev/null +++ b/changelogs/unreleased/zj-update-project-settings.yml @@ -0,0 +1,5 @@ +--- +title: Allow updating of project auto devops settings +merge_request: +author: +type: fixed diff --git a/spec/controllers/projects/pipelines_setttings_controller_spec.rb b/spec/controllers/projects/pipelines_setttings_controller_spec.rb new file mode 100644 index 00000000000..9eb6d7ce8b5 --- /dev/null +++ b/spec/controllers/projects/pipelines_setttings_controller_spec.rb @@ -0,0 +1,31 @@ +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: { enabled: false, domain: 'mempmep.md' } + } + end + + context 'when updating the auto_devops settings' do + 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 + end + end +end |