From 1a08e67871360b4a5c09b588775fce67dbecc7f8 Mon Sep 17 00:00:00 2001 From: Salih Yilboga Date: Thu, 15 Oct 2026 15:58:40 +0300 Subject: [PATCH] ui: --- .../app/web/src/components/Targets/utils.test.ts | 15 +++++++++++++++ .../app/web/src/components/Targets/utils.ts | 5 +++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ui/packages/app/web/src/components/Targets/utils.test.ts b/ui/packages/app/web/src/components/Targets/utils.test.ts index 589da1760c9..e101fa8b925 100644 --- a/ui/packages/app/web/src/components/Targets/utils.test.ts +++ b/ui/packages/app/web/src/components/Targets/utils.test.ts @@ -30,4 +30,19 @@ describe('getHealthStatus', () => { colorVariant: 'danger', }); }); + + it('falls back to Unspecified for out-of-range or invalid numeric values', () => { + expect(getHealthStatus(3)).toEqual({ + label: 'Unspecified', + colorVariant: 'neutral', + }); + expect(getHealthStatus(-1)).toEqual({ + label: 'Unspecified', + colorVariant: 'neutral', + }); + expect(getHealthStatus(NaN)).toEqual({ + label: 'Unspecified', + colorVariant: 'neutral', + }); + }); }); diff --git a/ui/packages/app/web/src/components/Targets/utils.ts b/ui/packages/app/web/src/components/Targets/utils.ts index dc57f99f708..599b4519c1d 100644 --- a/ui/packages/app/web/src/components/Targets/utils.ts +++ b/ui/packages/app/web/src/components/Targets/utils.ts @@ -21,8 +21,9 @@ const HealthStatus = { type HealthStatusType = (typeof HealthStatus)[keyof typeof HealthStatus]; -export const getHealthStatus = (numericValue: number) => { - const label = Object.values(HealthStatus)[numericValue]; +export const getHealthStatus = (numericValue: number): {label: HealthStatusType; colorVariant: PillVariant} => { + const values = Object.values(HealthStatus); + const label: HealthStatusType = values[numericValue] ?? HealthStatus.Unspecified; const colorVariants: Record = { Unspecified: 'neutral',