Skip to content
Snippets Groups Projects
Commit 7c7916ba authored by Phil Hughes's avatar Phil Hughes
Browse files

Merge branch 'osw-adjusts-suggestions-unable-to-be-applied' into 'master'

Adjusts suggestions unable to be applied

Closes #56690

See merge request gitlab-org/gitlab-ce!24603
parents bf2fe35e 1b93b3b6
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -415,12 +415,13 @@ export const submitSuggestion = (
commit(types.APPLY_SUGGESTION, { discussionId, noteId, suggestionId });
callback();
})
.catch(() => {
Flash(
__('Something went wrong while applying the suggestion. Please try again.'),
'alert',
flashContainer,
.catch(err => {
const defaultMessage = __(
'Something went wrong while applying the suggestion. Please try again.',
);
const flashMessage = err.response.data ? `${err.response.data.message}.` : defaultMessage;
Flash(__(flashMessage), 'alert', flashContainer);
callback();
});
};
Loading
Loading
Loading
Loading
@@ -11,7 +11,7 @@ module Suggestions
return error('Suggestion is not appliable')
end
 
unless latest_diff_refs?(suggestion)
unless latest_source_head?(suggestion)
return error('The file has been changed')
end
 
Loading
Loading
@@ -29,12 +29,13 @@ module Suggestions
 
private
 
# Checks whether the latest diff refs for the branch matches with
# the position refs we're using to update the file content. Since
# the persisted refs are updated async (for MergeRequest),
# it's more consistent to fetch this data directly from the repository.
def latest_diff_refs?(suggestion)
suggestion.position.diff_refs == suggestion.noteable.repository_diff_refs
# Checks whether the latest source branch HEAD matches with
# the position HEAD we're using to update the file content. Since
# the persisted HEAD is updated async (for MergeRequest),
# it's more consistent to fetch this data directly from the
# repository.
def latest_source_head?(suggestion)
suggestion.position.head_sha == suggestion.noteable.source_branch_sha
end
 
def file_update_params(suggestion)
Loading
Loading
---
title: Adjusts suggestions unable to be applied
merge_request: 24603
author:
type: fixed
Loading
Loading
@@ -134,12 +134,11 @@ describe Suggestions::ApplyService do
end
end
 
context 'when diff ref from position is different from repo diff refs' do
context 'when HEAD from position is different from source branch HEAD on repo' do
it 'returns error message' do
outdated_refs = Gitlab::Diff::DiffRefs.new(base_sha: 'foo', start_sha: 'bar', head_sha: 'outdated')
allow(suggestion).to receive(:appliable?) { true }
allow(suggestion.position).to receive(:diff_refs) { outdated_refs }
allow(suggestion.position).to receive(:head_sha) { 'old-sha' }
allow(suggestion.noteable).to receive(:source_branch_sha) { 'new-sha' }
 
result = subject.execute(suggestion)
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment