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; }, 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; }, 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(); + }, +}; 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)}`);