From 3cbebc9c13dbaed9eb01d821b8d582848bb87fc5 Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Mon, 2 Nov 2020 19:20:23 +0100 Subject: [PATCH] fix: fix edge case of sonarqube plugin if no quality gate was computed Initially no quality gate is available, till the first analysis. Previously this was handled as "failed". Now it has its own state. --- .../SonarQubeCard/SonarQubeCard.tsx | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/plugins/sonarqube/src/components/SonarQubeCard/SonarQubeCard.tsx b/plugins/sonarqube/src/components/SonarQubeCard/SonarQubeCard.tsx index 8e6cc817a1..677ce4f7eb 100644 --- a/plugins/sonarqube/src/components/SonarQubeCard/SonarQubeCard.tsx +++ b/plugins/sonarqube/src/components/SonarQubeCard/SonarQubeCard.tsx @@ -51,6 +51,9 @@ const useStyles = makeStyles(theme => ({ margin: 0, backgroundColor: theme.palette.success.main, }, + badgeUnknown: { + backgroundColor: theme.palette.grey[500], + }, header: { padding: theme.spacing(2, 2, 2, 2.5), }, @@ -104,17 +107,20 @@ export const SonarQubeCard = ({ } : undefined; - const gatePassed = value && value.metrics.alert_status === 'OK'; - const classes = useStyles(); + let gateLabel = 'Not computed'; + let gateColor = classes.badgeUnknown; + + if (value?.metrics.alert_status) { + const gatePassed = value.metrics.alert_status === 'OK'; + gateLabel = gatePassed ? 'Gate passed' : 'Gate failed'; + gateColor = gatePassed ? classes.badgeSuccess : classes.badgeError; + } const qualityBadge = !loading && value && ( );