diff options
author | Jarka Kadlecova <jarka@gitlab.com> | 2017-02-15 14:51:40 +0100 |
---|---|---|
committer | Jarka Kadlecova <jarka@gitlab.com> | 2017-02-16 13:27:31 +0100 |
commit | d89f4d73b9422aac15ee708ca72405f399c7dfa6 (patch) | |
tree | dc1a1a5909618618ed8d264608f97a6d73afb30d | |
parent | 88132258d66ca955b0e9bd93d4ee8dc12cc54537 (diff) | |
download | gitlab-ce-d89f4d73b9422aac15ee708ca72405f399c7dfa6.tar.gz |
Fix error in MR widget after /merge slash command
-rw-r--r-- | app/controllers/projects/merge_requests_controller.rb | 9 | ||||
-rw-r--r-- | changelogs/unreleased/28176_merge_widget_fix.yml | 4 | ||||
-rw-r--r-- | spec/controllers/projects/merge_requests_controller_spec.rb | 6 |
3 files changed, 13 insertions, 6 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index c3e1760f168..63b5bcbb586 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -369,10 +369,13 @@ class Projects::MergeRequestsController < Projects::ApplicationController end def merge_widget_refresh - if merge_request.in_progress_merge_commit_sha || merge_request.state == 'merged' - @status = :success - elsif merge_request.merge_when_build_succeeds + if merge_request.merge_when_build_succeeds @status = :merge_when_build_succeeds + else + # Only MRs that can be merged end in this action + # MR can be already picked up for merge / merged already or can be waiting for worker to be picked up + # in last case it does not have any special status. Possible error is handled inside widget js function + @status = :success end render 'merge' diff --git a/changelogs/unreleased/28176_merge_widget_fix.yml b/changelogs/unreleased/28176_merge_widget_fix.yml new file mode 100644 index 00000000000..8e4e75fc237 --- /dev/null +++ b/changelogs/unreleased/28176_merge_widget_fix.yml @@ -0,0 +1,4 @@ +--- +title: Fix error in MR widget after /merge slash command +merge_request: 9259 +author: diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index bfd134e406e..f84f922ba5e 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -1143,15 +1143,15 @@ describe Projects::MergeRequestsController do end end - context 'when no special status for MR' do + context 'when MR does not have special state' do let(:merge_request) { create(:merge_request, source_project: project) } it 'returns an OK response' do expect(response).to have_http_status(:ok) end - it 'sets status to nil' do - expect(assigns(:status)).to be_nil + it 'sets status to success' do + expect(assigns(:status)).to eq(:success) expect(response).to render_template('merge') end end |