From: Stas Vilchik Date: Tue, 5 Apr 2016 13:01:14 +0000 (+0200) Subject: SONAR-7402 do not show identical sets of coverage metrics X-Git-Tag: 5.5-RC1~34 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=81334817358787b15faa4ceb72ac6de85f077dfc;p=sonarqube.git SONAR-7402 do not show identical sets of coverage metrics --- diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js b/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js index 8ba732ac836..d7610e48ad4 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js +++ b/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js @@ -35,6 +35,26 @@ const sortMeasures = (measures, order) => { ]; }; +const filterCoverageMeasures = measures => { + const hasOverallCoverage = !!measures.find(measure => measure.metric.key === 'overall_coverage'); + const hasUTCoverage = !!measures.find(measure => measure.metric.key === 'coverage'); + const hasITCoverage = !!measures.find(measure => measure.metric.key === 'it_coverage'); + + // display overall coverage only if all types of coverage exist + const shouldShowOverallCoverage = hasOverallCoverage && hasUTCoverage && hasITCoverage; + + // skip if we should display overall coverage + if (shouldShowOverallCoverage) { + return measures; + } + + // otherwise, hide all overall coverage measures + return measures.filter(measure => { + return measure.metric.key.indexOf('overall_') !== 0 && + measure.metric.key.indexOf('new_overall_') !== 0; + }); +}; + export default class DomainMeasures extends React.Component { render () { const { component, domains, periods } = this.props; @@ -43,10 +63,11 @@ export default class DomainMeasures extends React.Component { const { measures } = domain; const leakPeriodLabel = getLeakPeriodLabel(periods); + const filteredMeasures = filterCoverageMeasures(measures); const conf = domainsConf[domainName]; const order = conf ? conf.order : []; const spaces = conf && conf.spaces ? conf.spaces : []; - const sortedMeasures = sortMeasures(measures, order); + const sortedMeasures = sortMeasures(filteredMeasures, order); return (