Commit e6cdfb607a3ac87d110d5d200b5900f531d1669e
1 parent
77bc1101
Exists in
master
and in
4 other branches
API: tests for merge_requests
Showing
3 changed files
with
72 additions
and
10 deletions
Show diff stats
doc/api/merge_requests.md
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | Get all MR for this project. | 3 | Get all MR for this project. |
4 | 4 | ||
5 | ``` | 5 | ``` |
6 | -GET /:id/merge_requests | 6 | +GET /projects/:id/merge_requests |
7 | ``` | 7 | ``` |
8 | 8 | ||
9 | Parameters: | 9 | Parameters: |
@@ -43,7 +43,7 @@ Parameters: | @@ -43,7 +43,7 @@ Parameters: | ||
43 | Show information about MR. | 43 | Show information about MR. |
44 | 44 | ||
45 | ``` | 45 | ``` |
46 | -GET /:id/merge_request/:merge_request_id | 46 | +GET /projects/:id/merge_request/:merge_request_id |
47 | ``` | 47 | ``` |
48 | 48 | ||
49 | Parameters: | 49 | Parameters: |
@@ -83,7 +83,7 @@ Parameters: | @@ -83,7 +83,7 @@ Parameters: | ||
83 | Create MR. | 83 | Create MR. |
84 | 84 | ||
85 | ``` | 85 | ``` |
86 | -POST /:id/merge_requests | 86 | +POST /projects/:id/merge_requests |
87 | ``` | 87 | ``` |
88 | 88 | ||
89 | Parameters: | 89 | Parameters: |
@@ -125,7 +125,7 @@ Parameters: | @@ -125,7 +125,7 @@ Parameters: | ||
125 | Update MR. You can change branches, title, or even close the MR. | 125 | Update MR. You can change branches, title, or even close the MR. |
126 | 126 | ||
127 | ``` | 127 | ``` |
128 | -PUT /:id/merge_request/:merge_request_id | 128 | +PUT /projects/:id/merge_request/:merge_request_id |
129 | ``` | 129 | ``` |
130 | 130 | ||
131 | Parameters: | 131 | Parameters: |
@@ -169,7 +169,7 @@ Parameters: | @@ -169,7 +169,7 @@ Parameters: | ||
169 | Post comment to MR | 169 | Post comment to MR |
170 | 170 | ||
171 | ``` | 171 | ``` |
172 | -POST /:id/merge_request/:merge_request_id/comments | 172 | +POST /projects/:id/merge_request/:merge_request_id/comments |
173 | ``` | 173 | ``` |
174 | 174 | ||
175 | Parameters: | 175 | Parameters: |
lib/api/merge_requests.rb
@@ -11,7 +11,7 @@ module Gitlab | @@ -11,7 +11,7 @@ module Gitlab | ||
11 | # id (required) - The ID or code name of a project | 11 | # id (required) - The ID or code name of a project |
12 | # | 12 | # |
13 | # Example: | 13 | # Example: |
14 | - # GET /:id/merge_requests | 14 | + # GET /projects/:id/merge_requests |
15 | # | 15 | # |
16 | get ":id/merge_requests" do | 16 | get ":id/merge_requests" do |
17 | authorize! :read_merge_request, user_project | 17 | authorize! :read_merge_request, user_project |
@@ -26,7 +26,7 @@ module Gitlab | @@ -26,7 +26,7 @@ module Gitlab | ||
26 | # merge_request_id (required) - The ID of MR | 26 | # merge_request_id (required) - The ID of MR |
27 | # | 27 | # |
28 | # Example: | 28 | # Example: |
29 | - # GET /:id/merge_request/:merge_request_id | 29 | + # GET /projects/:id/merge_request/:merge_request_id |
30 | # | 30 | # |
31 | get ":id/merge_request/:merge_request_id" do | 31 | get ":id/merge_request/:merge_request_id" do |
32 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) | 32 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) |
@@ -47,7 +47,7 @@ module Gitlab | @@ -47,7 +47,7 @@ module Gitlab | ||
47 | # title (required) - Title of MR | 47 | # title (required) - Title of MR |
48 | # | 48 | # |
49 | # Example: | 49 | # Example: |
50 | - # POST /:id/merge_requests | 50 | + # POST /projects/:id/merge_requests |
51 | # | 51 | # |
52 | post ":id/merge_requests" do | 52 | post ":id/merge_requests" do |
53 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title] | 53 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title] |
@@ -75,7 +75,7 @@ module Gitlab | @@ -75,7 +75,7 @@ module Gitlab | ||
75 | # title - Title of MR | 75 | # title - Title of MR |
76 | # closed - Status of MR. true - closed | 76 | # closed - Status of MR. true - closed |
77 | # Example: | 77 | # Example: |
78 | - # PUT /:id/merge_request/:merge_request_id | 78 | + # PUT /projects/:id/merge_request/:merge_request_id |
79 | # | 79 | # |
80 | put ":id/merge_request/:merge_request_id" do | 80 | put ":id/merge_request/:merge_request_id" do |
81 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title, :closed] | 81 | attrs = attributes_for_keys [:source_branch, :target_branch, :assignee_id, :title, :closed] |
@@ -99,7 +99,7 @@ module Gitlab | @@ -99,7 +99,7 @@ module Gitlab | ||
99 | # merge_request_id (required) - ID of MR | 99 | # merge_request_id (required) - ID of MR |
100 | # note (required) - Text of comment | 100 | # note (required) - Text of comment |
101 | # Examples: | 101 | # Examples: |
102 | - # POST /:id/merge_request/:merge_request_id/comments | 102 | + # POST /projects/:id/merge_request/:merge_request_id/comments |
103 | # | 103 | # |
104 | post ":id/merge_request/:merge_request_id/comments" do | 104 | post ":id/merge_request/:merge_request_id/comments" do |
105 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) | 105 | merge_request = user_project.merge_requests.find(params[:merge_request_id]) |
@@ -0,0 +1,62 @@ | @@ -0,0 +1,62 @@ | ||
1 | +require "spec_helper" | ||
2 | + | ||
3 | +describe Gitlab::API do | ||
4 | + include ApiHelpers | ||
5 | + | ||
6 | + let(:user) { Factory :user } | ||
7 | + let!(:project) { Factory :project, owner: user } | ||
8 | + let!(:merge_request) { Factory :merge_request, author: user, assignee: user, project: project, title: "Test" } | ||
9 | + before { project.add_access(user, :read) } | ||
10 | + | ||
11 | + describe "GET /projects/:id/merge_requests" do | ||
12 | + context "when unauthenticated" do | ||
13 | + it "should return authentication error" do | ||
14 | + get api("/projects/#{project.id}/merge_requests") | ||
15 | + response.status.should == 401 | ||
16 | + end | ||
17 | + end | ||
18 | + | ||
19 | + context "when authenticated" do | ||
20 | + it "should return an array of merge_requests" do | ||
21 | + get api("/projects/#{project.id}/merge_requests", user) | ||
22 | + response.status.should == 200 | ||
23 | + json_response.should be_an Array | ||
24 | + json_response.first['title'].should == merge_request.title | ||
25 | + end | ||
26 | + end | ||
27 | + end | ||
28 | + | ||
29 | + describe "GET /projects/:id/merge_request/:merge_request_id" do | ||
30 | + it "should return merge_request" do | ||
31 | + get api("/projects/#{project.id}/merge_request/#{merge_request.id}", user) | ||
32 | + response.status.should == 200 | ||
33 | + json_response['title'].should == merge_request.title | ||
34 | + end | ||
35 | + end | ||
36 | + | ||
37 | + describe "POST /projects/:id/merge_requests" do | ||
38 | + it "should return merge_request" do | ||
39 | + post api("/projects/#{project.id}/merge_requests", user), | ||
40 | + title: 'Test merge_request', source_branch: "stable", target_branch: "master", author: user | ||
41 | + response.status.should == 201 | ||
42 | + json_response['title'].should == 'Test merge_request' | ||
43 | + end | ||
44 | + end | ||
45 | + | ||
46 | + describe "PUT /projects/:id/merge_request/:merge_request_id" do | ||
47 | + it "should return merge_request" do | ||
48 | + put api("/projects/#{project.id}/merge_request/#{merge_request.id}", user), title: "New title" | ||
49 | + response.status.should == 200 | ||
50 | + json_response['title'].should == 'New title' | ||
51 | + end | ||
52 | + end | ||
53 | + | ||
54 | + describe "POST /projects/:id/merge_request/:merge_request_id/comments" do | ||
55 | + it "should return comment" do | ||
56 | + post api("/projects/#{project.id}/merge_request/#{merge_request.id}/comments", user), note: "My comment" | ||
57 | + response.status.should == 201 | ||
58 | + json_response['note'].should == 'My comment' | ||
59 | + end | ||
60 | + end | ||
61 | + | ||
62 | +end |