Add commit stats to commit api response

This commit is contained in:
dixpac 2016-07-27 11:02:49 +02:00
parent 17be364d07
commit a4bb9993c4
4 changed files with 15 additions and 0 deletions

View file

@ -22,6 +22,7 @@ v 8.11.0 (unreleased)
- Add the `sprockets-es6` gem
- Multiple trigger variables show in separate lines (Katarzyna Kobierska Ula Budziszewska)
- Profile requests when a header is passed
- Add commit stats in commit api. !5517 (dixpac)
- Make error pages responsive (Takuya Noguchi)
- Change requests_profiles resource constraint to catch virtually any file

View file

@ -81,6 +81,11 @@ Example response:
"parent_ids": [
"ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba"
],
"stats": {
"additions": 15,
"deletions": 10,
"total": 25
},
"status": "running"
}
```

View file

@ -149,8 +149,13 @@ module API
expose :safe_message, as: :message
end
class RepoCommitStats < Grape::Entity
expose :additions, :deletions, :total
end
class RepoCommitDetail < RepoCommit
expose :parent_ids, :committed_date, :authored_date
expose :stats, using: Entities::RepoCommitStats
expose :status
end

View file

@ -73,9 +73,13 @@ describe API::API, api: true do
context "authorized user" do
it "should return a commit by sha" do
get api("/projects/#{project.id}/repository/commits/#{project.repository.commit.id}", user)
expect(response).to have_http_status(200)
expect(json_response['id']).to eq(project.repository.commit.id)
expect(json_response['title']).to eq(project.repository.commit.title)
expect(json_response['stats']['additions']).to eq(project.repository.commit.stats.additions)
expect(json_response['stats']['deletions']).to eq(project.repository.commit.stats.deletions)
expect(json_response['stats']['total']).to eq(project.repository.commit.stats.total)
end
it "should return a 404 error if not found" do