From 980d81dcbdda8a61a2ae55d9b9a321f012aa959e Mon Sep 17 00:00:00 2001 From: I531348 Date: Wed, 24 Jun 2026 07:58:26 +0200 Subject: [PATCH 1/3] fix nan Signed-off-by: I531348 --- .../src/components/Pagination/Pagination.component.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui-components/src/components/Pagination/Pagination.component.tsx b/packages/ui-components/src/components/Pagination/Pagination.component.tsx index 3cc280ea39..afb0c8ace8 100644 --- a/packages/ui-components/src/components/Pagination/Pagination.component.tsx +++ b/packages/ui-components/src/components/Pagination/Pagination.component.tsx @@ -184,7 +184,7 @@ export const Pagination = ({ // Enforce minimum and maximum limits if (inputValue < 1) { inputValue = 1 - } else if (controlTotalPage !== undefined && inputValue > controlTotalPage) { + } else if (isNaN(inputValue) || (controlTotalPage !== undefined && inputValue > controlTotalPage)) { inputValue = controlTotalPage } } From ebbf606e66488057f0bb0065edb0e7a2413174d9 Mon Sep 17 00:00:00 2001 From: I531348 Date: Wed, 24 Jun 2026 08:09:38 +0200 Subject: [PATCH 2/3] changeset and test Signed-off-by: I531348 --- .changeset/eleven-buses-bet.md | 5 +++++ .../src/components/Pagination/Pagination.test.tsx | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 .changeset/eleven-buses-bet.md diff --git a/.changeset/eleven-buses-bet.md b/.changeset/eleven-buses-bet.md new file mode 100644 index 0000000000..25f733ad7a --- /dev/null +++ b/.changeset/eleven-buses-bet.md @@ -0,0 +1,5 @@ +--- +"@cloudoperators/juno-ui-components": patch +--- + +Fix NaN input in Pagination diff --git a/packages/ui-components/src/components/Pagination/Pagination.test.tsx b/packages/ui-components/src/components/Pagination/Pagination.test.tsx index 6f0bf23e8a..f6c58d7bb8 100644 --- a/packages/ui-components/src/components/Pagination/Pagination.test.tsx +++ b/packages/ui-components/src/components/Pagination/Pagination.test.tsx @@ -486,4 +486,18 @@ describe("Pagination", () => { expect(screen.getByTestId("my-pagination")).toBeInTheDocument() expect(screen.getByTestId("my-pagination")).toHaveAttribute("data-lolol", "123-456") }) + + test("sets inputValue to controlTotalPage on symbol or non-numeric input", async () => { + const onInputChangeMock = vi.fn() + render() + + const textInput = screen.getByRole("textbox") + fireEvent.change(textInput, { target: { value: "$" } }) // Non-numeric input + fireEvent.blur(textInput) + + await waitFor(() => { + // Check that controlTotalPage was set after invalid input + expect(onInputChangeMock).toHaveBeenCalledWith(5) + }) + }) }) From c4c663d38b8fb1a9c2ab837d5bfe2b127679818c Mon Sep 17 00:00:00 2001 From: I531348 Date: Wed, 24 Jun 2026 10:20:46 +0200 Subject: [PATCH 3/3] update test Signed-off-by: I531348 --- .../src/components/Pagination/Pagination.test.tsx | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/ui-components/src/components/Pagination/Pagination.test.tsx b/packages/ui-components/src/components/Pagination/Pagination.test.tsx index f6c58d7bb8..120a9216bb 100644 --- a/packages/ui-components/src/components/Pagination/Pagination.test.tsx +++ b/packages/ui-components/src/components/Pagination/Pagination.test.tsx @@ -487,17 +487,14 @@ describe("Pagination", () => { expect(screen.getByTestId("my-pagination")).toHaveAttribute("data-lolol", "123-456") }) - test("sets inputValue to controlTotalPage on symbol or non-numeric input", async () => { + test("defaults to last page on non-numeric input", () => { const onInputChangeMock = vi.fn() render() const textInput = screen.getByRole("textbox") - fireEvent.change(textInput, { target: { value: "$" } }) // Non-numeric input - fireEvent.blur(textInput) + fireEvent.change(textInput, { target: { value: "$" } }) - await waitFor(() => { - // Check that controlTotalPage was set after invalid input - expect(onInputChangeMock).toHaveBeenCalledWith(5) - }) + expect(textInput).toHaveValue("5") + expect(onInputChangeMock).toHaveBeenCalledWith(5) }) })