aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2019-06-25 13:50:25 +0200
committersonartech <sonartech@sonarsource.com>2019-06-28 08:45:59 +0200
commit2629f81a5881ea77e5d3c9a5e56d774f1e70f8b2 (patch)
treea8f46bb39e79c95aa6b7a1b4f4b74d0a187b973b /server/sonar-web
parent4749ed5d3367bc2b6aa9be833bd90a97e6581e96 (diff)
downloadsonarqube-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')
-rw-r--r--server/sonar-web/src/main/js/apps/projects/filters/QualityGateFilter.tsx5
-rw-r--r--server/sonar-web/src/main/js/apps/projects/filters/__tests__/QualityGateFilter-test.tsx18
-rw-r--r--server/sonar-web/src/main/js/apps/projects/filters/__tests__/__snapshots__/QualityGateFilter-test.tsx.snap1
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",
]
}