aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps/overview
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web/src/main/js/apps/overview')
-rw-r--r--server/sonar-web/src/main/js/apps/overview/branches/ApplicationNonCaycProjectWarning.tsx34
-rw-r--r--server/sonar-web/src/main/js/apps/overview/branches/CleanAsYouCodeWarningOverCompliant.tsx64
-rw-r--r--server/sonar-web/src/main/js/apps/overview/branches/QualityGatePanel.tsx27
-rw-r--r--server/sonar-web/src/main/js/apps/overview/branches/__tests__/BranchOverview-it.tsx15
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();