Merge branch '26875-builds-api-endpoint-skipped-scope' into 'master'
Add all available statuses to scope filter for project builds endpoint Closes #26875 See merge request !8971
This commit is contained in:
commit
8cc61d0b2a
3 changed files with 19 additions and 1 deletions
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Add all available statuses to scope filter for project builds endpoint
|
||||
merge_request:
|
||||
author: George Andrinopoulos
|
|
@ -11,7 +11,7 @@ module API
|
|||
helpers do
|
||||
params :optional_scope do
|
||||
optional :scope, types: [String, Array[String]], desc: 'The scope of builds to show',
|
||||
values: ['pending', 'running', 'failed', 'success', 'canceled'],
|
||||
values: ::CommitStatus::AVAILABLE_STATUSES,
|
||||
coerce_with: ->(scope) {
|
||||
if scope.is_a?(String)
|
||||
[scope]
|
||||
|
|
|
@ -16,6 +16,8 @@ describe API::Builds, api: true do
|
|||
let(:query) { '' }
|
||||
|
||||
before do
|
||||
create(:ci_build, :skipped, pipeline: pipeline)
|
||||
|
||||
get api("/projects/#{project.id}/builds?#{query}", api_user)
|
||||
end
|
||||
|
||||
|
@ -49,6 +51,18 @@ describe API::Builds, api: true do
|
|||
end
|
||||
end
|
||||
|
||||
context 'filter project with scope skipped' do
|
||||
let(:query) { 'scope=skipped' }
|
||||
let(:json_build) { json_response.first }
|
||||
|
||||
it 'return builds with status skipped' do
|
||||
expect(response).to have_http_status 200
|
||||
expect(json_response).to be_an Array
|
||||
expect(json_response.length).to eq 1
|
||||
expect(json_build['status']).to eq 'skipped'
|
||||
end
|
||||
end
|
||||
|
||||
context 'filter project with array of scope elements' do
|
||||
let(:query) { 'scope[0]=pending&scope[1]=running' }
|
||||
|
||||
|
|
Loading…
Reference in a new issue