diff --git a/packages/ui/components/meta/meta.test.tsx b/packages/ui/components/meta/meta.test.tsx
new file mode 100644
index 0000000000..6c9edaa83d
--- /dev/null
+++ b/packages/ui/components/meta/meta.test.tsx
@@ -0,0 +1,54 @@
+import { render } from "@testing-library/react";
+import { vi } from "vitest";
+
+import Meta, { useMeta } from "./Meta";
+
+vi.mock("./Meta", async () => {
+ const actualMeta = (await vi.importActual("./Meta")) as object;
+ const MockMeta = ({ title, description }: { title: string; description: string }) => (
+
+
{title}
+
{description}
+
+ );
+
+ type MetaProviderProps = {
+ children: React.ReactNode;
+ };
+
+ return {
+ ...actualMeta,
+ default: MockMeta,
+ useMeta: vi.fn(),
+ MetaProvider: ({ children }: MetaProviderProps) => children,
+ };
+});
+
+describe("Meta Component", () => {
+ test("Should render with default metadata", () => {
+ (useMeta as jest.Mock).mockReturnValue({
+ meta: { title: "", description: "", backButton: false, CTA: null },
+ });
+
+ const { getByText } = render();
+
+ expect(getByText("Page Title")).toBeInTheDocument();
+ expect(getByText("Page Description")).toBeInTheDocument();
+ });
+
+ test("Should update metadata when props change", () => {
+ (useMeta as jest.Mock).mockReturnValue({
+ meta: { title: "", description: "", backButton: false, CTA: null },
+ });
+
+ const { rerender, getByText } = render();
+
+ expect(getByText("Page Title")).toBeInTheDocument();
+ expect(getByText("Page Description")).toBeInTheDocument();
+
+ rerender();
+
+ expect(getByText("New Title")).toBeInTheDocument();
+ expect(getByText("New Description")).toBeInTheDocument();
+ });
+});