diff options
Diffstat (limited to 'server/sonar-web/src/main/js/apps/overview')
4 files changed, 9 insertions, 131 deletions
diff --git a/server/sonar-web/src/main/js/apps/overview/branches/ApplicationNonCaycProjectWarning.tsx b/server/sonar-web/src/main/js/apps/overview/branches/ApplicationNonCaycProjectWarning.tsx index 8e7d0139efb..9544aaec21f 100644 --- a/server/sonar-web/src/main/js/apps/overview/branches/ApplicationNonCaycProjectWarning.tsx +++ b/server/sonar-web/src/main/js/apps/overview/branches/ApplicationNonCaycProjectWarning.tsx @@ -24,34 +24,22 @@ import { useDocUrl } from '../../../helpers/docs'; import { translate, translateWithParameters } from '../../../helpers/l10n'; import { getProjectQueryUrl } from '../../../helpers/urls'; import { QualityGateStatus } from '../../../types/quality-gates'; -import { CaycStatus } from '../../../types/types'; interface Props { projects: QualityGateStatus[]; - caycStatus: CaycStatus; } -export default function ApplicationNonCaycProjectWarning({ projects, caycStatus }: Props) { +export default function ApplicationNonCaycProjectWarning({ projects }: Props) { const caycUrl = useDocUrl('/user-guide/clean-as-you-code/'); - const caycDrawbacksUrl = useDocUrl('/user-guide/clean-as-you-code/#potential-drawbacks'); return ( <Card className="sw-mt-4 sw-body-sm"> - {caycStatus === CaycStatus.NonCompliant ? ( - <FlagMessage variant="warning"> - {translateWithParameters( - 'overview.quality_gate.application.non_cayc.projects_x', - projects.length - )} - </FlagMessage> - ) : ( - <p className="sw-p-2"> - {translateWithParameters( - 'overview.quality_gate.application.cayc_over_compliant.projects_x', - projects.length - )} - </p> - )} + <FlagMessage variant="warning"> + {translateWithParameters( + 'overview.quality_gate.application.non_cayc.projects_x', + projects.length + )} + </FlagMessage> <ul className="sw-mt-4 sw-ml-2 sw-mb-2"> {projects.map(({ key, name, branchLike }) => ( @@ -62,13 +50,7 @@ export default function ApplicationNonCaycProjectWarning({ projects, caycStatus </ul> <hr className="sw-my-4" /> <div className="sw-m-2 sw-mt-4"> - {caycStatus === CaycStatus.NonCompliant ? ( - <Link to={caycUrl}>{translate('overview.quality_gate.conditions.cayc.link')}</Link> - ) : ( - <Link to={caycDrawbacksUrl}> - {translate('overview.quality_gate.conditions.cayc_over_compliant.link')} - </Link> - )} + <Link to={caycUrl}>{translate('overview.quality_gate.conditions.cayc.link')}</Link> </div> </Card> ); diff --git a/server/sonar-web/src/main/js/apps/overview/branches/CleanAsYouCodeWarningOverCompliant.tsx b/server/sonar-web/src/main/js/apps/overview/branches/CleanAsYouCodeWarningOverCompliant.tsx deleted file mode 100644 index 38a2b966f99..00000000000 --- a/server/sonar-web/src/main/js/apps/overview/branches/CleanAsYouCodeWarningOverCompliant.tsx +++ /dev/null @@ -1,64 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2023 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { DiscreetLink, Link } from 'design-system'; -import * as React from 'react'; -import { FormattedMessage } from 'react-intl'; -import { useDocUrl } from '../../../helpers/docs'; -import { translate } from '../../../helpers/l10n'; -import { getQualityGateUrl } from '../../../helpers/urls'; -import { Component } from '../../../types/types'; - -interface Props { - component: Pick<Component, 'key' | 'qualifier' | 'qualityGate'>; -} - -export default function CleanAsYouCodeWarningOverCompliant({ component }: Props) { - const caycDrawbackUrl = useDocUrl('/user-guide/clean-as-you-code/#potential-drawbacks'); - - return ( - <> - {component.qualityGate ? ( - <p className="sw-mb-4"> - <FormattedMessage - id="overview.quality_gate.conditions.cayc_over_compliant.details_with_link" - defaultMessage={translate( - 'overview.quality_gate.conditions.cayc_over_compliant.details_with_link' - )} - values={{ - link: ( - <DiscreetLink to={getQualityGateUrl(component.qualityGate.name)}> - {translate('overview.quality_gate.conditions.cayc_over_compliant.warning.link')} - </DiscreetLink> - ), - }} - /> - </p> - ) : ( - <p className="sw-mb-4"> - {translate('overview.quality_gate.conditions.cayc_over_compliant.details')} - </p> - )} - - <Link to={caycDrawbackUrl}> - {translate('overview.quality_gate.conditions.cayc_over_compliant.link')} - </Link> - </> - ); -} diff --git a/server/sonar-web/src/main/js/apps/overview/branches/QualityGatePanel.tsx b/server/sonar-web/src/main/js/apps/overview/branches/QualityGatePanel.tsx index 3df69b32c76..a06e88baa3f 100644 --- a/server/sonar-web/src/main/js/apps/overview/branches/QualityGatePanel.tsx +++ b/server/sonar-web/src/main/js/apps/overview/branches/QualityGatePanel.tsx @@ -31,7 +31,6 @@ import { QualityGateStatusTitle } from '../components/QualityGateStatusTitle'; import SonarLintPromotion from '../components/SonarLintPromotion'; import ApplicationNonCaycProjectWarning from './ApplicationNonCaycProjectWarning'; import CleanAsYouCodeWarning from './CleanAsYouCodeWarning'; -import CleanAsYouCodeWarningOverCompliant from './CleanAsYouCodeWarningOverCompliant'; import QualityGatePanelSection from './QualityGatePanelSection'; export interface QualityGatePanelProps { @@ -65,12 +64,6 @@ export function QualityGatePanel(props: QualityGatePanelProps) { .sort(({ name: a }, { name: b }) => a.localeCompare(b, undefined, { sensitivity: 'base' })) : []; - const overCompliantCaycProjectsInApp = isApp - ? qgStatuses - .filter(({ caycStatus }) => caycStatus === CaycStatus.OverCompliant) - .sort(({ name: a }, { name: b }) => a.localeCompare(b, undefined, { sensitivity: 'base' })) - : []; - const showIgnoredConditionWarning = component.qualifier === ComponentQualifier.Project && qgStatuses.some((p) => Boolean(p.ignoredConditions)); @@ -114,17 +107,7 @@ export function QualityGatePanel(props: QualityGatePanelProps) { </Card> {nonCaycProjectsInApp.length > 0 && ( - <ApplicationNonCaycProjectWarning - projects={nonCaycProjectsInApp} - caycStatus={CaycStatus.NonCompliant} - /> - )} - - {overCompliantCaycProjectsInApp.length > 0 && ( - <ApplicationNonCaycProjectWarning - projects={overCompliantCaycProjectsInApp} - caycStatus={CaycStatus.OverCompliant} - /> + <ApplicationNonCaycProjectWarning projects={nonCaycProjectsInApp} /> )} {qgStatuses.length === 1 && @@ -135,14 +118,6 @@ export function QualityGatePanel(props: QualityGatePanelProps) { </Card> )} - {qgStatuses.length === 1 && - qgStatuses[0].caycStatus === CaycStatus.OverCompliant && - !isApp && ( - <Card className="sw-mt-4 sw-body-sm"> - <CleanAsYouCodeWarningOverCompliant component={component} /> - </Card> - )} - <SonarLintPromotion qgConditions={flatMap(qgStatuses, (qgStatus) => qgStatus.failedConditions)} /> diff --git a/server/sonar-web/src/main/js/apps/overview/branches/__tests__/BranchOverview-it.tsx b/server/sonar-web/src/main/js/apps/overview/branches/__tests__/BranchOverview-it.tsx index 203aeb5a512..93f8b78d687 100644 --- a/server/sonar-web/src/main/js/apps/overview/branches/__tests__/BranchOverview-it.tsx +++ b/server/sonar-web/src/main/js/apps/overview/branches/__tests__/BranchOverview-it.tsx @@ -232,21 +232,6 @@ describe('project overview', () => { expect(screen.getByText('overview.quality_gate.conditions.cayc.warning')).toBeInTheDocument(); }); - it('should show Cayc message when QG is over-compliant', async () => { - jest - .mocked(getQualityGateProjectStatus) - .mockResolvedValueOnce( - mockQualityGateProjectStatus({ status: 'OK', caycStatus: CaycStatus.OverCompliant }) - ); - - renderBranchOverview(); - - expect(await screen.findByText('metric.level.OK')).toBeInTheDocument(); - expect( - screen.getByText('overview.quality_gate.conditions.cayc_over_compliant.link') - ).toBeInTheDocument(); - }); - it('should show a failed QG', async () => { renderBranchOverview(); |