diff --git a/ee/app/graphql/ee/types/ci/pipeline_type.rb b/ee/app/graphql/ee/types/ci/pipeline_type.rb index 2f489bc6e536e3874ca0947eb5813c18a1d9cdef..de4002c6455c0cabc0512c1d47bae9c2f4964785 100644 --- a/ee/app/graphql/ee/types/ci/pipeline_type.rb +++ b/ee/app/graphql/ee/types/ci/pipeline_type.rb @@ -26,7 +26,7 @@ module PipelineType description: 'Code Quality degradations reported on the pipeline.' def code_quality_reports - pipeline.codequality_reports.all_degradations.presence + pipeline.codequality_reports.sort_degradations!.values.presence end end end diff --git a/ee/spec/requests/api/graphql/project/pipeline/code_quality_reports_spec.rb b/ee/spec/requests/api/graphql/project/pipeline/code_quality_reports_spec.rb index c09bec5d118f2ebf28ab88bfa189c72ff760df08..30af648d26ba924c5444ecac11bd7aff75c59f3b 100644 --- a/ee/spec/requests/api/graphql/project/pipeline/code_quality_reports_spec.rb +++ b/ee/spec/requests/api/graphql/project/pipeline/code_quality_reports_spec.rb @@ -51,6 +51,14 @@ expect(degradation['line']).not_to be_nil end end + + it 'returns all the queried fields ordered by severity', :aggregate_failures do + post_graphql(query, current_user: current_user) + + codequality_severities = codequality_degradations.map { |degradation| degradation['severity'] } + + expect(codequality_severities).to eq(%w[MAJOR MAJOR MINOR]) + end end context 'when user is not a member of the project' do