summaryrefslogtreecommitdiff
path: root/spec/requests/api/issues_spec.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-04-26 11:45:10 +0000
committerRémy Coutable <remy@rymai.me>2017-04-26 11:45:10 +0000
commitf8f49cf516dd1055b5ee47172bf5997c3f679503 (patch)
tree57be46da2b61b418addf5ef5a6f71412c20a8515 /spec/requests/api/issues_spec.rb
parentd255425b8c618d389268d67ed3af1cb432fc4ef3 (diff)
parent327e344417888abbbc0811a8068c96c1af6fd326 (diff)
downloadgitlab-ce-f8f49cf516dd1055b5ee47172bf5997c3f679503.tar.gz
Merge branch '26437-closed-by' into 'master'
Add issues/:iid/closed_by api endpoint Closes #26437 See merge request !10511
Diffstat (limited to 'spec/requests/api/issues_spec.rb')
-rw-r--r--spec/requests/api/issues_spec.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb
index b37be1e0c50..784fd1ff885 100644
--- a/spec/requests/api/issues_spec.rb
+++ b/spec/requests/api/issues_spec.rb
@@ -1344,6 +1344,41 @@ describe API::Issues do
include_examples 'time tracking endpoints', 'issue'
end
+ describe 'GET :id/issues/:issue_iid/closed_by' do
+ let(:merge_request) do
+ create(:merge_request,
+ :simple,
+ author: user,
+ source_project: project,
+ target_project: project,
+ description: "closes #{issue.to_reference}")
+ end
+
+ before do
+ create(:merge_requests_closing_issues, issue: issue, merge_request: merge_request)
+ end
+
+ it 'returns merge requests that will close issue on merge' do
+ get api("/projects/#{project.id}/issues/#{issue.iid}/closed_by", user)
+
+ expect_paginated_array_response(size: 1)
+ end
+
+ context 'when no merge requests will close issue' do
+ it 'returns empty array' do
+ get api("/projects/#{project.id}/issues/#{closed_issue.iid}/closed_by", user)
+
+ expect_paginated_array_response(size: 0)
+ end
+ end
+
+ it "returns 404 when issue doesn't exists" do
+ get api("/projects/#{project.id}/issues/9999/closed_by", user)
+
+ expect(response).to have_http_status(404)
+ end
+ end
+
def expect_paginated_array_response(size: nil)
expect(response).to have_http_status(200)
expect(response).to include_pagination_headers