From fb025f8e4642d840900e7bd0261ec2b30691d325 Mon Sep 17 00:00:00 2001 From: Nelito Junior Date: Wed, 4 Dec 2024 17:51:12 -0300 Subject: [PATCH] feat(e2e): enhance WalletConnectConnector tests FE-911 (#431) Co-authored-by: Luiz Gomes <8636507+LuizAsFight@users.noreply.github.com> --- .../WalletConnectConnector.test.ts | 55 +++++++++++-------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/e2e-tests/runner/examples/connectors/WalletConnectConnector/WalletConnectConnector.test.ts b/e2e-tests/runner/examples/connectors/WalletConnectConnector/WalletConnectConnector.test.ts index 26651ca3..94e3bd79 100644 --- a/e2e-tests/runner/examples/connectors/WalletConnectConnector/WalletConnectConnector.test.ts +++ b/e2e-tests/runner/examples/connectors/WalletConnectConnector/WalletConnectConnector.test.ts @@ -1,16 +1,29 @@ -import { getButtonByText, getByAriaLabel } from '@fuels/playwright-utils'; +import { + getButtonByText, + getByAriaLabel, + seedWallet, +} from '@fuels/playwright-utils'; import { testWithSynpress } from '@synthetixio/synpress'; import { MetaMask, metaMaskFixtures } from '@synthetixio/synpress/playwright'; -import { sessionTests, transferTests } from '../../../common/common'; +import { type BN, bn } from 'fuels'; +import { + incrementTests, + sessionTests, + transferTests, +} from '../../../common/common'; import type { ConnectorFunctions } from '../../../common/types'; import basicSetup from '../../../wallet-setup/basic.setup'; -import { fundWallet } from '../setup'; const test = testWithSynpress(metaMaskFixtures(basicSetup)); +const { VITE_FUEL_PROVIDER_URL, VITE_WALLET_SECRET } = process.env as Record< + string, + string +>; + test.describe('WalletConnectConnector', () => { let metamask: MetaMask; - + test.slow(); test.beforeEach(async ({ context, extensionId, metamaskPage, page }) => { metamask = new MetaMask( context, @@ -22,18 +35,13 @@ test.describe('WalletConnectConnector', () => { }); const connect: ConnectorFunctions['connect'] = async (page) => { - await page.goto('/'); const connectButton = getButtonByText(page, 'Connect Wallet', true); await connectButton.click(); await getByAriaLabel(page, 'Connect to Ethereum Wallets', true).click(); - await page.getByText('Proceed anyway').click(); await getButtonByText(page, 'MetaMask', true).click(); - await metamask.connectToDapp(); - // wait 3 seconds for the connection to be established - await page.waitForTimeout(3000); - + await page.waitForTimeout(4000); await metamask.confirmSignature(); }; @@ -41,28 +49,31 @@ test.describe('WalletConnectConnector', () => { await metamask.confirmTransaction(); }; - test('Fuel tests', async ({ page }) => { + test('Ethereum session tests', async ({ page }) => { await sessionTests(page, { connect, approveTransfer }); + }); + test('Ethereum transfer tests', async ({ page }) => { await connect(page); - const addressElement = await page.locator('#address'); - let address: string | null = null; - if (addressElement) { - address = await addressElement.getAttribute('data-address'); - } + const addressElement = await page.locator('css=#address'); + + const address = await addressElement.getAttribute('data-address'); + const amount: BN = bn(100_000_000); if (address) { - await fundWallet({ publicKey: address }); + await seedWallet( + address, + amount, + VITE_FUEL_PROVIDER_URL || '', + VITE_WALLET_SECRET || '', + ); } else { throw new Error('Address is null'); } - await page.click('text=Disconnect'); - await page.waitForSelector('text=/Connect Wallet/'); - - await transferTests(page, { connect, approveTransfer }); + await transferTests(page, { connect, approveTransfer, keepSession: true }); - // await incrementTests(page, { connect, approveTransfer }); + await incrementTests(page, { connect, approveTransfer, keepSession: true }); }); });