diff --git a/packages/ui/components/layout/shellSubHeading.test.tsx b/packages/ui/components/layout/shellSubHeading.test.tsx new file mode 100644 index 0000000000..f695d6d23e --- /dev/null +++ b/packages/ui/components/layout/shellSubHeading.test.tsx @@ -0,0 +1,37 @@ +import { render, fireEvent } from "@testing-library/react"; +import { vi } from "vitest"; + +import { ShellSubHeading } from "./ShellSubHeading"; + +const titleText = "Main Title"; +const subtitleText = "Subtitle Text"; +const buttonText = "Click Me"; + +describe("Tests for ShellSubHeading Component", () => { + test("Should render correctly the component with title and subtitle if the prop was passed", () => { + const { getByText, queryByText, rerender } = render( + + ); + + expect(getByText(titleText)).toBeInTheDocument(); + expect(getByText(subtitleText)).toBeInTheDocument(); + + rerender(); + + expect(getByText(titleText)).toBeInTheDocument(); + expect(queryByText(subtitleText)).toBeNull(); + }); + + test("Should render the component with actions and verifies if the button was clicked", () => { + const mockClickHandler = vi.fn(); + + const { getByText } = render( + {buttonText}} /> + ); + + const button = getByText(buttonText); + fireEvent.click(button); + + expect(mockClickHandler).toHaveBeenCalled(); + }); +});