From 92e465b13aea9258a830c84449be98f7e1ca4364 Mon Sep 17 00:00:00 2001 From: "r3kt.eth" Date: Thu, 17 Aug 2023 19:01:23 +0200 Subject: [PATCH 1/4] add resetstate to playwright Signed-off-by: r3kt.eth --- commands/playwright.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/commands/playwright.js b/commands/playwright.js index a1f411558..f895d7a1d 100644 --- a/commands/playwright.js +++ b/commands/playwright.js @@ -24,6 +24,18 @@ let retries = 0; let extensionsData = {}; module.exports = { + async resetState() { + log('Resetting state of playwright'); + expectInstance = undefined; + browser = undefined; + mainWindow = undefined; + metamaskWindow = undefined; + metamaskNotificationWindow = undefined; + metamaskPopupWindow = undefined; + activeTabName = undefined; + retries = 0; + extensionsData = {}; + }, getExpectInstance() { return expectInstance; }, From cf745d944e7a8f20961b9a1698fc20bdad9874ed Mon Sep 17 00:00:00 2001 From: "r3kt.eth" Date: Thu, 17 Aug 2023 19:01:32 +0200 Subject: [PATCH 2/4] add resetstate to helpers Signed-off-by: r3kt.eth --- helpers.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/helpers.js b/helpers.js index 6685b070a..f16cfe08a 100644 --- a/helpers.js +++ b/helpers.js @@ -14,6 +14,11 @@ let currentNetwork = chains.mainnet; let addedNetworks = [chains.mainnet, chains.goerli, chains.sepolia]; module.exports = { + async resetState() { + log('Resetting state of helpers'); + currentNetwork = chains.mainnet; + addedNetworks = [chains.mainnet, chains.goerli, chains.sepolia]; + }, // set currently active network async setNetwork(network) { log(`Setting network to ${JSON.stringify(network)}`); From a6417c32ba42c43c02dc5cee24a313e67ea3bce1 Mon Sep 17 00:00:00 2001 From: "r3kt.eth" Date: Thu, 17 Aug 2023 19:01:38 +0200 Subject: [PATCH 3/4] add resetstate to metamask Signed-off-by: r3kt.eth --- commands/metamask.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/commands/metamask.js b/commands/metamask.js index 1d93ca4e0..ef38eb8dd 100644 --- a/commands/metamask.js +++ b/commands/metamask.js @@ -54,6 +54,21 @@ let walletAddress; let switchBackToCypressWindow; const metamask = { + async resetState() { + log('Resetting state of metamask'); + extensionId = undefined; + extensionVersion = undefined; + extensionHomeUrl = undefined; + extensionSettingsUrl = undefined; + extensionAdvancedSettingsUrl = undefined; + extensionExperimentalSettingsUrl = undefined; + extensionAddNetworkUrl = undefined; + extensionNewAccountUrl = undefined; + extensionImportAccountUrl = undefined; + extensionImportTokenUrl = undefined; + walletAddress = undefined; + switchBackToCypressWindow = undefined; + }, extensionId: () => { return extensionId; }, From 13ae8aeb9931cb24ecf8de71d58790f8ebfcdab5 Mon Sep 17 00:00:00 2001 From: "r3kt.eth" Date: Thu, 17 Aug 2023 19:01:48 +0200 Subject: [PATCH 4/4] expose general resetstate to synpress Signed-off-by: r3kt.eth --- commands/synpress.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 commands/synpress.js diff --git a/commands/synpress.js b/commands/synpress.js new file mode 100644 index 000000000..f42b25b5b --- /dev/null +++ b/commands/synpress.js @@ -0,0 +1,13 @@ +const log = require('debug')('synpress:synpress'); +const playwright = require('./playwright'); +const metamask = require('./metamask'); +const helpers = require('../helpers'); + +module.exports = { + async resetState() { + log('Resetting state of synpress'); + await playwright.resetState(); + await metamask.resetState(); + await helpers.resetState(); + }, +};