From 106dac7a82ae3c023e43e6146301c05bb1192e24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yago=20P=C3=A9rez=20V=C3=A1zquez?= Date: Mon, 16 Jan 2023 17:37:48 +0100 Subject: [PATCH] fix(e2e): e2e tests (#645) --- .github/workflows/safe-apps-check.yml | 18 +++++++++--------- .gitignore | 2 ++ cypress.config.js | 2 +- cypress/e2e/tx-builder/tx-builder.spec.cy.js | 12 +++++++++--- cypress/support/e2e.js | 20 ++++++++++++-------- 5 files changed, 33 insertions(+), 21 deletions(-) diff --git a/.github/workflows/safe-apps-check.yml b/.github/workflows/safe-apps-check.yml index e072751a0..d676ff1e3 100644 --- a/.github/workflows/safe-apps-check.yml +++ b/.github/workflows/safe-apps-check.yml @@ -43,7 +43,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '1' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'eth' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0xfF501B324DC6d78dC9F983f140B9211c3EdB4dc7' }} @@ -61,7 +61,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '100' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'gno' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0xfca7Da0a0290D7BcBEcD93bE124756fC9B6F8E6A' }} @@ -79,7 +79,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '137' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'matic' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0x6D04edC44F7C88faa670683036edC2F6FC10b86e' }} @@ -97,7 +97,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '56' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'bnb' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0x1D28a316431bAFf410Fe53398c6C5BD566032Eec' }} @@ -115,7 +115,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '42161' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'arb1' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0x82A604a3a4260ce16fA0257fBA96336Af3b63Dbc' }} @@ -133,7 +133,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '1313161554' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'aurora' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0xCEA454dD3d76Da856E72C3CBaDa8ee6A789aD167' }} @@ -151,7 +151,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '43114' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'avax' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0x480e5A3E90a3fF4a16AECCB5d638fAba96a15c28' }} @@ -169,7 +169,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '10' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'oeth' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0xeb1116466B7eB1372cD1FAf5C26134db69A94cDA' }} @@ -187,7 +187,7 @@ jobs: env: CI: 'true' CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'http://app.safe.global' }} + CYPRESS_WEB_BASE_URL: ${{ github.event.inputs.baseUrl || 'https://app.safe.global' }} CYPRESS_CHAIN_ID: ${{ github.event.inputs.chainId || '73799' }} CYPRESS_NETWORK_PREFIX: ${{ github.event.inputs.networkPrefix || 'vt' }} CYPRESS_TESTING_SAFE_ADDRESS: ${{ github.event.inputs.safeAddress || '0x6eaD891f8a756edBf248A5546ff51E01609C0DaB' }} diff --git a/.gitignore b/.gitignore index a45831668..d907f84c8 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,8 @@ deployments/ cypress/reports cypress/videos cypress/screenshots +cypress/downloads # intellij ide files .idea + diff --git a/cypress.config.js b/cypress.config.js index abd0265b0..ccfd3d7c6 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -12,7 +12,7 @@ export default defineConfig({ video: true, retries: { runMode: 2, - openMode: 0, + openMode: 2, }, env: { SAFE_APPS_BASE_URL: process.env.CYPRESS_SAFE_APPS_BASE_URL, diff --git a/cypress/e2e/tx-builder/tx-builder.spec.cy.js b/cypress/e2e/tx-builder/tx-builder.spec.cy.js index 9190b4e3c..34ab4def9 100644 --- a/cypress/e2e/tx-builder/tx-builder.spec.cy.js +++ b/cypress/e2e/tx-builder/tx-builder.spec.cy.js @@ -37,7 +37,9 @@ describe('Testing Tx-builder safe app', { defaultCommandTimeout: 12000 }, () => .findByText(/send batch/i) .click() }) - cy.findByText(/transaction builder/i).should('be.visible') + cy.findByRole('heading', { name: /transaction builder transaction builder görli/i }).should( + 'be.visible', + ) cy.findByRole('button', { name: /transaction details/i }).click() cy.findByRole('region').should('exist') cy.findByText('test Address Value').should('exist') @@ -130,7 +132,9 @@ describe('Testing Tx-builder safe app', { defaultCommandTimeout: 12000 }, () => .findByText(/send batch/i) .click() }) - cy.findByText(/transaction builder/i).should('be.visible') + cy.findByRole('heading', { name: /transaction builder transaction builder görli/i }).should( + 'be.visible', + ) cy.findByText('0x49d4450977E2c95362C13D3a31a09311E0Ea26A6').should('be.visible') }) @@ -156,7 +160,9 @@ describe('Testing Tx-builder safe app', { defaultCommandTimeout: 12000 }, () => .findByText(/send batch/i) .click() }) - cy.findByText(/transaction builder/i).should('be.visible') + cy.findByRole('heading', { name: /transaction builder transaction builder görli/i }).should( + 'be.visible', + ) cy.findByText('0xc6b82bA149CFA113f8f48d5E3b1F78e933e16DfD').should('be.visible') }) diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js index 19bb261e9..467c00c3b 100644 --- a/cypress/support/e2e.js +++ b/cypress/support/e2e.js @@ -5,6 +5,8 @@ import './commands' export const INFO_MODAL_KEY = 'SAFE_v2__SafeApps__infoModal' export const BROWSER_PERMISSIONS_KEY = 'SAFE_v2__SafeApps__browserPermissions' +const chains = [1, 5, 10, 56, 100, 137, 42161, 43114, 73799, 1313161554] + let warningCheckedCustomApps = [] const drainSafeUrl = Cypress.env('DRAIN_SAFE_URL') @@ -17,14 +19,16 @@ Cypress.Commands.add('visitSafeApp', (visitUrl, appUrl) => { window.localStorage.setItem( INFO_MODAL_KEY, JSON.stringify({ - 1: { - consentsAccepted: true, - warningCheckedCustomApps, - }, - 5: { - consentsAccepted: true, - warningCheckedCustomApps, - }, + ...chains.reduce( + (acc, chainId) => ({ + ...acc, + [`${chainId}`]: { + consentsAccepted: true, + warningCheckedCustomApps, + }, + }), + {}, + ), }), )