From 157cd395c6347ef2a3a32b897c92d5f02bca701a Mon Sep 17 00:00:00 2001 From: Gary Holtz <gholtz@gitlab.com> Date: Wed, 20 Dec 2023 04:39:23 +0000 Subject: [PATCH] Fixed an incorrect parameter for deleting draft notes in the API Changelog: fixed --- app/services/draft_notes/destroy_service.rb | 8 +++++--- lib/api/draft_notes.rb | 4 +++- spec/requests/api/draft_notes_spec.rb | 4 ++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/services/draft_notes/destroy_service.rb b/app/services/draft_notes/destroy_service.rb index ddca0debb037..6c7b0dfdbd70 100644 --- a/app/services/draft_notes/destroy_service.rb +++ b/app/services/draft_notes/destroy_service.rb @@ -15,9 +15,11 @@ def execute(draft = nil) private def clear_highlight_diffs_cache(drafts) - if drafts.any? { |draft| draft.diff_file&.unfolded? } - merge_request.diffs.clear_cache - end + merge_request.diffs.clear_cache if unfolded_drafts?(drafts) + end + + def unfolded_drafts?(drafts) + drafts.any? { |draft| draft.diff_file&.unfolded? } end end end diff --git a/lib/api/draft_notes.rb b/lib/api/draft_notes.rb index 6fadc68233dd..3d046ec4a9ba 100644 --- a/lib/api/draft_notes.rb +++ b/lib/api/draft_notes.rb @@ -22,7 +22,9 @@ def get_draft_note(params:) end def delete_draft_note(draft_note) - ::DraftNotes::DestroyService.new(user_project, current_user).execute(draft_note) + ::DraftNotes::DestroyService + .new(merge_request(params: params), current_user) + .execute(draft_note) end def publish_draft_note(params:) diff --git a/spec/requests/api/draft_notes_spec.rb b/spec/requests/api/draft_notes_spec.rb index f15ed6e2d5f1..fc465fa7c425 100644 --- a/spec/requests/api/draft_notes_spec.rb +++ b/spec/requests/api/draft_notes_spec.rb @@ -87,6 +87,10 @@ let!(:deleted_draft_note_id) { draft_note_by_current_user.id } before do + allow_next_instance_of(DraftNotes::DestroyService) do |service| + allow(service).to receive(:unfolded_drafts?).and_return(true) + end + delete api( "#{base_url}/#{draft_note_by_current_user.id}", user -- GitLab