diff options
author | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2017-09-15 09:53:28 +0200 |
---|---|---|
committer | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2017-09-15 09:53:31 +0200 |
commit | fb84bec54255cafecb7aa2b25816426be2d35505 (patch) | |
tree | eaf747009b2fea3aabfa4078b282a2947133c670 | |
parent | ec3b3797e789d82200de2694458cc7cde2093549 (diff) | |
download | gitlab-ce-fb84bec54255cafecb7aa2b25816426be2d35505.tar.gz |
Allow updating of project auto devops settings
Updating didn't work, as the project_id was missing to be set for the
project_auto_devops model.
Fixes gitlab-org/gitlab-ce#37893
-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 |