Merge branch 'fix/29125' into 'master'
Port of fix/29125-ee to CE Closes #29125 See merge request !10796
This commit is contained in:
commit
f96e1bf124
|
@ -157,7 +157,7 @@ import MiniPipelineGraph from './mini_pipeline_graph_dropdown';
|
|||
$('.ci-widget-fetching').show();
|
||||
return $.getJSON(this.opts.ci_status_url, (function(_this) {
|
||||
return function(data) {
|
||||
var message, status, title;
|
||||
var message, status, title, callback;
|
||||
_this.status = data.status;
|
||||
_this.hasCi = data.has_ci;
|
||||
_this.updateMergeButton(_this.status, _this.hasCi);
|
||||
|
@ -179,6 +179,12 @@ import MiniPipelineGraph from './mini_pipeline_graph_dropdown';
|
|||
_this.opts.ci_sha = data.sha;
|
||||
_this.updateCommitUrls(data.sha);
|
||||
}
|
||||
if (data.status === "success" || data.status === "failed") {
|
||||
callback = function() {
|
||||
return _this.getMergeStatus();
|
||||
};
|
||||
return setTimeout(callback, 2000);
|
||||
}
|
||||
if (showNotification && data.status) {
|
||||
status = _this.ciLabelForStatus(data.status);
|
||||
if (status === "preparing") {
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
= render 'projects/merge_requests/widget/open/conflicts'
|
||||
- elsif @merge_request.work_in_progress?
|
||||
= render 'projects/merge_requests/widget/open/wip'
|
||||
- elsif @merge_request.merge_when_pipeline_succeeds? && @merge_request.merge_error.present?
|
||||
= render 'projects/merge_requests/widget/open/error'
|
||||
- elsif @merge_request.merge_when_pipeline_succeeds?
|
||||
= render 'projects/merge_requests/widget/open/merge_when_pipeline_succeeds'
|
||||
- elsif !@merge_request.can_be_merged_by?(current_user)
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
%h4
|
||||
= icon('exclamation-triangle')
|
||||
This merge request failed to be merged automatically
|
||||
|
||||
%p
|
||||
= @merge_request.merge_error
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Display custom hook error messages when automatic merge is enabled
|
||||
merge_request:
|
||||
author:
|
|
@ -141,6 +141,27 @@ describe 'Merge request', :feature, :js do
|
|||
end
|
||||
end
|
||||
|
||||
context 'view merge request with MWPS enabled but automatically merge fails' do
|
||||
before do
|
||||
merge_request.update(
|
||||
merge_when_pipeline_succeeds: true,
|
||||
merge_user: merge_request.author,
|
||||
merge_error: 'Something went wrong'
|
||||
)
|
||||
|
||||
visit namespace_project_merge_request_path(project.namespace, project, merge_request)
|
||||
end
|
||||
|
||||
it 'shows information about the merge error' do
|
||||
# Wait for the `ci_status` and `merge_check` requests
|
||||
wait_for_ajax
|
||||
|
||||
page.within('.mr-widget-body') do
|
||||
expect(page).to have_content('Something went wrong')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'merge error' do
|
||||
before do
|
||||
allow_any_instance_of(Repository).to receive(:merge).and_return(false)
|
||||
|
|
Loading…
Reference in New Issue