diff --git a/packages/bot-web-ui/src/components/load-modal/__tests__/recent-footer.spec.tsx b/packages/bot-web-ui/src/components/load-modal/__tests__/recent-footer.spec.tsx
new file mode 100644
index 000000000000..f662a937cb13
--- /dev/null
+++ b/packages/bot-web-ui/src/components/load-modal/__tests__/recent-footer.spec.tsx
@@ -0,0 +1,63 @@
+import React from 'react';
+import { mockStore, StoreProvider } from '@deriv/stores';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { render, screen, waitFor } from '@testing-library/react';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import userEvent from '@testing-library/user-event';
+import { mock_ws } from 'Utils/mock';
+import RootStore from 'Stores/root-store';
+import { DBotStoreProvider, mockDBotStore } from 'Stores/useDBotStore';
+import RecentFooter from '../recent-footer';
+
+jest.mock('@deriv/bot-skeleton/src/scratch/blockly', () => jest.fn());
+jest.mock('@deriv/bot-skeleton/src/scratch/dbot', () => ({
+ saveRecentWorkspace: jest.fn(),
+ unHighlightAllBlocks: jest.fn(),
+}));
+jest.mock('@deriv/bot-skeleton/src/scratch/hooks/block_svg', () => jest.fn());
+
+window.Blockly = {
+ derivWorkspace: { asyncClear: () => ({}) },
+ Xml: { domToWorkspace: () => ({}), textToDom: () => ({}) },
+};
+
+describe('RecentFooter', () => {
+ let wrapper: ({ children }: { children: JSX.Element }) => JSX.Element, mock_DBot_store: RootStore | undefined;
+
+ beforeAll(() => {
+ const mock_store = mockStore({});
+ mock_DBot_store = mockDBotStore(mock_store, mock_ws);
+
+ wrapper = ({ children }: { children: JSX.Element }) => (
+
+
+ {children}
+
+
+ );
+ });
+
+ it('should render RecentFooter', () => {
+ const { container } = render(, { wrapper });
+ expect(container).toBeInTheDocument();
+ });
+
+ it('should render button with Open text without loader', () => {
+ render(, { wrapper });
+ const openButton = screen.getByText('Open');
+ expect(openButton).toBeInTheDocument();
+ expect(mock_DBot_store?.load_modal?.is_open_button_loading).toBeFalsy();
+ });
+
+ it('should render import message and close load modal on open button click', async () => {
+ mock_DBot_store?.load_modal?.toggleLoadModal();
+ render(, { wrapper });
+ const openButton = screen.getByText('Open');
+ userEvent.click(openButton);
+
+ await waitFor(() => {
+ expect(mock_DBot_store?.load_modal?.is_load_modal_open).toBeFalsy();
+ expect(mock_DBot_store?.dashboard?.toast_message).toBe('import');
+ });
+ });
+});
diff --git a/packages/bot-web-ui/src/stores/load-modal-store.ts b/packages/bot-web-ui/src/stores/load-modal-store.ts
index 70038f898415..a28d6f0824dc 100644
--- a/packages/bot-web-ui/src/stores/load-modal-store.ts
+++ b/packages/bot-web-ui/src/stores/load-modal-store.ts
@@ -6,8 +6,6 @@ import { localize } from '@deriv/translations';
import { clearInjectionDiv, tabs_title } from 'Constants/load-modal';
import { TStrategy } from 'Types';
-const Blockly = window.Blockly;
-
interface ILoadModalStore {
active_index: number;
is_load_modal_open: boolean;