UNPKG

@assert-equals/dappdriver

Version:

DappDriver is an e2e testing framework designed for testing decentralized applications (dApps) using MetaMask, Rainbow or Zerion

59 lines (58 loc) 3.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.enableMetaMaskAutomation = exports.setupMetaMaskWallet = void 0; const fs_1 = require("fs"); const path_1 = __importDefault(require("path")); const _1 = require("."); const page_1 = require("../page"); const dapp_driver_1 = require("../session/dapp-driver"); let createPasswordPage; let completionPage; let metametricsPage; async function setupMetaMaskWallet(seed) { const page = new page_1.PageObject(); const welcomePage = await page.opensInWindow(_1.Welcome); await welcomePage.agreeTermsOfUse(); if (seed) { metametricsPage = await welcomePage.importAnExistingWallet(); const importWithRecoveryPhrasePage = await metametricsPage.noThanks(_1.ImportWithRecoveryPhrase); await importWithRecoveryPhrasePage.enterSRP(seed); createPasswordPage = await importWithRecoveryPhrasePage.confirmSecretRecoveryPhrase(); await createPasswordPage.enterPassword(); await createPasswordPage.confirmPassword(); await createPasswordPage.agreePasswordTerms(); completionPage = await createPasswordPage.importWallet(); } else { metametricsPage = await welcomePage.createANewWallet(); createPasswordPage = await metametricsPage.noThanks(_1.CreatePassword); await createPasswordPage.enterPassword(); await createPasswordPage.confirmPassword(); await createPasswordPage.agreePasswordTerms(); const secureYourWalletPage = await createPasswordPage.createWallet(); const reviewRecoveryPage = await secureYourWalletPage.secureMyWallet(); await reviewRecoveryPage.revealSecretRecoveryPhrase(); const recoveryPhrase = await reviewRecoveryPage.getSRP(); const confirmRecoveryPhrase = await reviewRecoveryPage.next(); await confirmRecoveryPhrase.enterRequiredWords(recoveryPhrase); completionPage = await confirmRecoveryPhrase.confirm(); } const pinExtensionPage = await completionPage.completeOnboarding(); await pinExtensionPage.next(); const homePage = await pinExtensionPage.done(); const extensionString = await homePage.getCurrentUrl(); const extensionURL = new URL(extensionString); dapp_driver_1.DappDriver.Instance.Extension = `${extensionURL.protocol}//${extensionURL.host}`; await homePage.closeAndSwitchToMainWindow(page_1.PageObject); } exports.setupMetaMaskWallet = setupMetaMaskWallet; async function enableMetaMaskAutomation(metaMaskPath) { const runtimeLavaMoatPath = path_1.default.resolve(metaMaskPath, 'scripts', 'runtime-lavamoat.js'); const file = (0, fs_1.readFileSync)(runtimeLavaMoatPath, 'utf8'); const updatedRuntimeLavaMoatData = file.replace(`"scuttleGlobalThis":{"enabled":true`, `"scuttleGlobalThis":{"enabled":false`); (0, fs_1.writeFileSync)(runtimeLavaMoatPath, updatedRuntimeLavaMoatData); } exports.enableMetaMaskAutomation = enableMetaMaskAutomation;