From 86f02e4fd59c1b71468f6e2cfc29491ccd683d89 Mon Sep 17 00:00:00 2001 From: seaona <54408225+seaona@users.noreply.github.com> Date: Thu, 11 Aug 2022 17:02:19 +0200 Subject: [PATCH] [e2e] Enabling/Disabling token conversion on testnets (#14649) * E2e test for advanced settings: show conversion on test networks * Lint fix * Complete testnet conversion for all testnets * Lint fixes * Add custom error messages for each assert * Removed delays * Fix testcase * Test only local network * Mock API response for ETH USD price rate * Remove unnecessary awaits * Lint fix * FindElement by its text on secondary currency * Add missing awat for getText --- test/e2e/mock-e2e.js | 12 ++++ test/e2e/tests/advanced-settings.spec.js | 72 ++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 test/e2e/tests/advanced-settings.spec.js diff --git a/test/e2e/mock-e2e.js b/test/e2e/mock-e2e.js index b4e6f595f..ac2121e20 100644 --- a/test/e2e/mock-e2e.js +++ b/test/e2e/mock-e2e.js @@ -205,6 +205,18 @@ async function setupMocking(server, testSpecificMock) { }; }); + await server + .forGet('https://min-api.cryptocompare.com/data/price') + .withQuery({ fsym: 'ETH', tsyms: 'USD' }) + .thenCallback(() => { + return { + statusCode: 200, + json: { + USD: '1700', + }, + }; + }); + testSpecificMock(server); } diff --git a/test/e2e/tests/advanced-settings.spec.js b/test/e2e/tests/advanced-settings.spec.js new file mode 100644 index 000000000..b0d1eea35 --- /dev/null +++ b/test/e2e/tests/advanced-settings.spec.js @@ -0,0 +1,72 @@ +const { strict: assert } = require('assert'); +const { convertToHexValue, withFixtures } = require('../helpers'); + +describe('Advanced Settings', function () { + const ganacheOptions = { + accounts: [ + { + secretKey: + '0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC', + balance: convertToHexValue(25000000000000000000), + }, + ], + }; + + it('should show conversion on test network when activated', async function () { + await withFixtures( + { + dapp: true, + fixtures: 'imported-account', + ganacheOptions, + title: this.test.title, + }, + async ({ driver }) => { + await driver.navigate(); + await driver.fill('#password', 'correct horse battery staple'); + await driver.press('#password', driver.Key.ENTER); + + await driver.clickElement('.account-menu__icon'); + await driver.clickElement({ text: 'Settings', tag: 'div' }); + await driver.clickElement({ text: 'Advanced', tag: 'div' }); + + await driver.clickElement( + '[data-testid="advanced-setting-show-testnet-conversion"] label', + ); + + await driver.clickElement( + '.settings-page__header__title-container__close-button', + ); + + const secondaryCurrency = await driver.findElement( + '[data-testid="eth-overview__secondary-currency"] .currency-display-component__suffix', + ); + assert.equal( + await secondaryCurrency.getText(), + 'USD', + `Secondary currency is not present`, + ); + }, + ); + }); + + it('should not show conversion on test network when deactivated', async function () { + await withFixtures( + { + dapp: true, + fixtures: 'imported-account', + ganacheOptions, + title: this.test.title, + }, + async ({ driver }) => { + await driver.navigate(); + await driver.fill('#password', 'correct horse battery staple'); + await driver.press('#password', driver.Key.ENTER); + + const secondaryCurrency = await driver.isElementPresent( + '[data-testid="eth-overview__secondary-currency"]', + ); + assert.equal(secondaryCurrency, false, `Secondary currency is present`); + }, + ); + }); +});