From 6d2fdfb9000e04617521f753883f2dd75f09919e Mon Sep 17 00:00:00 2001 From: Raj Beemi Date: Wed, 26 Oct 2022 22:57:54 +0100 Subject: [PATCH] test: delete un unused dapp tests --- .github/workflows/pullrequests.yml | 30 +-- .../avalanche_dapp_injection.spec.js | 118 ---------- ...jection.spec.js => dapp_injection.spec.js} | 11 +- .../oneinch_dapp_injection.spec.js | 153 ------------- .../rsk_sovryn_injection.spec.js | 212 ------------------ ...rsk_sovryn_injection_create_wallet.spec.js | 164 -------------- .../terra_dapp_injection.spec.js | 168 -------------- .../uniswap_dapp_injection.spec.js | 190 ---------------- 8 files changed, 20 insertions(+), 1026 deletions(-) delete mode 100644 test/e2e/dapp_injection_tests/avalanche_dapp_injection.spec.js rename test/e2e/dapp_injection_tests/{sushi_dapp_injection.spec.js => dapp_injection.spec.js} (93%) delete mode 100644 test/e2e/dapp_injection_tests/oneinch_dapp_injection.spec.js delete mode 100644 test/e2e/dapp_injection_tests/rsk_sovryn_injection.spec.js delete mode 100644 test/e2e/dapp_injection_tests/rsk_sovryn_injection_create_wallet.spec.js delete mode 100644 test/e2e/dapp_injection_tests/terra_dapp_injection.spec.js delete mode 100644 test/e2e/dapp_injection_tests/uniswap_dapp_injection.spec.js diff --git a/.github/workflows/pullrequests.yml b/.github/workflows/pullrequests.yml index 2d73d8100..adc0dec5e 100644 --- a/.github/workflows/pullrequests.yml +++ b/.github/workflows/pullrequests.yml @@ -76,16 +76,16 @@ jobs: yarn lint yarn build - - name: Create wallet artifact - uses: actions/upload-artifact@v2.3.1 - if: always() - with: - name: pull-request-wallet - path: dist - if-no-files-found: ignore - retention-days: 30 +# - name: Create wallet artifact +# uses: actions/upload-artifact@v2.3.1 +# if: always() +# with: +# name: pull-request-wallet +# path: dist +# if-no-files-found: ignore +# retention-days: 30 - - name: Run Smoke tests againt PullRequest + - name: Run Smoke tests against PullRequest uses: beemi/puppeteer-headful@v1.0.11 env: CI: 'true' @@ -101,10 +101,10 @@ jobs: path: screenshots if-no-files-found: ignore - - name: Discord notification - uses: sarisia/actions-status-discord@v1 - if: always() - with: - webhook: ${{ secrets.DISCORD_PULL_REQUESTS_WEBHOOK }} - title: "${{ github.workflow}}" +# - name: Discord notification +# uses: sarisia/actions-status-discord@v1 +# if: always() +# with: +# webhook: ${{ secrets.DISCORD_PULL_REQUESTS_WEBHOOK }} +# title: "${{ github.workflow}}" diff --git a/test/e2e/dapp_injection_tests/avalanche_dapp_injection.spec.js b/test/e2e/dapp_injection_tests/avalanche_dapp_injection.spec.js deleted file mode 100644 index 159c5cb05..000000000 --- a/test/e2e/dapp_injection_tests/avalanche_dapp_injection.spec.js +++ /dev/null @@ -1,118 +0,0 @@ -const TestUtil = require('../../utils/TestUtils') -const OverviewPage = require('../../pages/OverviewPage') -const HomePage = require('../../pages/HomePage') -const PasswordPage = require('../../pages/PasswordPage') -const puppeteer = require('puppeteer') -const { expect } = require('chai') - -const testUtil = new TestUtil() -const overviewPage = new OverviewPage() -const homePage = new HomePage() -const passwordPage = new PasswordPage() - -let browser, page, dappPage -const metamaskTestDappUrl = "https://metamask.github.io/test-dapp/" -const chainId = 43114 -const expectedAddress = '0x3f429e2212718a717bd7f9e83ca47dab7956447b' - -describe('Avalanche Dapp injection-["MAINNET","PULL_REQUEST_TEST"]', async () => { - beforeEach(async () => { - browser = await puppeteer.launch(testUtil.getChromeOptions()) - page = await browser.newPage() - await page.setDefaultNavigationTimeout(0) - await page.goto(testUtil.extensionRootUrl, { waitUntil: 'load', timeout: 0 }) - // Import wallet option - await homePage.ClickOnImportWallet(page) - await homePage.ScrollToEndOfTerms(page) - await homePage.ClickOnAcceptPrivacy(page) - // Enter seed words and submit - await homePage.EnterSeedWords(page) - // Create a password & submit - await passwordPage.SubmitPasswordDetails(page) - // overview page - await overviewPage.CloseWhatsNewModal(page) - await overviewPage.HasOverviewPageLoaded(page) - // Default web3 option toggled on - await overviewPage.CheckWeb3ToggleOn(page) - // Connected dapp option - await page.click('#connect_dapp_main_option') - await page.waitForSelector('.v-switch-core', { visible: true }) - - await page.click('#dropdown-item', { delay: 1000 }) - await page.waitForSelector('#avalanche_web_network', { visible: true }) - await page.click('#avalanche_web_network', { delay: 1000 }) - await page.waitForTimeout(3000) - - // Go to dpp app - dappPage = await browser.newPage() - await dappPage.setViewport({ - width: 1366, - height: 768 - }) - }) - it('Avalanche pangolin Exchange dapp injection', async () => { - let chain = "avalanche"; - - await dappPage.goto(metamaskTestDappUrl, { timeout: 0, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.ethereum.enable() - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise; - await connectRequestWindow.waitForSelector("#filter_by_chain", { - visible: true, - timeout: 90000 - }); - await connectRequestWindow.click("#filter_by_chain").catch((e) => e); - await connectRequestWindow.waitForSelector(`#${chain}_web_network`, { visible: true }); - await connectRequestWindow.click(`#${chain}_web_network`, { delay: 1000 }); - - await connectRequestWindow.waitForSelector("#AVALANCHE", { visible: true }); - await connectRequestWindow.click("#AVALANCHE"); - // Check connect button is enabled - await connectRequestWindow.click("#connect_request_button").catch((e) => e); - await connectRequestWindow.waitForSelector("#make_sure_you_trust_this_site", { - visible: false, - timeout: 60000 - }); - await connectRequestWindow.click('#connect_request_button') - await dappPage.waitForSelector("#connectButton", { visible: true, timeout: 30000}) - .catch((e) => expect(e, "Sushi dapp polygon chain injection not connected.....").to.not.throw()); - await dappPage.click("#connectButton"); - await dappPage.waitForSelector('#accounts', { visible: true, timeout: 30000 }) - .catch((e) => expect(e, "Sushi dapp polygon chain injection not connected.....").to.not.throw()); - const connectedAddress = await dappPage.$eval('#accounts', (el) => el.innerText) - expect(connectedAddress, "Sushi dapp polygon chain injection not connected.....").to.not.equal(""); - expect(connectedAddress, "Sushi dapp polygon chain injection not connected.....").to.not.null; - - // Check web3 status as connected against dapp Ui. - const connectedChainDetails = await dappPage.evaluate(async () => { - const chainIDHexadecimal = await window.ethereum.request({ - method: 'eth_chainId', - params: [] - }) - return { - chainId: parseInt(chainIDHexadecimal, 16), - connectedAddress: await window.ethereum.request({ method: 'eth_accounts' }) - } - }) - console.log('connectedChainDetails', connectedChainDetails) - expect( - connectedChainDetails.chainId, - 'Avalanche chain ID is not expected after dapp connection' - ).equals(chainId) - expect( - connectedChainDetails.connectedAddress[0].toLowerCase(), - 'Avalanche connected address is not expected after dapp connection' - ).equals(expectedAddress.toLowerCase()) - - await page.bringToFront() - }) - - afterEach(async () => { - await browser.close() - }) -}) diff --git a/test/e2e/dapp_injection_tests/sushi_dapp_injection.spec.js b/test/e2e/dapp_injection_tests/dapp_injection.spec.js similarity index 93% rename from test/e2e/dapp_injection_tests/sushi_dapp_injection.spec.js rename to test/e2e/dapp_injection_tests/dapp_injection.spec.js index 0a5ce61ae..6fa560510 100644 --- a/test/e2e/dapp_injection_tests/sushi_dapp_injection.spec.js +++ b/test/e2e/dapp_injection_tests/dapp_injection.spec.js @@ -13,7 +13,7 @@ const passwordPage = new PasswordPage(); let browser, page; const metamaskTestDappUrl = "https://metamask.github.io/test-dapp/" -describe("Sushi Dapp Injection-['MAINNET','PULL_REQUEST_TEST']", async () => { +describe("Dapp Injection-['MAINNET','PULL_REQUEST_TEST']", async () => { beforeEach(async () => { browser = await puppeteer.launch(testUtil.getChromeOptions()); page = await browser.newPage(); @@ -34,7 +34,7 @@ describe("Sushi Dapp Injection-['MAINNET','PULL_REQUEST_TEST']", async () => { await browser.close(); }); - it("Sushi injection - ETH", async () => { + it("Dapp injection - ETH", async () => { const metaMaskTestDapp = await browser.newPage(); await metaMaskTestDapp.goto(metamaskTestDappUrl, { waitUntil: "load", timeout: 0 }); await metaMaskTestDapp.waitForSelector("#connectButton", { visible: true, timeout: 0}) @@ -74,7 +74,7 @@ describe("Sushi Dapp Injection-['MAINNET','PULL_REQUEST_TEST']", async () => { expect(connectedAddress, "Sushi dapp ETH chain injection not connected.....").to.not.null; } }); - it("Sushi injection - Polygon", async () => { + it("Dapp test app injection - Polygon", async () => { let chain = "polygon"; // Connected dapp option @@ -90,7 +90,6 @@ describe("Sushi Dapp Injection-['MAINNET','PULL_REQUEST_TEST']", async () => { await metaMaskTestDapp.goto(metamaskTestDappUrl, { waitUntil: "load", timeout: 0 }); await metaMaskTestDapp.waitForSelector("#connectButton", { visible: true, timeout: 0}) console.log("Metmask test dapp loaded with connect button"); - await testUtil.takeScreenshot(metaMaskTestDapp, "metamask-test-dapp-before-connect") await metaMaskTestDapp.click("#connectButton"); await metaMaskTestDapp.waitForTimeout(2000); @@ -120,9 +119,9 @@ describe("Sushi Dapp Injection-['MAINNET','PULL_REQUEST_TEST']", async () => { // Check web3 status as connected await metaMaskTestDapp.waitForSelector('#accounts', { visible: true, timeout: 30000 }) - .catch((e) => expect(e, "Sushi dapp ETH chain injection not connected.....").to.not.throw()); + await metaMaskTestDapp.waitForTimeout(3000); const connectedAddress = await metaMaskTestDapp.$eval('#accounts', (el) => el.innerText) - console.log("Connected address: ", connectedAddress); + console.log("polygon Connected address: ", connectedAddress); expect(connectedAddress, "Sushi dapp polygon chain injection not connected.....").to.not.equal(""); expect(connectedAddress, "Sushi dapp polygon chain injection not connected.....").to.not.null; } diff --git a/test/e2e/dapp_injection_tests/oneinch_dapp_injection.spec.js b/test/e2e/dapp_injection_tests/oneinch_dapp_injection.spec.js deleted file mode 100644 index b4c22c53a..000000000 --- a/test/e2e/dapp_injection_tests/oneinch_dapp_injection.spec.js +++ /dev/null @@ -1,153 +0,0 @@ -const TestUtil = require('../../utils/TestUtils') -const OverviewPage = require('../../pages/OverviewPage') -const HomePage = require('../../pages/HomePage') -const PasswordPage = require('../../pages/PasswordPage') -const puppeteer = require('puppeteer') -const { expect } = require('chai') - -const testUtil = new TestUtil() -const overviewPage = new OverviewPage() -const homePage = new HomePage() -const passwordPage = new PasswordPage() -const expectedAddress = '0x3f429e2212718a717bd7f9e83ca47dab7956447b' - -let browser, page -const dappUrl = 'https://app.1inch.io' - -describe('1Inch Dapp Injection-["MAINNET","PULL_REQUEST_TEST"]', async () => { - beforeEach(async () => { - browser = await puppeteer.launch(testUtil.getChromeOptions()) - page = await browser.newPage() - await page.setDefaultNavigationTimeout(0) - await page.goto(testUtil.extensionRootUrl, { waitUntil: 'load' }) - // Import wallet option - await homePage.ClickOnImportWallet(page) - await homePage.ScrollToEndOfTerms(page) - await homePage.ClickOnAcceptPrivacy(page) - // Enter seed words and submit - await homePage.EnterSeedWords(page) - // Create a password & submit - await passwordPage.SubmitPasswordDetails(page) - // overview page - await overviewPage.CloseWhatsNewModal(page) - await overviewPage.HasOverviewPageLoaded(page) - // Web3 toggle on by default - await overviewPage.CheckWeb3ToggleOn(page) - // Connected dapp option - await page.click('#connect_dapp_main_option') - await page.waitForSelector('.v-switch-core', { visible: true }) - }) - afterEach(async () => { - await browser.close() - }) - it.skip('1Inch injection - ETH["MAINNET_RELEASE"]', async () => { - let chain = 'ethereum' - - // Go to 1inch app - const dappPage = await browser.newPage() - await dappPage.goto(dappUrl, { waitUntil: 'load', timeout: 90000 }) - // Before click on injected wallet option. - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - await dappPage.evaluate(async () => { - window.ethereum.enable() - }) - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#filter_by_chain', { - visible: true, - timeout: 90000 - }) - } catch (e) { - await testUtil.takeScreenshot(connectRequestWindow, '1inch-ethereum-loading-issue') - expect(e, '1inch injection not listed, connected window not loaded.....').equals(null) - } - - await connectRequestWindow.click('#filter_by_chain').catch((e) => e) - await connectRequestWindow.waitForSelector(`#${chain}_web_network`, { visible: true }) - await connectRequestWindow.click(`#${chain}_web_network`, { delay: 1000 }) - - await connectRequestWindow.waitForSelector('#ETHEREUM', { visible: true }) - await connectRequestWindow.click('#ETHEREUM') - // Check connect button is enabled - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - // check origin url - await connectRequestWindow - .$eval('#origin_url', (el) => el.innerText) - .then((text) => expect(text).to.contains(dappUrl)) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - const connectedChainDetails = await dappPage.evaluate(async () => { - const chainIDHexadecimal = await window.ethereum.request({ - method: 'eth_chainId', - params: [] - }) - return { - chainId: parseInt(chainIDHexadecimal, 16), - connectedAddress: await window.ethereum.request({ method: 'eth_accounts' }) - } - }) - expect(connectedChainDetails.chainId, 'Uniswap ethereum dapp connection issue').equals(1) - expect( - connectedChainDetails.connectedAddress[0].toLowerCase(), - 'Uniswap ethereum dapp connection issue' - ).equals(expectedAddress.toLowerCase()) - }) - it.skip('1Inch injection - BSC', async () => { - let chain = 'bsc' - - // Select correct network - await page.click('#dropdown-item', { delay: 1000 }) - await page.waitForSelector(`#${chain}_web_network`, { visible: true }) - await page.click(`#${chain}_web_network`, { delay: 2000 }) - - // Go to 1inch app - const dappPage = await browser.newPage() - await dappPage.goto(dappUrl, { waitUntil: 'load', timeout: 90000 }) - // Before click on injected wallet option. - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - await dappPage.evaluate(async () => { - window.ethereum.enable() - }) - const connectRequestWindow = await newPagePromise - await connectRequestWindow.waitForSelector('#filter_by_chain', { visible: true }) - await connectRequestWindow.click('#filter_by_chain').catch((e) => e) - await connectRequestWindow.waitForSelector(`#${chain}_web_network`, { visible: true }) - await connectRequestWindow.click(`#${chain}_web_network`, { delay: 1000 }) - - await connectRequestWindow.waitForSelector('#BSC', { visible: true }) - await connectRequestWindow.click('#BSC') - // Check connect button is enabled - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - // check origin url - await connectRequestWindow - .$eval('#origin_url', (el) => el.innerText) - .then((text) => expect(text).to.contains(dappUrl)) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - const connectedChainDetails = await dappPage.evaluate(async () => { - const chainIDHexadecimal = await window.ethereum.request({ - method: 'eth_chainId', - params: [] - }) - return { - chainId: parseInt(chainIDHexadecimal, 16), - connectedAddress: await window.ethereum.request({ method: 'eth_accounts' }) - } - }) - expect(connectedChainDetails.chainId, 'Uniswap bsc dapp connection issue').equals(56) - expect( - connectedChainDetails.connectedAddress[0].toLowerCase(), - 'Uniswap bsc dapp connection issue' - ).equals(expectedAddress.toLowerCase()) - }) -}) diff --git a/test/e2e/dapp_injection_tests/rsk_sovryn_injection.spec.js b/test/e2e/dapp_injection_tests/rsk_sovryn_injection.spec.js deleted file mode 100644 index ae237e4e4..000000000 --- a/test/e2e/dapp_injection_tests/rsk_sovryn_injection.spec.js +++ /dev/null @@ -1,212 +0,0 @@ -const TestUtil = require('../../utils/TestUtils') -const OverviewPage = require('../../pages/OverviewPage') -const HomePage = require('../../pages/HomePage') -const PasswordPage = require('../../pages/PasswordPage') -const puppeteer = require('puppeteer') -const { expect } = require('chai') - -const testUtil = new TestUtil() -const overviewPage = new OverviewPage() -const homePage = new HomePage() -const passwordPage = new PasswordPage() - -let browser, page, dappPage -let bridgeUrl = 'https://bridge.sovryn.app/' -let sovrynUrl = 'https://live.sovryn.app/' -let alphaMoneyOnChains = 'https://alpha.moneyonchain.com/' - -describe('RSK Bridge & Sovryn dapp Injection-["MAINNET","MAINNET_RELEASE"]', async () => { - beforeEach(async () => { - browser = await puppeteer.launch(testUtil.getChromeOptions()) - page = await browser.newPage() - await page.setDefaultNavigationTimeout(0) - await page.goto(testUtil.extensionRootUrl, { waitUntil: 'load', timeout: 0 }) - // Import wallet option - await homePage.ClickOnImportWallet(page) - await homePage.ScrollToEndOfTerms(page) - await homePage.ClickOnAcceptPrivacy(page) - // Enter seed words and submit - await homePage.EnterSeedWords(page) - // Create a password & submit - await passwordPage.SubmitPasswordDetails(page) - // overview page - await overviewPage.CloseWhatsNewModal(page) - await overviewPage.HasOverviewPageLoaded(page) - // Default web3 option toggled on - await overviewPage.CheckWeb3ToggleOn(page) - // Connected dapp option - await page.click('#connect_dapp_main_option') - await page.waitForSelector('.v-switch-core', { visible: true }) - // Select rsk - await page.click('#dropdown-item', { delay: 2000 }) - await page.waitForSelector('#rsk_web_network', { visible: true }) - await page.click('#rsk_web_network', { delay: 2000 }) - await page.waitForTimeout(3000) - - // Go to SOVRYN app - dappPage = await browser.newPage() - await dappPage.setViewport({ - width: 1366, - height: 768 - }) - }) - it('SOVRYN Bridge injection', async () => { - await dappPage.goto(bridgeUrl, { timeout: 0, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.ethereum.request({ method: 'eth_requestAccounts' }) - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#RSK', { visible: true, timeout: 60000 }) - } catch (e) { - await testUtil.takeScreenshot(connectRequestWindow, 'rsk-sovryn-dapp-connect-request-issue') - expect( - e, - 'RSK sovryn injection ethereum not listed, connected window not loaded.....' - ).equals(null) - } - - const rskAccounts = await connectRequestWindow.$$('#RSK') - expect( - rskAccounts.length, - 'rsk & rsk legacy accounts not listed after dapp connection' - ).to.equals(2) - - await connectRequestWindow.waitForSelector('#dropdown-item', { visible: true }) - let filterValues = await connectRequestWindow.evaluate(() => { - const dropdownItems = document.querySelectorAll('#dropdown-item') - const filterValues = [] - for (let i = 0; i < dropdownItems.length; i++) { - filterValues.push(dropdownItems[i].innerText) - } - return filterValues - }) - expect( - filterValues, - 'Sovryn dapp injection RSK not listed, connected window not loaded.....' - ).to.include('Rootstock (RSK)') - - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - it('SOVRYN dApp injection as import wallet user["PULL_REQUEST_TEST"]', async () => { - await dappPage.goto(sovrynUrl, { timeout: 0, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.ethereum.request({ method: 'eth_requestAccounts' }) - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#RSK', { visible: true, timeout: 120000 }) - } catch (e) { - // await testUtil.takeScreenshot(connectRequestWindow, 'rsk-sovryn-dapp-connect-request-issue') - expect( - e, - 'RSK sovryn injection ethereum not listed, connected window not loaded.....' - ).equals(null) - } - - const rskAccounts = await connectRequestWindow.$$('#RSK') - expect( - rskAccounts.length, - 'rsk & rsk legacy accounts not listed after dapp connection' - ).to.equals(2) - - await connectRequestWindow.waitForSelector('#dropdown-item', { visible: true }) - let filterValues = await connectRequestWindow.evaluate(() => { - const dropdownItems = document.querySelectorAll('#dropdown-item') - const filterValues = [] - for (let i = 0; i < dropdownItems.length; i++) { - filterValues.push(dropdownItems[i].innerText) - } - return filterValues - }) - expect( - filterValues, - 'Sovryn dapp injection RSK not listed, connected window not loaded.....' - ).to.include('Rootstock (RSK)') - - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - it('alphaMoneyOnChain dApp injection', async () => { - await dappPage.goto(alphaMoneyOnChains, { timeout: 60000, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.ethereum.request({ method: 'eth_requestAccounts' }) - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#RSK', { visible: true, timeout: 60000 }) - } catch (e) { - await testUtil.takeScreenshot(connectRequestWindow, 'rsk-sovryn-dapp-connect-request-issue') - expect( - e, - 'RSK sovryn injection ethereum not listed, connected window not loaded.....' - ).equals(null) - } - - const rskAccounts = await connectRequestWindow.$$('#RSK') - expect( - rskAccounts.length, - 'rsk & rsk legacy accounts not listed after dapp connection' - ).to.equals(2) - - await connectRequestWindow.waitForSelector('#dropdown-item', { visible: true }) - let filterValues = await connectRequestWindow.evaluate(() => { - const dropdownItems = document.querySelectorAll('#dropdown-item') - const filterValues = [] - for (let i = 0; i < dropdownItems.length; i++) { - filterValues.push(dropdownItems[i].innerText) - } - return filterValues - }) - expect( - filterValues, - 'Sovryn dapp injection RSK not listed, connected window not loaded.....' - ).to.include('Rootstock (RSK)') - - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - afterEach(async () => { - await browser.close() - }) -}) diff --git a/test/e2e/dapp_injection_tests/rsk_sovryn_injection_create_wallet.spec.js b/test/e2e/dapp_injection_tests/rsk_sovryn_injection_create_wallet.spec.js deleted file mode 100644 index b66f038f9..000000000 --- a/test/e2e/dapp_injection_tests/rsk_sovryn_injection_create_wallet.spec.js +++ /dev/null @@ -1,164 +0,0 @@ -const TestUtil = require('../../utils/TestUtils') -const OverviewPage = require('../../pages/OverviewPage') -const HomePage = require('../../pages/HomePage') -const PasswordPage = require('../../pages/PasswordPage') -const puppeteer = require('puppeteer') -const { expect } = require('chai') -const SeedWordsPage = require('../../pages/SeedWordsPage') - -const testUtil = new TestUtil() -const overviewPage = new OverviewPage() -const homePage = new HomePage() -const seedWordsPage = new SeedWordsPage() -const passwordPage = new PasswordPage() - -let browser, page, dappPage -let bridgeUrl = 'https://bridge.sovryn.app/' -let sovrynUrl = 'https://live.sovryn.app/' - -describe('RSK Bridge & Sovryn dapp Injection as create a new wallet-["MAINNET","PULL_REQUEST_TEST"]', async () => { - beforeEach(async () => { - browser = await puppeteer.launch(testUtil.getChromeOptions()) - page = await browser.newPage() - await page.setDefaultNavigationTimeout(0) - await page.goto(testUtil.extensionRootUrl, { waitUntil: 'networkidle2' }) - // Create new wallet - await homePage.ClickOnCreateNewWallet(page) - // Terms & conditions - await homePage.ScrollToEndOfTerms(page) - await homePage.ClickOnAcceptPrivacy(page) - // Unlocking wallet... - const seed1 = (await seedWordsPage.GetBackupSeedWords(page)).seed1 - const seed5 = (await seedWordsPage.GetBackupSeedWords(page)).seed5 - const seed12 = (await seedWordsPage.GetBackupSeedWords(page)).seed12 - // Click Next - await seedWordsPage.ClickOnWalletNextButton(page) - // Enter seed1,5,.12 - await seedWordsPage.EnterSeedWords(page, seed1, seed5, seed12) - await seedWordsPage.ClickContinueButton(page) - // Set password & click next - await passwordPage.SubmitPasswordDetails(page) - // overview page - await overviewPage.CloseWhatsNewModal(page) - await overviewPage.HasOverviewPageLoaded(page) - // Default web3 option toggled on - await overviewPage.CheckWeb3ToggleOn(page) - // Connected dapp option - await page.click('#connect_dapp_main_option') - await page.waitForSelector('.v-switch-core', { visible: true }) - // Select rsk - await page.click('#dropdown-item', { delay: 1000 }) - await page.waitForSelector('#rsk_web_network', { visible: true }) - await page.click('#rsk_web_network', { delay: 1000 }) - - // Go to SOVRYN app - dappPage = await browser.newPage() - await dappPage.setViewport({ - width: 1366, - height: 768 - }) - }) - it('SOVRYN Bridge injection', async () => { - await dappPage.goto(bridgeUrl, { timeout: 0, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.ethereum.enable() - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#RSK', { visible: true, timeout: 60000 }) - } catch (e) { - // await testUtil.takeScreenshot(connectRequestWindow, 'rsk-sovryn-dapp-connect-request-issue') - expect( - e, - 'RSK sovryn injection ethereum not listed, connected window not loaded.....' - ).equals(null) - } - - const rskAccounts = await connectRequestWindow.$$('#RSK') - expect( - rskAccounts.length, - 'only one RSK account should be listed for create new wallet dapp injection' - ).to.equals(1) - - await connectRequestWindow.waitForSelector('#dropdown-item', { visible: true }) - let filterValues = await connectRequestWindow.evaluate(() => { - const dropdownItems = document.querySelectorAll('#dropdown-item') - const filterValues = [] - for (let i = 0; i < dropdownItems.length; i++) { - filterValues.push(dropdownItems[i].innerText) - } - return filterValues - }) - expect( - filterValues, - 'Sovryn dapp injection RSK not listed, connected window not loaded.....' - ).to.include('Rootstock (RSK)') - - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - it('SOVRYN dApp injection with create wallet', async () => { - await dappPage.goto(sovrynUrl, { timeout: 0, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.ethereum.enable() - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#RSK', { visible: true, timeout: 60000 }) - } catch (e) { - expect(e, 'RSK sovryn injection RSK not listed, connected window not loaded').equals(null) - } - - const rskAccounts = await connectRequestWindow.$$('#RSK') - expect( - rskAccounts.length, - 'only one RSK account should be listed for create new wallet dapp injection' - ).to.equals(1) - - await connectRequestWindow.waitForSelector('#dropdown-item', { visible: true }) - let filterValues = await connectRequestWindow.evaluate(() => { - const dropdownItems = document.querySelectorAll('#dropdown-item') - const filterValues = [] - for (let i = 0; i < dropdownItems.length; i++) { - filterValues.push(dropdownItems[i].innerText) - } - return filterValues - }) - expect( - filterValues, - 'Sovryn dapp injection RSK not listed, connected window not loaded.....' - ).to.include('Rootstock (RSK)') - - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - afterEach(async () => { - await browser.close() - }) -}) diff --git a/test/e2e/dapp_injection_tests/terra_dapp_injection.spec.js b/test/e2e/dapp_injection_tests/terra_dapp_injection.spec.js deleted file mode 100644 index 2982643c6..000000000 --- a/test/e2e/dapp_injection_tests/terra_dapp_injection.spec.js +++ /dev/null @@ -1,168 +0,0 @@ -const TestUtil = require('../../utils/TestUtils') -const OverviewPage = require('../../pages/OverviewPage') -const HomePage = require('../../pages/HomePage') -const PasswordPage = require('../../pages/PasswordPage') -const puppeteer = require('puppeteer') -const { expect } = require('chai') - -const testUtil = new TestUtil() -const overviewPage = new OverviewPage() -const homePage = new HomePage() -const passwordPage = new PasswordPage() - -let browser, page, dappPage -const anchorProtocol_Url = 'https://app.anchorprotocol.com/' -const mirrorProtocol_Url = 'https://mirrorprotocol.app/#/trade/' -const terra_swap_Url = 'https://app.terraswap.io' - -describe('Terra Dapp injection-["MAINNET"]', async () => { - beforeEach(async () => { - browser = await puppeteer.launch(testUtil.getChromeOptions()) - page = await browser.newPage() - await page.setDefaultNavigationTimeout(0) - await page.goto(testUtil.extensionRootUrl, { waitUntil: 'networkidle2' }) - // Import wallet option - await homePage.ClickOnImportWallet(page) - await homePage.ScrollToEndOfTerms(page) - await homePage.ClickOnAcceptPrivacy(page) - // Enter seed words and submit - await homePage.EnterSeedWords(page) - // Create a password & submit - await passwordPage.SubmitPasswordDetails(page) - // overview page - await overviewPage.CloseWhatsNewModal(page) - await overviewPage.HasOverviewPageLoaded(page) - await overviewPage.SelectNetwork(page, 'mainnet') - // Default web3 option toggled on - await overviewPage.CheckWeb3ToggleOn(page) - // Connected dapp option - await page.click('#connect_dapp_main_option') - await page.waitForSelector('.v-switch-core', { visible: true }) - // Go to dpp app - dappPage = await browser.newPage() - await dappPage.setViewport({ - width: 1366, - height: 768 - }) - }) - it.skip('Terra anchorprotocol dapp injection- "PULL_REQUEST_TEST"', async () => { - await dappPage.goto(anchorProtocol_Url, { timeout: 60000, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.terra.enable() - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#TERRA', { visible: true, timeout: 60000 }) - } catch (e) { - await testUtil.takeScreenshot( - connectRequestWindow, - 'terra-anchorprotocol-dapp-connect-request-issue' - ) - expect( - e, - 'Terra anchorprotocol sovryn injection LUNA not listed, connected window not loaded.....' - ).equals(null) - } - const rskAccounts = await connectRequestWindow.$$('#TERRA') - expect( - rskAccounts.length, - '1 TERRA accounts should be listed under Connect request popupWindow' - ).to.equals(1) - await connectRequestWindow.click('#TERRA') - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - it('Terra mirror finance dapp injection', async () => { - await dappPage.goto(mirrorProtocol_Url, { timeout: 90000, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.terra.enable() - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#TERRA', { visible: true, timeout: 60000 }) - } catch (e) { - await testUtil.takeScreenshot(connectRequestWindow, 'rsk-sovryn-dapp-connect-request-issue') - expect( - e, - 'RSK sovryn injection ethereum not listed, connected window not loaded.....' - ).equals(null) - } - - const rskAccounts = await connectRequestWindow.$$('#TERRA') - expect( - rskAccounts.length, - '1 TERRA accounts should be listed under Connect request popupWindow' - ).to.equals(1) - await connectRequestWindow.click('#TERRA') - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - it('Terra swap dapp injectin https://app.terraswap.io', async () => { - await dappPage.goto(terra_swap_Url, { timeout: 90000, waitUntil: 'load' }) - // Before click on injected wallet option. - await dappPage.evaluate(async () => { - window.terra.enable() - }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#TERRA', { visible: true, timeout: 60000 }) - } catch (e) { - await testUtil.takeScreenshot(connectRequestWindow, 'rsk-sovryn-dapp-connect-request-issue') - expect( - e, - 'RSK sovryn injection ethereum not listed, connected window not loaded.....' - ).equals(null) - } - - const rskAccounts = await connectRequestWindow.$$('#TERRA') - expect( - rskAccounts.length, - '1 TERRA accounts should be listed under Connect request popupWindow' - ).to.equals(1) - await connectRequestWindow.click('#TERRA') - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - }) - - afterEach(async () => { - await browser.close() - }) -}) diff --git a/test/e2e/dapp_injection_tests/uniswap_dapp_injection.spec.js b/test/e2e/dapp_injection_tests/uniswap_dapp_injection.spec.js deleted file mode 100644 index 2469b11a6..000000000 --- a/test/e2e/dapp_injection_tests/uniswap_dapp_injection.spec.js +++ /dev/null @@ -1,190 +0,0 @@ -const TestUtil = require('../../utils/TestUtils') -const OverviewPage = require('../../pages/OverviewPage') -const HomePage = require('../../pages/HomePage') -const PasswordPage = require('../../pages/PasswordPage') -const puppeteer = require('puppeteer') -const { expect } = require('chai') - -const testUtil = new TestUtil() -const overviewPage = new OverviewPage() -const homePage = new HomePage() -const passwordPage = new PasswordPage() - -let browser, page, dappPage -const dappUrl = 'https://app.uniswap.org/#/swap' -let ethereumChainId = 1 -let arbitrumChainId = 42161 -const expectedAddress = '0x3f429e2212718a717bd7f9e83ca47dab7956447b' - -describe('Uniswap Dapp Injection-["MAINNET"]', async () => { - beforeEach(async () => { - browser = await puppeteer.launch(testUtil.getChromeOptions()) - page = await browser.newPage() - await page.goto(testUtil.extensionRootUrl, { waitUntil: 'load', timeout:0 }) - // Import wallet option - await homePage.ClickOnImportWallet(page) - await homePage.ScrollToEndOfTerms(page) - await homePage.ClickOnAcceptPrivacy(page) - // Enter seed words and submit - await homePage.EnterSeedWords(page) - // Create a password & submit - await passwordPage.SubmitPasswordDetails(page) - // overview page - await overviewPage.CloseWhatsNewModal(page) - await overviewPage.HasOverviewPageLoaded(page) - // Default web3 option toggled on - await overviewPage.CheckWeb3ToggleOn(page) - // Connected dapp option - await page.click('#connect_dapp_main_option') - await page.waitForSelector('.v-switch-core', { visible: true }) - }) - afterEach(async () => { - await browser.close() - }) - it('UNISWAP Injection-ETH["PULL_REQUEST_TEST","MAINNET_RELEASE"]', async () => { - // Go to uniSwap app - dappPage = await browser.newPage() - await dappPage.setViewport({ - width: 1366, - height: 768 - }) - await dappPage.goto(dappUrl, { waitUntil: 'load', timeout: 0 }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - await dappPage.evaluate(async () => { - window.ethereum.request({ method: 'eth_requestAccounts' }) - }) - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#ETHEREUM', { visible: true, timeout: 60000 }) - } catch (e) { - expect(e, 'Uniswap injection ethereum not listed, connected window not loaded.....').equals( - null) - } - await connectRequestWindow.waitForSelector('#dropdown-item', { visible: true }) - let filterValues = await connectRequestWindow.evaluate(() => { - const dropdownItems = document.querySelectorAll('#dropdown-item') - const filterValues = [] - for (let i = 0; i < dropdownItems.length; i++) { - filterValues.push(dropdownItems[i].innerText) - } - return filterValues - }) - expect( - filterValues, - 'Uniswap injection ethereum not listed, connected window not loaded.....' - ).to.include('Ethereum (ETH)') - // click Next button - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await dappPage.waitForTimeout(10000) - // Check web3 status as connected - const connectedChainDetails = await dappPage.evaluate(async () => { - const chainIDHexadecimal = await window.ethereum.request({ - method: 'eth_chainId', - params: [] - }) - return { - chainId: parseInt(chainIDHexadecimal, 16), - connectedAddress: await window.ethereum.request({ method: 'eth_accounts' }) - } - }) - expect(connectedChainDetails.chainId, 'Uniswap ethereum dapp connection issue').equals( - ethereumChainId - ) - expect( - connectedChainDetails.connectedAddress[0].toLowerCase(), - 'Uniswap ethereum dapp connection issue' - ).equals(expectedAddress.toLowerCase()) - }) - it('UNISWAP Injection-ARBITRUM', async () => { - // Select ARBITRUM - await page.click('#dropdown-item', { delay: 1000 }) - await page.waitForSelector('#arbitrum_web_network', { visible: true }) - await page.click('#arbitrum_web_network', { delay: 1000 }) - - // Go to uniSwap app - dappPage = await browser.newPage() - await dappPage.setViewport({ - width: 1366, - height: 768 - }) - await dappPage.goto(dappUrl, { timeout: 0, waitUntil: 'load' }) - const newPagePromise = new Promise((x) => - browser.once('targetcreated', (target) => x(target.page())) - ) /* eslint-disable-line */ - await dappPage.evaluate(async () => { - window.ethereum.request({ method: 'eth_requestAccounts' }) - }) - const connectRequestWindow = await newPagePromise - try { - await connectRequestWindow.waitForSelector('#connect_request_button', { - visible: true, - timeout: 120000 - }) - await connectRequestWindow.waitForSelector('#ETHEREUM', { visible: true, timeout: 60000 }) - } catch (e) { - await testUtil.takeScreenshot( - connectRequestWindow, - 'uniswap-arbitrum-connect-request-window-issue' - ) - expect( - e, - 'Uniswap injection ARBITRUM not listed, connect request window loading issue.....' - ).equals(null) - } - await connectRequestWindow.waitForSelector('#dropdown-item', { visible: true }) - let filterValues = await connectRequestWindow.evaluate(() => { - const dropdownItems = document.querySelectorAll('#dropdown-item') - const filterValues = [] - for (let i = 0; i < dropdownItems.length; i++) { - filterValues.push(dropdownItems[i].innerText) - } - return filterValues - }) - expect( - filterValues, - 'Uniswap injection arbitrum not listed, connected window not loaded.....' - ).to.include('Ethereum (ETH)') - await connectRequestWindow.click('#filter_by_chain').catch((e) => e) - await connectRequestWindow.waitForSelector('#arbitrum_web_network', { visible: true }) - await connectRequestWindow.click('#arbitrum_web_network', { delay: 1000 }) - - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.waitForSelector('#make_sure_you_trust_this_site', { - visible: false, - timeout: 60000 - }) - await connectRequestWindow.click('#connect_request_button').catch((e) => e) - await connectRequestWindow.click('#ARBITRUM').catch((e) => e) - // Check web3 status as connected - const connectedChainDetails = await dappPage.evaluate(async () => { - const chainIDHexadecimal = await window.ethereum.request({ - method: 'eth_chainId', - params: [] - }) - return { - chainId: parseInt(chainIDHexadecimal, 16), - connectedAddress: await window.ethereum.request({ method: 'eth_accounts' }) - } - }) - expect(connectedChainDetails.chainId, 'Uniswap ethereum dapp connection issue').equals( - arbitrumChainId - ) - expect( - connectedChainDetails.connectedAddress[0].toLowerCase(), - 'Uniswap ethereum dapp connection issue' - ).equals(expectedAddress.toLowerCase()) - - await page.bringToFront() - }) -})