Merge branch '39619-cancel-merge-when-pipeline-succeeds-from-the-api-fails' into 'master'

Fix namespacing for MergeWhenPipelineSucceedsService in MR API

Closes #39619

See merge request gitlab-org/gitlab-ce!15088
This commit is contained in:
Rémy Coutable 2017-10-31 11:58:38 +00:00
commit 19bf710354
3 changed files with 30 additions and 1 deletions

View File

@ -0,0 +1,5 @@
---
title: Fix namespacing for MergeWhenPipelineSucceedsService in MR API
merge_request:
author:
type: fixed

View File

@ -295,7 +295,7 @@ module API
unauthorized! unless merge_request.can_cancel_merge_when_pipeline_succeeds?(current_user)
::MergeRequest::MergeWhenPipelineSucceedsService
::MergeRequests::MergeWhenPipelineSucceedsService
.new(merge_request.target_project, current_user)
.cancel(merge_request)
end

View File

@ -1061,6 +1061,30 @@ describe API::MergeRequests do
end
end
describe 'POST :id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds' do
before do
::MergeRequests::MergeWhenPipelineSucceedsService.new(merge_request.target_project, user).execute(merge_request)
end
it 'removes the merge_when_pipeline_succeeds status' do
post api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/cancel_merge_when_pipeline_succeeds", user)
expect(response).to have_gitlab_http_status(201)
end
it 'returns 404 if the merge request is not found' do
post api("/projects/#{project.id}/merge_requests/123/merge_when_pipeline_succeeds", user)
expect(response).to have_gitlab_http_status(404)
end
it 'returns 404 if the merge request id is used instead of iid' do
post api("/projects/#{project.id}/merge_requests/#{merge_request.id}/merge_when_pipeline_succeeds", user)
expect(response).to have_gitlab_http_status(404)
end
end
describe 'Time tracking' do
let(:issuable) { merge_request }