mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-09 12:46:07 +10:00
Add order option for projects API
This commit is contained in:
+6
-1
@@ -22,7 +22,12 @@ module API
|
||||
projects = projects.search(params[:search])
|
||||
end
|
||||
|
||||
projects.reorder(project_order_by => project_sort)
|
||||
if params[:ci_enabled_first].present?
|
||||
projects.includes(:gitlab_ci_service).
|
||||
reorder("services.active DESC, projects.#{project_order_by} #{project_sort}")
|
||||
else
|
||||
projects.reorder(project_order_by => project_sort)
|
||||
end
|
||||
end
|
||||
|
||||
def project_order_by
|
||||
|
||||
@@ -86,6 +86,15 @@ describe API::API, api: true do
|
||||
expect(json_response).to be_an Array
|
||||
expect(json_response.first['id']).to eq(project3.id)
|
||||
end
|
||||
|
||||
it 'returns projects in the correct order when ci_enabled_first parameter is passed' do
|
||||
[project, project2, project3].each{ |project| project.build_missing_services }
|
||||
project2.gitlab_ci_service.update(active: true, token: "token", project_url: "url")
|
||||
get api('/projects', user), { ci_enabled_first: 'true'}
|
||||
expect(response.status).to eq(200)
|
||||
expect(json_response).to be_an Array
|
||||
expect(json_response.first['id']).to eq(project2.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user