From aa934c7469372cac7b8cd10b49761d90d8e367fa Mon Sep 17 00:00:00 2001 From: Jarka Kadlecova Date: Wed, 21 Dec 2016 11:32:37 +0100 Subject: refresh merge widget after using /merge command --- .../projects/merge_requests_controller_spec.rb | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'spec/controllers/projects/merge_requests_controller_spec.rb') diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index 2a411d78395..c6a38863cf5 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -1048,4 +1048,56 @@ describe Projects::MergeRequestsController do end end end + + describe 'GET merge_widget_refresh' do + let(:params) do + { + namespace_id: project.namespace.path, + project_id: project.path, + id: merge_request.iid, + format: :raw + } + end + + before do + project.team << [user, :developer] + xhr :get, :merge_widget_refresh, params + end + + context 'when merge in progress' do + let(:merge_request) { create(:merge_request, source_project: project, in_progress_merge_commit_sha: 'sha') } + + it 'returns an OK response' do + expect(response).to have_http_status(:ok) + end + + it 'returns :success' do + expect(assigns(:status)).to eq(:success) + end + end + + context 'when waiting for build' do + let(:merge_request) { create(:merge_request, source_project: project, merge_when_build_succeeds: true, merge_user: user) } + + it 'returns an OK response' do + expect(response).to have_http_status(:ok) + end + + it 'returns :merge_when_build_succeeds' do + expect(assigns(:status)).to eq(:merge_when_build_succeeds) + end + end + + context 'when no special status for MR' 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 'returns nil' do + expect(assigns(:status)).to be_nil + end + end + end end -- cgit v1.2.1