From d380fc396986bc1f5dbc8f8a19d219940f52eb9a Mon Sep 17 00:00:00 2001 From: Michael Haschke Date: Tue, 31 Mar 2026 17:26:19 +0200 Subject: [PATCH 1/4] add test for problem --- src/components/Badge/Badge.test.tsx | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/components/Badge/Badge.test.tsx diff --git a/src/components/Badge/Badge.test.tsx b/src/components/Badge/Badge.test.tsx new file mode 100644 index 000000000..a6d16f3f8 --- /dev/null +++ b/src/components/Badge/Badge.test.tsx @@ -0,0 +1,22 @@ +import React from "react"; +import { render } from "@testing-library/react"; + +import "@testing-library/jest-dom"; + +import { IconButton } from "../../../index"; +import { CLASSPREFIX as eccgui } from "../../configuration/constants"; + +describe("Badge", () => { + it("should render badge markup with correct content when used on an icon button", () => { + const { container } = render(); + const badge = container.querySelector(`.${eccgui}-badge`); + expect(badge).not.toBeNull(); + expect(badge).toHaveTextContent("badge content"); + }); + it("should render badge markup with correct content when batch displays a 0 (zero) number on an icon button", () => { + const { container } = render(); + const badge = container.querySelector(`.${eccgui}-badge`); + expect(badge).not.toBeNull(); + expect(badge).toHaveTextContent("0"); + }); +}); From 9ac8f1df7f0a9a1242c69d37b1d06dbdc0fb903b Mon Sep 17 00:00:00 2001 From: Michael Haschke Date: Tue, 31 Mar 2026 17:29:26 +0200 Subject: [PATCH 2/4] fix condition to show badge correctly --- CHANGELOG.md | 2 ++ src/components/Button/Button.tsx | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dc0cbf9c..bfd0b1c67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,6 +62,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p - `` - `onSelection` now sets `newlySelected` only for add actions and no longer sets it to the last element - border of the BlueprintJS `Tag` elements were fixed +- ` ); expect(screen.getByRole("button").lastChild).toEqual(screen.getByText(/left icon/i)); - expect(container.getElementsByClassName("eccgui-icon").length).toBe(1); + expect(container.getElementsByClassName(`${eccgui}-icon`).length).toBe(1); }); it("should have icon at the right after the text", () => { @@ -32,7 +32,7 @@ describe("Button", () => { ); expect(screen.getByRole("button").firstChild).toEqual(screen.getByText(/right icon/i)); - expect(container.getElementsByClassName("eccgui-icon").length).toBe(1); + expect(container.getElementsByClassName(`${eccgui}-icon`).length).toBe(1); }); it("should render badge markup with correct content when used on an icon button", () => {