summaryrefslogtreecommitdiff
path: root/lib/api/merge_requests.rb
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <mail@zjvandeweg.nl>2015-11-24 14:59:02 +0100
committerZeger-Jan van de Weg <mail@zjvandeweg.nl>2015-12-02 13:27:16 +0100
commita7682f8775a4609ac8c70151ffe8f3ccf3b767b6 (patch)
tree0a8cbe67be583b1e02daa1316b22b1b67ef018a8 /lib/api/merge_requests.rb
parent8608c6325e19f529f7b43ff881c562d3a0114e1c (diff)
downloadgitlab-ce-a7682f8775a4609ac8c70151ffe8f3ccf3b767b6.tar.gz
Specs for 'Merge When Build Succeeds'
Diffstat (limited to 'lib/api/merge_requests.rb')
-rw-r--r--lib/api/merge_requests.rb22
1 files changed, 8 insertions, 14 deletions
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index b72f816932b..32cb1137ef7 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -179,11 +179,11 @@ module API
# Merge MR
#
# Parameters:
- # id (required) - The ID of a project
- # merge_request_id (required) - ID of MR
- # merge_commit_message (optional) - Custom merge commit message
- # should_remove_source_branch - When true, the source branch will be deleted if possible
- # merge_when_build_succeeds (optional) - When true, this MR will be merged when the build succeeds
+ # id (required) - The ID of a project
+ # merge_request_id (required) - ID of MR
+ # merge_commit_message (optional) - Custom merge commit message
+ # should_remove_source_branch (optional) - When true, the source branch will be deleted if possible
+ # merge_when_build_succeeds (optional) - When true, this MR will be merged when the build succeeds
# Example:
# PUT /projects/:id/merge_request/:merge_request_id/merge
#
@@ -193,12 +193,11 @@ module API
# Merge request can not be merged
# because user dont have permissions to push into target branch
unauthorized! unless merge_request.can_be_merged_by?(current_user)
-
- not_allowed! unless merge_request.open? && !merge_request.work_in_progress?
+ not_allowed! if !merge_request.open? || merge_request.work_in_progress?
merge_request.check_if_can_be_merged if merge_request.unchecked?
- render_api_error!('Branch cannot be merged', 406) if merge_request.can_be_merged?
+ render_api_error!('Branch cannot be merged', 406) unless merge_request.can_be_merged?
merge_params = {
commit_message: params[:merge_commit_message],
@@ -206,7 +205,7 @@ module API
}
if parse_boolean(params[:merge_when_build_succeeds]) && merge_request.ci_commit && merge_request.ci_commit.active?
- ::MergeRequest::MergeWhenBuildSucceedsService.new(merge_request.target_project, current_user, merge_params).
+ ::MergeRequests::MergeWhenBuildSucceedsService.new(merge_request.target_project, current_user, merge_params).
execute(merge_request)
else
::MergeRequests::MergeService.new(merge_request.target_project, current_user, merge_params).
@@ -224,11 +223,6 @@ module API
post ":id/merge_request/:merge_request_id/cancel_merge_when_build_succeeds" do
merge_request = user_project.merge_requests.find(params[:merge_request_id])
- allowed = ::Gitlab::GitAccess.new(current_user, user_project).
- can_push_to_branch?(merge_request.target_branch)
-
- # Merge request can not be merged
- # because user dont have permissions to push into target branch
unauthorized! unless merge_request.can_cancel_merge_when_build_succeeds?(current_user)
::MergeRequest::MergeWhenBuildSucceedsService.new(merge_request.target_project, current_user).cancel(merge_request)