summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-07-16 22:33:58 -0700
committerStan Hu <stanhu@gmail.com>2015-07-16 22:33:58 -0700
commit6c9f527b3f3f0c47438e0722792ca247a44e4964 (patch)
tree08a48d27d44cfb36ba638c444b91dc99e6d3f0a1
parentdaed441dfe2bff0c64c581a802ee38a1ac42e6c6 (diff)
downloadgitlab-ce-6c9f527b3f3f0c47438e0722792ca247a44e4964.tar.gz
Return comments in created order in merge request API
Closes #1832
-rw-r--r--CHANGELOG1
-rw-r--r--lib/api/merge_requests.rb2
-rw-r--r--spec/requests/api/merge_requests_spec.rb6
3 files changed, 6 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 12564b3bb56..dbd3975095e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
Please view this file on the master branch, on stable branches it's out of date.
v 7.13.0 (unreleased)
+ - Return comments in created order in merge request API (Stan Hu)
- Only enable HSTS header for HTTPS and port 443 (Stan Hu)
- Fix user autocomplete for unauthenticated users accessing public projects (Stan Hu)
- Fix redirection to home page URL for unauthorized users (Daniel Gerhardt)
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index aa43e1dffd9..ce21c699e8f 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -229,7 +229,7 @@ module API
authorize! :read_merge_request, merge_request
- present paginate(merge_request.notes), with: Entities::MRNote
+ present paginate(merge_request.notes.fresh), with: Entities::MRNote
end
# Post comment to merge request
diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb
index 7030c105b58..29db035b2de 100644
--- a/spec/requests/api/merge_requests_spec.rb
+++ b/spec/requests/api/merge_requests_spec.rb
@@ -8,6 +8,7 @@ describe API::API, api: true do
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") }
+ let!(:note2) { create(:note_on_merge_request, author: user, project: project, noteable: merge_request, note: "another comment on a MR") }
before do
project.team << [user, :reporters]
@@ -397,13 +398,14 @@ describe API::API, api: true do
end
describe "GET :id/merge_request/:merge_request_id/comments" do
- it "should return merge_request comments" do
+ it "should return merge_request comments ordered by created_at" do
get api("/projects/#{project.id}/merge_request/#{merge_request.id}/comments", user)
expect(response.status).to eq(200)
expect(json_response).to be_an Array
- expect(json_response.length).to eq(1)
+ expect(json_response.length).to eq(2)
expect(json_response.first['note']).to eq("a comment on a MR")
expect(json_response.first['author']['id']).to eq(user.id)
+ expect(json_response.last['note']).to eq("another comment on a MR")
end
it "should return a 404 error if merge_request_id not found" do