UNPKG

@assert-equals/headless-wallet

Version:

Web3 dApp testing with a MetaMask equivalent headless wallet, using Playwright or WebDriver —no extension popups

33 lines (26 loc) 1.38 kB
import { expect, test } from "@playwright/test"; import { HeadlessWalletServer, setupHeadlessWallet } from "../../src/"; let server: HeadlessWalletServer; test.beforeEach(async ({ page }) => { // MetaMask test seed https://github.com/MetaMask/metamask-extension/blob/v12.8.1/test/e2e/seeder/ganache.ts const port: number = 8001; const mnemonic: string = "phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent"; server = new HeadlessWalletServer({ mnemonic, port }); await server.start(); await setupHeadlessWallet({ page, port }); }); test.afterEach(async () => { await server.stop(); }); test("Metamask Wallet Test Dapp", async ({ page }) => { const baseUrl = "https://metamask.github.io/test-dapp/"; await page.goto(baseUrl); await page.getByRole("button", { name: "USE HEADLESS WALLET" }).click(); await expect(page.getByRole("heading", { name: "Active Provider" })).toBeVisible(); await expect(page.getByText("Name: Headless Wallet")).toBeVisible(); await expect(page.locator("#accounts")).toContainText("0xe18035bf8712672935fdb4e5e431b1a0183d2dfc"); await page.locator("#personalSign").click(); await expect(page.locator("#personalSignResult")).toContainText( "0xc15bfe971658b5bf67da31edc7fc4906755d49f4cf29b9a74d557f88ec73a395069b934d142f63a77a0773b329c32a473492cca79feb1256f11809943ec7ff261c" ); });