summaryrefslogtreecommitdiff
path: root/spec/requests/api/merge_requests_spec.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-04-13 20:10:39 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-04-13 20:10:39 +0300
commit53b52b11d5cbaa32f98c267eb53b4b7c928a92c4 (patch)
tree49cfa37aad6bbf696da7c80fd966718a7b302da6 /spec/requests/api/merge_requests_spec.rb
parent481bbd753416d14dbfbfe342856792bd51e0090f (diff)
parent66209fbc7668b5b64b34c2997185223891211829 (diff)
downloadgitlab-ce-53b52b11d5cbaa32f98c267eb53b4b7c928a92c4.tar.gz
Merge pull request #6699 from criteo/api_get_open_merge_requests
Add optional parameter to list merge requests
Diffstat (limited to 'spec/requests/api/merge_requests_spec.rb')
-rw-r--r--spec/requests/api/merge_requests_spec.rb34
1 files changed, 33 insertions, 1 deletions
diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb
index 3918498e22f..db7c30e1ab8 100644
--- a/spec/requests/api/merge_requests_spec.rb
+++ b/spec/requests/api/merge_requests_spec.rb
@@ -7,6 +7,8 @@ describe API::API, api: true do
let(:user) { create(:user) }
let!(:project) {create(:project, creator_id: user.id, namespace: user.namespace) }
let!(:merge_request) { create(:merge_request, :simple, author: user, assignee: user, source_project: project, target_project: project, title: "Test") }
+ let!(:merge_request_closed) { create(:merge_request, state: "closed", author: user, assignee: user, source_project: project, target_project: project, title: "Closed test") }
+ let!(:merge_request_merged) { create(:merge_request, state: "merged", author: user, assignee: user, source_project: project, target_project: project, title: "Merged test") }
let!(:note) { create(:note_on_merge_request, author: user, project: project, noteable: merge_request, note: "a comment on a MR") }
before {
project.team << [user, :reporters]
@@ -21,12 +23,42 @@ describe API::API, api: true do
end
context "when authenticated" do
- it "should return an array of merge_requests" do
+ it "should return an array of all merge_requests" do
get api("/projects/#{project.id}/merge_requests", user)
response.status.should == 200
json_response.should be_an Array
+ json_response.length.should == 3
json_response.first['title'].should == merge_request.title
end
+ it "should return an array of all merge_requests" do
+ get api("/projects/#{project.id}/merge_requests?state", user)
+ response.status.should == 200
+ json_response.should be_an Array
+ json_response.length.should == 3
+ json_response.first['title'].should == merge_request.title
+ end
+ it "should return an array of open merge_requests" do
+ get api("/projects/#{project.id}/merge_requests?state=opened", user)
+ response.status.should == 200
+ json_response.should be_an Array
+ json_response.length.should == 1
+ json_response.first['title'].should == merge_request.title
+ end
+ it "should return an array of closed merge_requests" do
+ get api("/projects/#{project.id}/merge_requests?state=closed", user)
+ response.status.should == 200
+ json_response.should be_an Array
+ json_response.length.should == 2
+ json_response.first['title'].should == merge_request_closed.title
+ json_response.second['title'].should == merge_request_merged.title
+ end
+ it "should return an array of merged merge_requests" do
+ get api("/projects/#{project.id}/merge_requests?state=merged", user)
+ response.status.should == 200
+ json_response.should be_an Array
+ json_response.length.should == 1
+ json_response.first['title'].should == merge_request_merged.title
+ end
end
end