diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2019-06-25 13:50:25 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2019-06-28 08:45:59 +0200 |
commit | 2629f81a5881ea77e5d3c9a5e56d774f1e70f8b2 (patch) | |
tree | a8f46bb39e79c95aa6b7a1b4f4b74d0a187b973b /server/sonar-web | |
parent | 4749ed5d3367bc2b6aa9be833bd90a97e6581e96 (diff) | |
download | sonarqube-2629f81a5881ea77e5d3c9a5e56d774f1e70f8b2.tar.gz sonarqube-2629f81a5881ea77e5d3c9a5e56d774f1e70f8b2.zip |
SONAR-12140 Do not return "Warning" in quality gate facet when no project in warning
Diffstat (limited to 'server/sonar-web')
3 files changed, 19 insertions, 5 deletions
diff --git a/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx b/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx index 7fa456cadc3..b5f4d8f4c54 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx @@ -37,6 +37,9 @@ export interface Props { } export default function QualityGateFilter(props: Props) { + const hasWarnStatus = props.facet && props.facet['WARN'] !== undefined; + const options = hasWarnStatus ? ['OK', 'WARN', 'ERROR'] : ['OK', 'ERROR']; + return ( <Filter facet={props.facet} @@ -44,7 +47,7 @@ export default function QualityGateFilter(props: Props) { header={<FilterHeader name={translate('projects.facets.quality_gate')} />} maxFacetValue={props.maxFacetValue} onQueryChange={props.onQueryChange} - options={['OK', 'WARN', 'ERROR']} + options={options} organization={props.organization} property="gate" query={props.query} diff --git a/server/sonar-web/src/main/js/apps/projects/filters/__tests__/QualityGateFilter-test.tsx b/server/sonar-web/src/main/js/apps/projects/filters/__tests__/QualityGateFilter-test.tsx index 8c5c6981207..49eb71d6cf5 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/__tests__/QualityGateFilter-test.tsx +++ b/server/sonar-web/src/main/js/apps/projects/filters/__tests__/QualityGateFilter-test.tsx @@ -19,15 +19,27 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; -import QualityGateFilter from '../QualityGateFilter'; +import QualityGateFilter, { Props } from '../QualityGateFilter'; it('renders', () => { - const wrapper = shallow(<QualityGateFilter onQueryChange={jest.fn()} query={{}} />); + const wrapper = shallowRender(); expect(wrapper).toMatchSnapshot(); const renderOption = wrapper.prop('renderOption'); expect(renderOption(2, false)).toMatchSnapshot(); const getFacetValueForOption = wrapper.prop('getFacetValueForOption'); - expect(getFacetValueForOption({ ERROR: 1, WARN: 2, OK: 3 }, 'WARN')).toBe(2); + expect(getFacetValueForOption({ ERROR: 1, OK: 3 }, 'OK')).toBe(3); }); + +it('should render with warning facet', () => { + expect( + shallowRender({ facet: { ERROR: 1, WARN: 2, OK: 3 } }) + .find('Filter') + .prop('options') + ).toEqual(['OK', 'WARN', 'ERROR']); +}); + +function shallowRender(props: Partial<Props> = {}) { + return shallow(<QualityGateFilter onQueryChange={jest.fn()} query={{}} {...props} />); +} diff --git a/server/sonar-web/src/main/js/apps/projects/filters/__tests__/__snapshots__/QualityGateFilter-test.tsx.snap b/server/sonar-web/src/main/js/apps/projects/filters/__tests__/__snapshots__/QualityGateFilter-test.tsx.snap index b17e817a49c..66fc1206b81 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/__tests__/__snapshots__/QualityGateFilter-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/projects/filters/__tests__/__snapshots__/QualityGateFilter-test.tsx.snap @@ -12,7 +12,6 @@ exports[`renders 1`] = ` options={ Array [ "OK", - "WARN", "ERROR", ] } |