diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 118faeca..b52951e0 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -1,4 +1,4 @@ -name: "Validate compatiblity with metamask" +name: "Validate compatiblity with MetaMask" on: schedule: diff --git a/README.md b/README.md index ad293611..d9962be1 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ import puppeteer from 'puppeteer'; import dappeteer from '@chainsafe/dappeteer'; async function main() { - const [metamask, page] = await dappeteer.bootstrap(puppeteer, { metamaskVersion: 'v10.15.0' }); + const [metamask, page] = await dappeteer.bootstrap(puppeteer, { metaMaskVersion: 'v10.15.0' }); // you can change the network if you want await metamask.switchNetwork('ropsten'); diff --git a/docs/API.md b/docs/API.md index 2da691ae..1519abd3 100644 --- a/docs/API.md +++ b/docs/API.md @@ -4,9 +4,9 @@ Methods provided by dAppeteer. For additional information read root [readme](../README.md) - [Launch dAppeteer](#launch) -- [Setup Metamask](#setup) +- [Setup MetaMask](#setup) - [Bootstrap dAppeteer](#bootstrap) -- [Get Metamask Window](#getMetamask) +- [Get MetaMask Window](#getMetaMask) - [dAppeteer methods](#methods) - [switchAccount](#switchAccount) - [importPK](#importPK) @@ -30,8 +30,8 @@ For additional information read root [readme](../README.md) ## `dappeteer.launch(puppeteerLib: typeof puppeteer, options: OfficialOptions | CustomOptions): Promise` ```typescript interface OfficialOptions { - metamaskVersion: 'latest' | string; - metamaskLocation?: Path; + metaMaskVersion: 'latest' | string; + metaMaskLocation?: Path; }; type Path = string | { download: string; extract: string; }; @@ -46,9 +46,9 @@ interface CustomOptions { returns an instance of `browser` same as `puppeteer.launch`, but it also installs the MetaMask extension. [It supports all the regular `puppeteer.launch` options](https://github.com/puppeteer/puppeteer/blob/v5.5.0/docs/api.md#puppeteerlaunchoptions) -## `dappeteer.setupMetamask(browser: Browser, options: MetamaskOptions = {}, steps: Step[]): Promise` +## `dappeteer.setupMetaMask(browser: Browser, options: MetaMaskOptions = {}, steps: Step[]): Promise` ```typescript -interface MetamaskOptions { +interface MetaMaskOptions { seed?: string; password?: string; showTestNets?: boolean; @@ -60,21 +60,21 @@ type Step = (page: Page, options?: Options) => void; ``` -## `dappeteer.bootstrap(puppeteerLib: typeof puppeteer, options: OfficialOptions & MetamaskOptions): Promise<[Dappeteer, Page, Browser]>` +## `dappeteer.bootstrap(puppeteerLib: typeof puppeteer, options: OfficialOptions & MetaMaskOptions): Promise<[Dappeteer, Page, Browser]>` ```typescript interface OfficialOptions { - metamaskVersion: 'latest' | string; - metamaskLocation?: Path; + metaMaskVersion: 'latest' | string; + metaMaskLocation?: Path; }; ``` it runs `dappeteer.launch` and `dappeteer.setup` and return array with dappetter, page and browser - -## `dappeteer.getMetamaskWindow(browser: Browser, version?: string): Promise` + +## `dappeteer.getMetaMaskWindow(browser: Browser, version?: string): Promise` # dAppeteer methods -`metamask` is used as placeholder for dAppeteer returned by [`setupMetamask`](setup) or [`getMetamaskWindow`](getMetamask) +`metamask` is used as placeholder for dAppeteer returned by [`setupMetaMask`](setup) or [`getMetaMaskWindow`](getMetaMask) @@ -156,5 +156,5 @@ deletes account containing name with specified number deletes custom network from metamask -## `metamask.page` is Metamask plugin `Page` +## `metamask.page` is MetaMask plugin `Page` **for advanced usages** in case you need custom features. diff --git a/docs/JEST.md b/docs/JEST.md index dece5e56..972e9e07 100644 --- a/docs/JEST.md +++ b/docs/JEST.md @@ -1,6 +1,6 @@ # dAppeteer with jest -As dAppeteer is Puppeteer with Metamask. Using it with jest is pretty similar to `jest-puppeteer`. +As dAppeteer is Puppeteer with MetaMask. Using it with jest is pretty similar to `jest-puppeteer`. ## Use preset @@ -58,7 +58,7 @@ module.exports = { }; ``` -Then create `setup.js` wit responsibility to start Puppeteer with Metamask and `teardown.js` for clean up after test's +Then create `setup.js` with responsibility to start Puppeteer with MetaMask and `teardown.js` for clean up after test's ```js // setup.js @@ -66,18 +66,18 @@ const { writeFile } = require('fs').promises; const os = require('os'); const path = require('path'); -const { launch, setupMetamask } = require('@chainsafe/dappeteer'); +const { launch, setupMetaMask } = require('@chainsafe/dappeteer'); const mkdirp = require('mkdirp'); const puppeteer = require('puppeteer'); -const { metamaskOptions, PUPPETEER_CONFIG } = require('./jest.config'); +const { metaMaskOptions, PUPPETEER_CONFIG } = require('./jest.config'); const DIR = path.join(os.tmpdir(), 'jest_dappeteer_global_setup'); module.exports = async function () { const browser = await launch(puppeteer, PUPPETEER_CONFIG); try { - await setupMetamask(browser, metamaskOptions); + await setupMetaMask(browser, metaMaskOptions); global.browser = browser; } catch (error) { console.log(error); @@ -115,7 +115,7 @@ const os = require('os'); const path = require('path'); const puppeteer = require('puppeteer'); const NodeEnvironment = require('jest-environment-node'); -const { getMetamaskWindow } = require('@chainsafe/dappeteer'); +const { getMetaMaskWindow } = require('@chainsafe/dappeteer'); const DIR = path.join(os.tmpdir(), 'jest_dappeteer_global_setup'); @@ -131,7 +131,7 @@ class DappeteerEnvironment extends NodeEnvironment { browserWSEndpoint: wsEndpoint, }); this.global.browser = browser; - this.global.metamask = await getMetamaskWindow(browser); + this.global.metamask = await getMetaMaskWindow(browser); } } diff --git a/src/index.ts b/src/index.ts index ab5daba1..afb559f9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ // re-export -export { getMetamask, getMetamaskWindow } from './metamask'; +export { getMetaMask, getMetaMaskWindow } from './metamask'; export * from './types'; export * from './setup'; export { DappateerJestConfig } from './jest/global'; diff --git a/src/jest/DappeteerEnvironment.ts b/src/jest/DappeteerEnvironment.ts index 8e4ead3f..77927645 100644 --- a/src/jest/DappeteerEnvironment.ts +++ b/src/jest/DappeteerEnvironment.ts @@ -1,7 +1,7 @@ import NodeEnvironment from 'jest-environment-node'; import puppeteer from 'puppeteer'; -import { getMetamaskWindow } from '../index'; +import { getMetaMaskWindow } from '../index'; class DappeteerEnvironment extends NodeEnvironment { constructor(config) { @@ -22,7 +22,7 @@ class DappeteerEnvironment extends NodeEnvironment { browserWSEndpoint: wsEndpoint, }); this.global.browser = browser; - this.global.metamask = await getMetamaskWindow(browser); + this.global.metamask = await getMetaMaskWindow(browser); this.global.page = await browser.newPage(); } } diff --git a/src/jest/config.ts b/src/jest/config.ts index 24c97d97..9dfa743d 100644 --- a/src/jest/config.ts +++ b/src/jest/config.ts @@ -8,7 +8,7 @@ import { LaunchOptions } from '../types'; import { DappateerJestConfig } from './global'; -export const DAPPETEER_DEFAULT_CONFIG: LaunchOptions = { metamaskVersion: RECOMMENDED_METAMASK_VERSION }; +export const DAPPETEER_DEFAULT_CONFIG: LaunchOptions = { metaMaskVersion: RECOMMENDED_METAMASK_VERSION }; export async function getDappeteerConfig(): Promise { const configPath = 'dappeteer.config.js'; @@ -17,7 +17,7 @@ export async function getDappeteerConfig(): Promise { if (!existsSync(filePath)) return { dappeteer: DAPPETEER_DEFAULT_CONFIG, - metamask: {}, + metaMask: {}, }; // eslint-disable-next-line @typescript-eslint/no-require-imports @@ -28,8 +28,8 @@ export async function getDappeteerConfig(): Promise { ...DAPPETEER_DEFAULT_CONFIG, ...config.dappeteer, }, - metamask: { - ...config.metamask, + metaMask: { + ...config.metaMask, }, }; } diff --git a/src/jest/global.ts b/src/jest/global.ts index 2e508cfd..aaee67b4 100644 --- a/src/jest/global.ts +++ b/src/jest/global.ts @@ -1,6 +1,6 @@ import { Browser, Page } from 'puppeteer'; -import { Dappeteer, LaunchOptions, MetamaskOptions } from '..'; +import { Dappeteer, LaunchOptions, MetaMaskOptions } from '..'; declare global { // eslint-disable-next-line @typescript-eslint/no-namespace @@ -8,12 +8,12 @@ declare global { interface Global { page: Page; browser: Browser; - metamask: Dappeteer; + metaMask: Dappeteer; } } } export type DappateerJestConfig = Partial<{ dappeteer: LaunchOptions; - metamask: MetamaskOptions; + metaMask: MetaMaskOptions; }>; diff --git a/src/jest/setup.ts b/src/jest/setup.ts index 07a3b1f4..90fd02f1 100644 --- a/src/jest/setup.ts +++ b/src/jest/setup.ts @@ -1,15 +1,15 @@ import puppeteer from 'puppeteer'; -import { launch, setupMetamask } from '../index'; +import { launch, setupMetaMask } from '../index'; import { getDappeteerConfig } from './config'; export default async function (): Promise { - const { dappeteer, metamask } = await getDappeteerConfig(); + const { dappeteer, metaMask } = await getDappeteerConfig(); const browser = await launch(puppeteer, dappeteer); try { - await setupMetamask(browser, metamask); + await setupMetaMask(browser, metaMask); global.browser = browser; } catch (error) { // eslint-disable-next-line no-console diff --git a/src/metamask/index.ts b/src/metamask/index.ts index d66f844d..e6b2bd22 100644 --- a/src/metamask/index.ts +++ b/src/metamask/index.ts @@ -17,7 +17,7 @@ import { unlock } from './unlock'; export type SetSignedIn = (state: boolean) => Promise; export type GetSingedIn = () => Promise; -export const getMetamask = async (page: Page, version?: string): Promise => { +export const getMetaMask = async (page: Page, version?: string): Promise => { // modified window object to kep state between tests const setSignedIn = async (state: boolean): Promise => { await page.evaluate((s: boolean) => { @@ -54,8 +54,8 @@ export const getMetamask = async (page: Page, version?: string): Promise { - const metamaskPage = await new Promise((resolve) => { +export async function getMetaMaskWindow(browser: Browser, version?: string): Promise { + const metaMaskPage = await new Promise((resolve) => { browser.pages().then((pages) => { for (const page of pages) { if (page.url().includes('chrome-extension')) resolve(page); @@ -63,5 +63,5 @@ export async function getMetamaskWindow(browser: Browser, version?: string): Pro }); }); - return getMetamask(metamaskPage, version); + return getMetaMask(metaMaskPage, version); } diff --git a/src/setup/index.ts b/src/setup/index.ts index 95dd0b19..70b9aff0 100644 --- a/src/setup/index.ts +++ b/src/setup/index.ts @@ -1,19 +1,19 @@ import puppeteer, { Browser, Page } from 'puppeteer'; -import { Dappeteer, MetamaskOptions, OfficialOptions } from '../types'; +import { Dappeteer, MetaMaskOptions, OfficialOptions } from '../types'; import { launch } from './launch'; -import { setupMetamask } from './setupMetamask'; +import { setupMetaMask } from './setupMetaMask'; export * from './launch'; -export * from './setupMetamask'; +export * from './setupMetaMask'; export const bootstrap = async ( puppeteerLib: typeof puppeteer, - { seed, password, showTestNets, ...launchOptions }: OfficialOptions & MetamaskOptions, + { seed, password, showTestNets, ...launchOptions }: OfficialOptions & MetaMaskOptions, ): Promise<[Dappeteer, Page, Browser]> => { const browser = await launch(puppeteerLib, launchOptions); - const dappeteer = await setupMetamask(browser, { seed, password, showTestNets }); + const dappeteer = await setupMetaMask(browser, { seed, password, showTestNets }); const pages = await browser.pages(); return [dappeteer, pages[0], browser]; diff --git a/src/setup/launch.ts b/src/setup/launch.ts index 813425f2..c2b89734 100644 --- a/src/setup/launch.ts +++ b/src/setup/launch.ts @@ -4,51 +4,51 @@ import { CustomOptions, OfficialOptions, RECOMMENDED_METAMASK_VERSION } from '.. import { LaunchOptions } from '../types'; import { isNewerVersion } from './isNewerVersion'; -import downloader from './metamaskDownloader'; +import downloader from './metaMaskDownloader'; /** * Launch Puppeteer chromium instance with MetaMask plugin installed * */ export async function launch(puppeteerLib: typeof puppeteer, options: LaunchOptions): Promise { - if (!options || (!options.metamaskVersion && !(options as CustomOptions).metamaskPath)) + if (!options || (!options.metaMaskVersion && !(options as CustomOptions).metaMaskPath)) throw new Error( - `Pleas provide "metamaskVersion" (recommended "${RECOMMENDED_METAMASK_VERSION}" or "latest" to always get latest release of MetaMask)`, + `Please provide "metaMaskVersion" (recommended "${RECOMMENDED_METAMASK_VERSION}" or "latest" to always get latest release of MetaMask)`, ); const { args, ...rest } = options; // eslint-disable-next-line @typescript-eslint/naming-convention let METAMASK_PATH; - if (options.metamaskVersion) { - const { metamaskVersion, metamaskLocation } = rest as OfficialOptions; + if (options.metaMaskVersion) { + const { metaMaskVersion, metaMaskLocation } = rest as OfficialOptions; /* eslint-disable no-console */ console.log(); // new line - if (metamaskVersion === 'latest') + if (metaMaskVersion === 'latest') console.warn( '\x1b[33m%s\x1b[0m', - `It is not recommended to run metamask with "latest" version. Use it at your own risk or set to the recommended version "${RECOMMENDED_METAMASK_VERSION}".`, + `It is not recommended to run MetaMask with "latest" version. Use it at your own risk or set to the recommended version "${RECOMMENDED_METAMASK_VERSION}".`, ); - else if (isNewerVersion(RECOMMENDED_METAMASK_VERSION, metamaskVersion)) + else if (isNewerVersion(RECOMMENDED_METAMASK_VERSION, metaMaskVersion)) console.warn( '\x1b[33m%s\x1b[0m', `Seems you are running newer version of MetaMask that recommended by dappeteer team. Use it at your own risk or set to the recommended version "${RECOMMENDED_METAMASK_VERSION}".`, ); - else if (isNewerVersion(metamaskVersion, RECOMMENDED_METAMASK_VERSION)) + else if (isNewerVersion(metaMaskVersion, RECOMMENDED_METAMASK_VERSION)) console.warn( '\x1b[33m%s\x1b[0m', `Seems you are running older version of MetaMask that recommended by dappeteer team. Use it at your own risk or set the recommended version "${RECOMMENDED_METAMASK_VERSION}".`, ); - else console.log(`Running tests on MetaMask version ${metamaskVersion}`); + else console.log(`Running tests on MetaMask version ${metaMaskVersion}`); console.log(); // new line - METAMASK_PATH = await downloader(metamaskVersion, metamaskLocation); + METAMASK_PATH = await downloader(metaMaskVersion, metaMaskLocation); } else { console.log(`Running tests on local MetaMask build`); - METAMASK_PATH = (rest as CustomOptions).metamaskPath; + METAMASK_PATH = (rest as CustomOptions).metaMaskPath; /* eslint-enable no-console */ } diff --git a/src/setup/metamaskDownloader.ts b/src/setup/metaMaskDownloader.ts similarity index 82% rename from src/setup/metamaskDownloader.ts rename to src/setup/metaMaskDownloader.ts index 2ba35367..b779235e 100644 --- a/src/setup/metamaskDownloader.ts +++ b/src/setup/metaMaskDownloader.ts @@ -15,18 +15,18 @@ export type Path = }; export default async (version: string, location?: Path): Promise => { - const metamaskDirectory = typeof location === 'string' ? location : location?.extract || defaultDirectory; + const metaMaskDirectory = typeof location === 'string' ? location : location?.extract || defaultDirectory; const downloadDirectory = typeof location === 'string' ? location : location?.download || path.resolve(defaultDirectory, 'download'); if (version !== 'latest') { - const extractDestination = path.resolve(metamaskDirectory, version.replace(/\./g, '_')); + const extractDestination = path.resolve(metaMaskDirectory, version.replace(/\./g, '_')); if (fs.existsSync(extractDestination)) return extractDestination; } - const { filename, downloadUrl, tag } = await getMetamaskReleases(version); - const extractDestination = path.resolve(metamaskDirectory, tag.replace(/\./g, '_')); + const { filename, downloadUrl, tag } = await getMetaMaskReleases(version); + const extractDestination = path.resolve(metaMaskDirectory, tag.replace(/\./g, '_')); if (!fs.existsSync(extractDestination)) { - const downloadedFile = await downloadMetamaskReleases(filename, downloadUrl, downloadDirectory); + const downloadedFile = await downloadMetaMaskReleases(filename, downloadUrl, downloadDirectory); const zip = new StreamZip.async({ file: downloadedFile }); fs.mkdirSync(extractDestination); await zip.extract(null, extractDestination); @@ -56,7 +56,7 @@ const request = (url: string): Promise => }); }); -const downloadMetamaskReleases = (name: string, url: string, location: string): Promise => +const downloadMetaMaskReleases = (name: string, url: string, location: string): Promise => // eslint-disable-next-line no-async-promise-executor new Promise(async (resolve) => { if (!fs.existsSync(location)) { @@ -71,12 +71,12 @@ const downloadMetamaskReleases = (name: string, url: string, location: string): }); }); -type MetamaskReleases = { downloadUrl: string; filename: string; tag: string }; -const metamaskReleasesUrl = 'https://api.github.com/repos/metamask/metamask-extension/releases'; -const getMetamaskReleases = (version: string): Promise => +type MetaMaskReleases = { downloadUrl: string; filename: string; tag: string }; +const metaMaskReleasesUrl = 'https://api.github.com/repos/metamask/metamask-extension/releases'; +const getMetaMaskReleases = (version: string): Promise => new Promise((resolve, reject) => { // eslint-disable-next-line @typescript-eslint/naming-convention - const request = get(metamaskReleasesUrl, { headers: { 'User-Agent': 'Mozilla/5.0' } }, (response) => { + const request = get(metaMaskReleasesUrl, { headers: { 'User-Agent': 'Mozilla/5.0' } }, (response) => { let body = ''; response.on('data', (chunk) => { body += chunk; @@ -102,7 +102,7 @@ const getMetamaskReleases = (version: string): Promise => }); request.on('error', (error) => { // eslint-disable-next-line no-console - console.warn('getMetamaskReleases error:', error.message); + console.warn('getMetaMaskReleases error:', error.message); throw error; }); }); diff --git a/src/setup/setupActions.ts b/src/setup/setupActions.ts index cd3bba23..d4006ec7 100644 --- a/src/setup/setupActions.ts +++ b/src/setup/setupActions.ts @@ -8,42 +8,42 @@ import { openNetworkDropdown, typeOnInputField, } from '../helpers'; -import { MetamaskOptions } from '../types'; +import { MetaMaskOptions } from '../types'; -export async function showTestNets(metamaskPage: Page): Promise { - await openNetworkDropdown(metamaskPage); +export async function showTestNets(metaMaskPage: Page): Promise { + await openNetworkDropdown(metaMaskPage); - await clickOnElement(metamaskPage, 'Show/hide'); - await clickOnSettingsSwitch(metamaskPage, 'Show test networks'); - await clickOnLogo(metamaskPage); + await clickOnElement(metaMaskPage, 'Show/hide'); + await clickOnSettingsSwitch(metaMaskPage, 'Show test networks'); + await clickOnLogo(metaMaskPage); } -export async function confirmWelcomeScreen(metamaskPage: Page): Promise { - await clickOnButton(metamaskPage, 'Get Started'); +export async function confirmWelcomeScreen(metaMaskPage: Page): Promise { + await clickOnButton(metaMaskPage, 'Get Started'); } export async function importAccount( - metamaskPage: Page, + metaMaskPage: Page, { seed = 'already turtle birth enroll since owner keep patch skirt drift any dinner', password = 'password1234', - }: MetamaskOptions, + }: MetaMaskOptions, ): Promise { - await clickOnButton(metamaskPage, 'Import wallet'); - await clickOnButton(metamaskPage, 'I Agree'); + await clickOnButton(metaMaskPage, 'Import wallet'); + await clickOnButton(metaMaskPage, 'I Agree'); for (const [index, seedPart] of seed.split(' ').entries()) - await typeOnInputField(metamaskPage, `${index + 1}.`, seedPart); + await typeOnInputField(metaMaskPage, `${index + 1}.`, seedPart); - await typeOnInputField(metamaskPage, 'New password', password); - await typeOnInputField(metamaskPage, 'Confirm password', password); + await typeOnInputField(metaMaskPage, 'New password', password); + await typeOnInputField(metaMaskPage, 'Confirm password', password); // select checkbox "I have read and agree to the" - const acceptTerms = await metamaskPage.waitForSelector('.create-new-vault__terms-label'); + const acceptTerms = await metaMaskPage.waitForSelector('.create-new-vault__terms-label'); await acceptTerms.click(); - await clickOnButton(metamaskPage, 'Import'); - await clickOnButton(metamaskPage, 'All Done'); + await clickOnButton(metaMaskPage, 'Import'); + await clickOnButton(metaMaskPage, 'All Done'); } export const closePopup = async (page: Page): Promise => { diff --git a/src/setup/setupMetamask.ts b/src/setup/setupMetaMask.ts similarity index 70% rename from src/setup/setupMetamask.ts rename to src/setup/setupMetaMask.ts index ce9508e3..7869ba1e 100644 --- a/src/setup/setupMetamask.ts +++ b/src/setup/setupMetaMask.ts @@ -1,7 +1,7 @@ import { Browser, Page } from 'puppeteer'; -import { getMetamask } from '../metamask'; -import { Dappeteer, MetamaskOptions } from '../types'; +import { getMetaMask } from '../metamask'; +import { Dappeteer, MetaMaskOptions } from '../types'; import { closePopup, confirmWelcomeScreen, importAccount, showTestNets } from './setupActions'; @@ -9,21 +9,21 @@ import { closePopup, confirmWelcomeScreen, importAccount, showTestNets } from '. * Setup MetaMask with base account * */ type Step = (page: Page, options?: Options) => void; -const defaultMetamaskSteps: Step[] = [confirmWelcomeScreen, importAccount, closePopup, showTestNets]; +const defaultMetaMaskSteps: Step[] = [confirmWelcomeScreen, importAccount, closePopup, showTestNets]; -export async function setupMetamask( +export async function setupMetaMask( browser: Browser, options?: Options, - steps: Step[] = defaultMetamaskSteps, + steps: Step[] = defaultMetaMaskSteps, ): Promise { const page = await closeHomeScreen(browser); - // goes through the installation steps required by metamask + // goes through the installation steps required by MetaMask for (const step of steps) { await step(page, options); } - return getMetamask(page); + return getMetaMask(page); } async function closeHomeScreen(browser: Browser): Promise { diff --git a/src/types.ts b/src/types.ts index e3a237b7..163d3871 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ import { BrowserLaunchArgumentOptions, Page } from 'puppeteer'; -import { Path } from './setup/metamaskDownloader'; +import { Path } from './setup/metaMaskDownloader'; import { RECOMMENDED_METAMASK_VERSION } from './index'; @@ -9,16 +9,16 @@ export type LaunchOptions = OfficialOptions | CustomOptions; type DappaterBrowserLaunchArgumentOptions = Omit; export type OfficialOptions = DappaterBrowserLaunchArgumentOptions & { - metamaskVersion: typeof RECOMMENDED_METAMASK_VERSION | 'latest' | string; - metamaskLocation?: Path; + metaMaskVersion: typeof RECOMMENDED_METAMASK_VERSION | 'latest' | string; + metaMaskLocation?: Path; }; export type CustomOptions = DappaterBrowserLaunchArgumentOptions & { - metamaskVersion?: string; - metamaskPath: string; + metaMaskVersion?: string; + metaMaskPath: string; }; -export type MetamaskOptions = { +export type MetaMaskOptions = { seed?: string; password?: string; showTestNets?: boolean; diff --git a/test/dapp/index.html b/test/dapp/index.html index 0f155254..70411d6a 100644 --- a/test/dapp/index.html +++ b/test/dapp/index.html @@ -3,7 +3,7 @@ - Local metamask test + Local MetaMask test diff --git a/test/test.spec.ts b/test/test.spec.ts index c47b070b..27654a74 100644 --- a/test/test.spec.ts +++ b/test/test.spec.ts @@ -37,9 +37,9 @@ describe('dappeteer', () => { before(async () => { testContract = await deploy(); browser = await dappeteer.launch(puppeteer, { - metamaskVersion: process.env.METAMASK_VERSION || RECOMMENDED_METAMASK_VERSION, + metaMaskVersion: process.env.METAMASK_VERSION || RECOMMENDED_METAMASK_VERSION, }); - metamask = await dappeteer.setupMetamask(browser, { + metamask = await dappeteer.setupMetaMask(browser, { // optional, else it will use a default seed seed: 'pioneer casual canoe gorilla embrace width fiction bounce spy exhibit another dog', password: 'password1234', @@ -70,7 +70,7 @@ describe('dappeteer', () => { it('should open, test page', async () => { expect(testPage).to.be.ok; - expect(await testPage.title()).to.be.equal('Local metamask test'); + expect(await testPage.title()).to.be.equal('Local MetaMask test'); }); describe('test addNetwork method', addNetworkTests.bind(this));