diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/sonar-web/src/main/js/apps/overview/main/coverage.js | 20 | ||||
-rw-r--r-- | server/sonar-web/tests/apps/overview/main/coverage-test.js | 15 |
2 files changed, 28 insertions, 7 deletions
diff --git a/server/sonar-web/src/main/js/apps/overview/main/coverage.js b/server/sonar-web/src/main/js/apps/overview/main/coverage.js index 0c00feb7a4b..0c964a6c63c 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/coverage.js +++ b/server/sonar-web/src/main/js/apps/overview/main/coverage.js @@ -64,6 +64,18 @@ export const GeneralCoverage = React.createClass({ </DomainLeak>; }, + renderTests() { + let tests = this.props.measures['tests']; + if (tests == null) { + return null; + } + return <Measure label={getMetricName('tests')}> + <DrilldownLink component={this.props.component.key} metric="tests"> + <span className="js-overview-main-tests">{formatMeasure(tests, 'SHORT_INT')}</span> + </DrilldownLink> + </Measure>; + }, + render () { let coverageMetric = this.getCoverageMetric(); if (this.props.measures[coverageMetric] == null) { @@ -83,13 +95,7 @@ export const GeneralCoverage = React.createClass({ </span> </DrilldownLink> </Measure> - <Measure label={getMetricName('tests')}> - <DrilldownLink component={this.props.component.key} metric="tests"> - <span className="js-overview-main-tests"> - {formatMeasure(this.props.measures['tests'], 'SHORT_INT')} - </span> - </DrilldownLink> - </Measure> + {this.renderTests()} </MeasuresList> {this.renderTimeline('before')} </DomainNutshell> diff --git a/server/sonar-web/tests/apps/overview/main/coverage-test.js b/server/sonar-web/tests/apps/overview/main/coverage-test.js index 3883c69a8e6..616016322dd 100644 --- a/server/sonar-web/tests/apps/overview/main/coverage-test.js +++ b/server/sonar-web/tests/apps/overview/main/coverage-test.js @@ -40,6 +40,21 @@ describe('Overview :: GeneralCoverage', function () { expect(newCoverageElement.textContent).to.equal('72.5%'); }); + it('should display tests', function () { + let component = <GeneralCoverage measures={MEASURES} component={COMPONENT}/>; + let output = TestUtils.renderIntoDocument(component); + let coverageElement = TestUtils.findRenderedDOMComponentWithClass(output, 'js-overview-main-tests'); + expect(coverageElement.textContent).to.equal('137'); + }); + + it('should not display tests', function () { + let measuresWithoutTests = _.omit(MEASURES, 'tests'); + let component = <GeneralCoverage measures={measuresWithoutTests} component={COMPONENT}/>; + let output = TestUtils.renderIntoDocument(component); + let coverageElements = TestUtils.scryRenderedDOMComponentsWithClass(output, 'js-overview-main-tests'); + expect(coverageElements).to.be.empty; + }); + it('should fall back to UT coverage', function () { let component = <GeneralCoverage measures={MEASURES_FOR_UT} leak={LEAK_FOR_UT} component={COMPONENT} leakPeriodDate={DATE}/>; |