diff --git a/src/helpers/actions.ts b/src/helpers/actions.ts index e3431399..15aa1eb6 100644 --- a/src/helpers/actions.ts +++ b/src/helpers/actions.ts @@ -192,3 +192,13 @@ export const clickOnLittleDownArrowIfNeeded = async ( await littleArrowDown.click(); } }; + +export const evaluateElementClick = async ( + page: DappeteerPage, + selector: string +): Promise => { + /* For some reason popup deletes close button and then create new one (react stuff) + * hacky solution can be found here => https://github.com/puppeteer/puppeteer/issues/3496 */ + await new Promise((resolve) => setTimeout(resolve, 1000)); + await page.$eval(selector, (node) => node.click()); +}; diff --git a/src/setup/setupActions.ts b/src/setup/setupActions.ts index 6318e132..3b9464cf 100644 --- a/src/setup/setupActions.ts +++ b/src/setup/setupActions.ts @@ -8,6 +8,7 @@ import { openSettingsScreen, typeOnInputField, waitForOverlay, + evaluateElementClick, } from "../helpers"; import { DappeteerPage } from "../page"; import { MetaMaskOptions } from "../types"; @@ -90,14 +91,11 @@ export async function importAccount( } export const closePopup = async (page: DappeteerPage): Promise => { - /* For some reason popup deletes close button and then create new one (react stuff) - * hacky solution can be found here => https://github.com/puppeteer/puppeteer/issues/3496 */ - await new Promise((resolve) => setTimeout(resolve, 1000)); - await page.$eval(".popover-header__button", (node) => node.click()); + await evaluateElementClick(page, ".popover-header__button"); }; export const closeWhatsNewModal = async ( page: DappeteerPage ): Promise => { - await clickOnButton(page, "popover-close"); + await evaluateElementClick(page, '[data-testid="popover-close"]'); };