metamask-testing-tools - v2.0.1

metamask-testing-tools

This is a collection of tools for testing metamask, metamask flask and metamask snaps with Playwright.

pnpm add metamask-testing-tools -D

This package is meant to be used with Playwright. It provides a createFixture function that returns a test and expect function that can be used to write tests.

More information on writing tests with Playwright can be found here.

// tests.spec.js

import { createFixture } from 'metamask-testing-tools'

const { test, expect } = createFixture({
download: {
flask: true,
},
snap: {
snapId: 'npm:@filsnap',
},
})

test('should get address mainnet', async ({ metamask, page }) => {
const result = await metamask.invokeSnap({
request: {
method: 'fil_getAddress',
},
page,
})

expect(result).toBe('f1jbnosztqwadgh4smvsnojdvwjgqxsmtzy5n5imi')
})

Check https://hugomrdias.github.io/filsnap-testing/modules/metamask_testing_tools.html

These variables can be used to override the default values.

  • GITHUB_TOKEN - GitHub API token to download metamask from github releases.
  • METAMASK_TAG - Tag of metamask to download. Defaults to latest.
  • METAMASK_MNEMONIC - Seed to use for metamask.
  • METAMASK_PASSWORD - Password to use for metamask.
  • METAMASK_SNAP_ID - Snap ID to use for metamask.
  • METAMASK_SNAP_VERSION - Snap version to use for metamask.