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();
+ });
+});