From 276d9c74c6fdb68c441e12be38dc6966a194604e Mon Sep 17 00:00:00 2001 From: David Walsh Date: Thu, 15 Jun 2023 08:36:28 -0500 Subject: [PATCH] Fix #19437 - Prevent Connected Sites global menu item from being clicked during confirmation (#19598) * Fix #19437 - Prevent Connected Sites global menu item from being clicked during confirmation * Add tests --- .../multichain/global-menu/global-menu.js | 2 ++ .../multichain/global-menu/global-menu.test.js | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/ui/components/multichain/global-menu/global-menu.js b/ui/components/multichain/global-menu/global-menu.js index 978ec4a1c..71d8dc6ae 100644 --- a/ui/components/multichain/global-menu/global-menu.js +++ b/ui/components/multichain/global-menu/global-menu.js @@ -77,6 +77,7 @@ export const GlobalMenu = ({ closeMenu, anchorElement }) => { { history.push(CONNECTED_ROUTE); trackEvent({ @@ -88,6 +89,7 @@ export const GlobalMenu = ({ closeMenu, anchorElement }) => { }); closeMenu(); }} + data-testid="global-menu-connected-sites" > {t('connectedSites')} diff --git a/ui/components/multichain/global-menu/global-menu.test.js b/ui/components/multichain/global-menu/global-menu.test.js index 0f996a0ab..a2fbb8c5f 100644 --- a/ui/components/multichain/global-menu/global-menu.test.js +++ b/ui/components/multichain/global-menu/global-menu.test.js @@ -67,6 +67,20 @@ describe('AccountListItem', () => { }); }); + it('disables the connected sites item when there is an active transaction', async () => { + const { getByTestId } = render(); + await waitFor(() => { + expect(getByTestId('global-menu-connected-sites')).toBeDisabled(); + }); + }); + + it('enables the connected sites item when there is no active transaction', async () => { + const { getByTestId } = render({ unapprovedTxs: {} }); + await waitFor(() => { + expect(getByTestId('global-menu-connected-sites')).toBeEnabled(); + }); + }); + it('expands metamask to tab when item is clicked', async () => { global.platform = { openExtensionInBrowser: jest.fn() };