Merge branch 'api-fix-milestone-iid-filter' into 'master'
API: Add iid filter to milestones This was documented in the API docs but it was never working because the iid filter was never applied to the milestones. The tests were working by accident because the were checking the first element, which was by accident the request element. * Closes https://github.com/gitlabhq/gitlabhq/issues/10122 See merge request !3588
This commit is contained in:
commit
734df1bb50
|
@ -23,6 +23,7 @@ v 8.7.0 (unreleased)
|
|||
- Add default scope to projects to exclude projects pending deletion
|
||||
- Ensure empty recipients are rejected in BuildsEmailService
|
||||
- API: Ability to filter milestones by state `active` and `closed` (Robert Schilling)
|
||||
- API: Fix milestone filtering by `iid` (Robert Schilling)
|
||||
- Implement 'Groups View' as an option for dashboard preferences !3379 (Elias W.)
|
||||
- Better errors handling when creating milestones inside groups
|
||||
- Implement 'TODOs View' as an option for dashboard preferences !3379 (Elias W.)
|
||||
|
|
|
@ -21,6 +21,7 @@ module API
|
|||
# state (optional) - Return "active" or "closed" milestones
|
||||
# Example Request:
|
||||
# GET /projects/:id/milestones
|
||||
# GET /projects/:id/milestones?iid=42
|
||||
# GET /projects/:id/milestones?state=active
|
||||
# GET /projects/:id/milestones?state=closed
|
||||
get ":id/milestones" do
|
||||
|
@ -28,6 +29,7 @@ module API
|
|||
|
||||
milestones = user_project.milestones
|
||||
milestones = filter_milestones_state(milestones, params[:state])
|
||||
milestones = filter_by_iid(milestones, params[:iid]) if params[:iid].present?
|
||||
|
||||
present paginate(milestones), with: Entities::Milestone
|
||||
end
|
||||
|
|
|
@ -50,10 +50,12 @@ describe API::API, api: true do
|
|||
end
|
||||
|
||||
it 'should return a project milestone by iid' do
|
||||
get api("/projects/#{project.id}/milestones?iid=#{milestone.iid}", user)
|
||||
get api("/projects/#{project.id}/milestones?iid=#{closed_milestone.iid}", user)
|
||||
|
||||
expect(response.status).to eq 200
|
||||
expect(json_response.first['title']).to eq milestone.title
|
||||
expect(json_response.first['id']).to eq milestone.id
|
||||
expect(json_response.size).to eq(1)
|
||||
expect(json_response.first['title']).to eq closed_milestone.title
|
||||
expect(json_response.first['id']).to eq closed_milestone.id
|
||||
end
|
||||
|
||||
it 'should return 401 error if user not authenticated' do
|
||||
|
|
Loading…
Reference in New Issue