cycles-quartz/examples/transfers/frontend/tests/e2e/fixtures.ts
Daniel Gushchyan 14a6913632
refactor: refactor repo as standard rust monorepo (#222)
Co-authored-by: hu55a1n1 <sufialhussaini@gmail.com>
2024-09-30 23:33:22 +04:00

51 lines
1.3 KiB
TypeScript

import { test as baseTest, chromium } from '@playwright/test'
import path from 'path'
import { importWallet } from './helpers/importWallet'
let extensionUrl: string
const pathToExtension = path.join(
__dirname,
'extensions',
`keplr-extension-manifest-v3-v${process.env.TEST_KEPLR_EXTENSION_VERSION}`,
)
// Tests fixtures
const test = baseTest.extend<{
extensionUrl: string
}>({
// Overwritten Playwright context to setup Keplr wallet before all tests
context: async ({}, use) => {
// Launch browser with Keplr installed
const context = await chromium.launchPersistentContext('', {
headless: false,
args: [
`--disable-extensions-except=${pathToExtension}`,
`--load-extension=${pathToExtension}`,
],
})
const page = await context.waitForEvent('page')
// Retrieve target URL to interact with Keplr extension
const extensionId = /\/\/(.*?)\//.exec(page.url())![1]
extensionUrl = `chrome-extension://${extensionId}`
// Import a wallet to be used in tests
await importWallet({
extensionUrl,
mnemonic: process.env.TEST_WALLET_MNEMONIC,
name: 'main',
page,
})
await use(context)
await context.close()
},
extensionUrl: async ({}, use) => {
await use(extensionUrl)
},
})
export default test