diff --git a/packages/react-utils/src/components/PageHeaders/RichPageHeader/index.tsx b/packages/react-utils/src/components/PageHeaders/RichPageHeader/index.tsx
index d7a8a34bd..14bc025c1 100644
--- a/packages/react-utils/src/components/PageHeaders/RichPageHeader/index.tsx
+++ b/packages/react-utils/src/components/PageHeaders/RichPageHeader/index.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import { PageHeader, PageHeaderProps } from '@ant-design/pro-layout';
import { Link, useHistory } from 'react-router-dom';
-import { useTranslation } from 'react-i18next';
+import { useTranslation } from '../../../mls';
import { Breadcrumb } from 'antd';
import { BreadcrumbProps } from 'antd/es/breadcrumb';
diff --git a/packages/react-utils/src/components/PageHeaders/RichPageHeader/tests/index.test.tsx b/packages/react-utils/src/components/PageHeaders/RichPageHeader/tests/index.test.tsx
new file mode 100644
index 000000000..f818c5037
--- /dev/null
+++ b/packages/react-utils/src/components/PageHeaders/RichPageHeader/tests/index.test.tsx
@@ -0,0 +1,79 @@
+import React from 'react';
+import { RichPageHeader } from '..';
+import { render, cleanup, screen } from '@testing-library/react';
+import { Router } from 'react-router';
+import { createBrowserHistory } from 'history';
+import userEvent from '@testing-library/user-event';
+
+const history = createBrowserHistory();
+
+const ComponentWrapper = (props) => {
+ return (
+
+
+
+ );
+};
+
+afterEach(() => {
+ jest.resetAllMocks();
+ jest.clearAllMocks();
+ jest.restoreAllMocks();
+});
+
+afterAll(() => {
+ cleanup();
+});
+
+it('Renders as expected', async () => {
+ const backBtnSpy = jest.spyOn(history, 'goBack');
+ const pageURL = '/test/page';
+ history.push(pageURL);
+ render();
+
+ const container = document.querySelector('.ant-page-header');
+ const breadCrumbElement = container?.querySelector('.ant-breadcrumb');
+ expect(screen.getByText(/View details/)).toBeInTheDocument();
+ expect(breadCrumbElement).toBeNull();
+
+ expect(history.location.pathname).toEqual(pageURL);
+
+ const backBtn = screen.getByRole('button');
+ userEvent.click(backBtn);
+ expect(backBtnSpy).toBeCalledTimes(1);
+});
+
+it('Renders as expected with props', async () => {
+ const prevPageURL = '/users';
+ const pageURL = `${prevPageURL}/details`;
+ const breadCrumbProps = {
+ items: [
+ {
+ title: 'Users',
+ path: prevPageURL,
+ },
+ {
+ title: 'User details',
+ },
+ ],
+ };
+ const pageHeaderProps = {
+ subTitle: '1234',
+ };
+ const richPageHeaderProps = {
+ pageHeaderProps,
+ breadCrumbProps,
+ };
+ history.push(pageURL);
+ render();
+
+ expect(screen.getByText(/View details/)).toBeInTheDocument();
+ expect(screen.getByText(/123/)).toBeInTheDocument();
+ expect(screen.getByText(/User details/)).toBeInTheDocument();
+
+ expect(history.location.pathname).toEqual(pageURL);
+
+ const usersLink = screen.getByRole('link', { name: /Users/i });
+ userEvent.click(usersLink);
+ expect(history.location.pathname).toEqual(prevPageURL);
+});
diff --git a/packages/react-utils/src/components/PageHeaders/SimplePageHeader/tests/index.test.tsx b/packages/react-utils/src/components/PageHeaders/SimplePageHeader/tests/index.test.tsx
new file mode 100644
index 000000000..ecac255fe
--- /dev/null
+++ b/packages/react-utils/src/components/PageHeaders/SimplePageHeader/tests/index.test.tsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import { SimplePageHeader } from '..';
+import { render, cleanup, screen } from '@testing-library/react';
+
+afterAll(() => {
+ cleanup();
+});
+
+it('Renders as expected', async () => {
+ const title = 'Test Page';
+ render();
+
+ expect(screen.getByText(title)).toBeInTheDocument();
+});