summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-06-05 08:38:19 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-06-05 08:38:19 +0000
commitb7d20f14c6008a857a16977a92bb87002683059d (patch)
treef6f502ca1059a08d85b59871f8ec2560bc08d4ae
parentbedc66eb0407aa36127367f53f76944ebb98f5a6 (diff)
parent55f91f3d4348e1d7be0953d0ddf9984d65f18993 (diff)
downloadgitlab-ce-b7d20f14c6008a857a16977a92bb87002683059d.tar.gz
Merge branch 'maser/gitlab-ce-order-commit-comments-in-api' into 'master'
Order commit comments in API chronologically When fetching commit comments via API, the comments were not ordered, but just returned in the order Postgresql finds them. Now the API always returns comments in chronological order. Same as !628 but with CI See merge request !768
-rw-r--r--CHANGELOG1
-rw-r--r--lib/api/commits.rb2
-rw-r--r--spec/requests/api/commits_spec.rb3
3 files changed, 4 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index fe6b0bcee95..3df8e7ea516 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -139,6 +139,7 @@ v 7.10.4
- Fix DB error when trying to tag a repository (Stan Hu)
- Fix Error 500 when searching Wiki pages (Stan Hu)
- Unescape branch names in compare commit (Stan Hu)
+ - Order commit comments chronologically in API.
v 7.10.2
- Fix CI links on MR page
diff --git a/lib/api/commits.rb b/lib/api/commits.rb
index 23270b1c0f4..f4efb651eb6 100644
--- a/lib/api/commits.rb
+++ b/lib/api/commits.rb
@@ -62,7 +62,7 @@ module API
sha = params[:sha]
commit = user_project.commit(sha)
not_found! 'Commit' unless commit
- notes = Note.where(commit_id: commit.id)
+ notes = Note.where(commit_id: commit.id).order(:created_at)
present paginate(notes), with: Entities::CommitNote
end
diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb
index 9ea60e1a4ad..a1c248c636e 100644
--- a/spec/requests/api/commits_spec.rb
+++ b/spec/requests/api/commits_spec.rb
@@ -9,6 +9,7 @@ describe API::API, api: true do
let!(:master) { create(:project_member, user: user, project: project, access_level: ProjectMember::MASTER) }
let!(:guest) { create(:project_member, user: user2, project: project, access_level: ProjectMember::GUEST) }
let!(:note) { create(:note_on_commit, author: user, project: project, commit_id: project.repository.commit.id, note: 'a comment on a commit') }
+ let!(:another_note) { create(:note_on_commit, author: user, project: project, commit_id: project.repository.commit.id, note: 'another comment on a commit') }
before { project.team << [user, :reporter] }
@@ -89,7 +90,7 @@ describe API::API, api: true do
get api("/projects/#{project.id}/repository/commits/#{project.repository.commit.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 commit')
expect(json_response.first['author']['id']).to eq(user.id)
end