Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-07-06 12:07:41 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-07-06 12:07:41 +0300
commitd2485dbfedc4759eba5243e0d155e34494c4429b (patch)
tree0cdd51c58aef728db2e3c7e9de09976e85c062bb /spec/controllers
parentd111e00680d2b3e46a7ee37af5499407c4a93a22 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/projects/merge_requests/drafts_controller_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/controllers/projects/merge_requests/drafts_controller_spec.rb b/spec/controllers/projects/merge_requests/drafts_controller_spec.rb
index fea176dfa5d..68fbeb00b67 100644
--- a/spec/controllers/projects/merge_requests/drafts_controller_spec.rb
+++ b/spec/controllers/projects/merge_requests/drafts_controller_spec.rb
@@ -239,6 +239,30 @@ RSpec.describe Projects::MergeRequests::DraftsController, feature_category: :cod
expect(draft.note).to eq('This is an updated unpublished comment')
expect(json_response['note_html']).not_to be_empty
end
+
+ context 'when the draft note is invalid' do
+ before do
+ errors = ActiveModel::Errors.new(draft)
+ errors.add(:base, 'Error 1')
+ errors.add(:base, 'Error 2')
+
+ allow_next_found_instance_of(DraftNote) do |instance|
+ allow(instance).to receive(:update).and_return(false)
+ allow(instance).to receive(:errors).and_return(errors)
+ end
+ end
+
+ it 'does not update the draft' do
+ expect { update_draft_note }.not_to change { draft.reload.note }
+ end
+
+ it 'returns status 422', :aggregate_failures do
+ update_draft_note
+
+ expect(response).to have_gitlab_http_status(:unprocessable_entity)
+ expect(response.body).to eq('{"errors":"Error 1 and Error 2"}')
+ end
+ end
end
describe 'POST #publish' do