From 9abd20f98c79bedeb4bff04469742df509283d50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Ricks?= Date: Tue, 18 Aug 2026 14:48:42 +0200 Subject: [PATCH 1/6] Change: Rename SeverityClass module to SeverityClassLabel Use same name as the object of the default export. Also improve its tests. --- ...verityClass.tsx => SeverityClassLabel.tsx} | 4 +- .../label/__tests__/SeverityClass.test.jsx | 71 ----------------- .../__tests__/SeverityClassLabel.test.tsx | 76 +++++++++++++++++++ .../powerfilter/SeverityLevelsGroup.tsx | 2 +- src/web/components/table/SeverityColumns.tsx | 2 +- 5 files changed, 80 insertions(+), 75 deletions(-) rename src/web/components/label/{SeverityClass.tsx => SeverityClassLabel.tsx} (94%) delete mode 100644 src/web/components/label/__tests__/SeverityClass.test.jsx create mode 100644 src/web/components/label/__tests__/SeverityClassLabel.test.tsx diff --git a/src/web/components/label/SeverityClass.tsx b/src/web/components/label/SeverityClassLabel.tsx similarity index 94% rename from src/web/components/label/SeverityClass.tsx rename to src/web/components/label/SeverityClassLabel.tsx index 464a1008f8..be7db11def 100644 --- a/src/web/components/label/SeverityClass.tsx +++ b/src/web/components/label/SeverityClassLabel.tsx @@ -50,7 +50,7 @@ const FalsePositiveLabel = createLabel( _l('False Pos.'), ); -export const SeverityClassLabels = { +export const SeverityClassLabel = { Critical: CriticalLabel, High: HighLabel, Medium: MediumLabel, @@ -59,4 +59,4 @@ export const SeverityClassLabels = { FalsePositive: FalsePositiveLabel, }; -export default SeverityClassLabels; +export default SeverityClassLabel; diff --git a/src/web/components/label/__tests__/SeverityClass.test.jsx b/src/web/components/label/__tests__/SeverityClass.test.jsx deleted file mode 100644 index 47e9b31109..0000000000 --- a/src/web/components/label/__tests__/SeverityClass.test.jsx +++ /dev/null @@ -1,71 +0,0 @@ -/* SPDX-FileCopyrightText: 2024 Greenbone AG - * - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -import {describe, test, expect} from '@gsa/testing'; -import {render} from 'web/testing'; -import SeverityClassLabel from 'web/components/label/SeverityClass'; -import Theme from 'web/utils/theme'; - -describe('SeverityClassLabel tests', () => { - test('should render', () => { - const {element} = render(); - - expect(element).toBeVisible(); - }); - - test('should render HighLabel', () => { - const {element} = render(); - - expect(element).toHaveBackgroundColor(Theme.severityClassHigh); - expect(element).toHaveBorderColor(Theme.severityClassHigh); - expect(element).toHaveColor(Theme.white); - expect(element).toHaveTextContent('High'); - }); - - test('should render MediumLabel', () => { - const {element} = render(); - - expect(element).toHaveBackgroundColor(Theme.severityClassMedium); - expect(element).toHaveBorderColor(Theme.severityClassMedium); - expect(element).toHaveColor(Theme.black); - expect(element).toHaveTextContent('Medium'); - }); - - test('should render LowLabel', () => { - const {element} = render(); - - expect(element).toHaveBackgroundColor(Theme.severityClassLow); - expect(element).toHaveBorderColor(Theme.severityClassLow); - expect(element).toHaveColor(Theme.white); - expect(element).toHaveTextContent('Low'); - }); - - test('should render LogLabel', () => { - const {element} = render(); - - expect(element).toHaveBackgroundColor(Theme.severityClassLog); - expect(element).toHaveBorderColor(Theme.severityClassLog); - expect(element).toHaveColor(Theme.white); - expect(element).toHaveTextContent('Log'); - }); - - test('should render FalsePositiveLabel', () => { - const {element} = render(); - - expect(element).toHaveBackgroundColor(Theme.mediumGray); - expect(element).toHaveBorderColor(Theme.mediumGray); - expect(element).toHaveColor(Theme.white); - expect(element).toHaveTextContent('False Pos.'); - }); - - test('should render CriticalLabel', () => { - const {element} = render(); - - expect(element).toHaveBackgroundColor(Theme.severityClassCritical); - expect(element).toHaveBorderColor(Theme.severityClassCritical); - expect(element).toHaveColor(Theme.white); - expect(element).toHaveTextContent('Critical'); - }); -}); diff --git a/src/web/components/label/__tests__/SeverityClassLabel.test.tsx b/src/web/components/label/__tests__/SeverityClassLabel.test.tsx new file mode 100644 index 0000000000..7e38424811 --- /dev/null +++ b/src/web/components/label/__tests__/SeverityClassLabel.test.tsx @@ -0,0 +1,76 @@ +/* SPDX-FileCopyrightText: 2024 Greenbone AG + * + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import {describe, test, expect} from '@gsa/testing'; +import {render, screen} from 'web/testing'; +import SeverityClassLabel from 'web/components/label/SeverityClassLabel'; +import Theme from 'web/utils/theme'; + +const getLabel = (testId: string) => screen.getByTestId(testId); + +describe('SeverityClassLabel tests', () => { + test('should render', () => { + render(); + + expect(getLabel('severity-class-High')).toBeVisible(); + }); + + test.each([ + [ + 'High', + 'severity-class-High', + SeverityClassLabel.High, + Theme.severityClassHigh, + Theme.white, + ], + [ + 'Medium', + 'severity-class-Medium', + SeverityClassLabel.Medium, + Theme.severityClassMedium, + Theme.black, + ], + [ + 'Low', + 'severity-class-Low', + SeverityClassLabel.Low, + Theme.severityClassLow, + Theme.white, + ], + [ + 'Log', + 'severity-class-Log', + SeverityClassLabel.Log, + Theme.severityClassLog, + Theme.white, + ], + [ + 'False Pos.', + 'severity-class-False-Positive', + SeverityClassLabel.FalsePositive, + Theme.mediumGray, + Theme.white, + ], + [ + 'Critical', + 'severity-class-Critical', + SeverityClassLabel.Critical, + Theme.severityClassCritical, + Theme.white, + ], + ])( + 'should render the %s label with the correct styles', + (text, testId, Label, color, textColor) => { + render(