Commit ab032256da9f24351871143058343f7463f9d7fc
1 parent
5880d7df
Exists in
spb-stable
and in
2 other branches
Add some tests for merge API
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
3 changed files
with
14 additions
and
6 deletions
Show diff stats
CHANGELOG
@@ -14,6 +14,7 @@ v 6.9.0 | @@ -14,6 +14,7 @@ v 6.9.0 | ||
14 | - Fix wiki backup skip bug | 14 | - Fix wiki backup skip bug |
15 | - Two Step MR creation process | 15 | - Two Step MR creation process |
16 | - Remove unwanted files from satellite working directory with git clean -fdx | 16 | - Remove unwanted files from satellite working directory with git clean -fdx |
17 | + - Accept merge request via API (sponsored by O'Reilly Media) | ||
17 | 18 | ||
18 | v 6.8.0 | 19 | v 6.8.0 |
19 | - Ability to at mention users that are participating in issue and merge req. discussion | 20 | - Ability to at mention users that are participating in issue and merge req. discussion |
lib/api/merge_requests.rb
@@ -34,7 +34,7 @@ module API | @@ -34,7 +34,7 @@ module API | ||
34 | when "closed" then user_project.merge_requests.closed | 34 | when "closed" then user_project.merge_requests.closed |
35 | when "merged" then user_project.merge_requests.merged | 35 | when "merged" then user_project.merge_requests.merged |
36 | else user_project.merge_requests | 36 | else user_project.merge_requests |
37 | - end | 37 | + end |
38 | 38 | ||
39 | present paginate(mrs), with: Entities::MergeRequest | 39 | present paginate(mrs), with: Entities::MergeRequest |
40 | end | 40 | end |
@@ -129,7 +129,7 @@ module API | @@ -129,7 +129,7 @@ module API | ||
129 | :push_code | 129 | :push_code |
130 | end | 130 | end |
131 | 131 | ||
132 | - if can?(current_user, action, project) | 132 | + if can?(current_user, action, user_project) |
133 | if merge_request.unchecked? | 133 | if merge_request.unchecked? |
134 | merge_request.check_if_can_be_merged | 134 | merge_request.check_if_can_be_merged |
135 | end | 135 | end |
spec/requests/api/merge_requests_spec.rb
@@ -183,11 +183,18 @@ describe API::API, api: true do | @@ -183,11 +183,18 @@ describe API::API, api: true do | ||
183 | end | 183 | end |
184 | end | 184 | end |
185 | 185 | ||
186 | - describe "PUT /projects/:id/merge_request/:merge_request_id to merge MR" do | ||
187 | - it "should return merge_request" do | ||
188 | - put api("/projects/#{project.id}/merge_request/#{merge_request.id}", user), state_event: "merge" | 186 | + describe "PUT /projects/:id/merge_request/:merge_request_id/merge" do |
187 | + it "should return merge_request in case of success" do | ||
188 | + MergeRequest.any_instance.stub(can_be_merged?: true, automerge!: true) | ||
189 | + put api("/projects/#{project.id}/merge_request/#{merge_request.id}/merge", user) | ||
189 | response.status.should == 200 | 190 | response.status.should == 200 |
190 | - json_response['state'].should == 'merged' | 191 | + end |
192 | + | ||
193 | + it "should return 405 if branch can't be merged" do | ||
194 | + MergeRequest.any_instance.stub(can_be_merged?: false) | ||
195 | + put api("/projects/#{project.id}/merge_request/#{merge_request.id}/merge", user) | ||
196 | + response.status.should == 405 | ||
197 | + json_response['message'].should == 'Branch cannot be merged' | ||
191 | end | 198 | end |
192 | end | 199 | end |
193 | 200 |