1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 11:22:43 +02:00

added new test for adding custom network (#15484)

add custom network and switch to network

lint fix

add custom network and not switch the network

add wait for selector

lint fix

fix

add waitforselector

fix

yarn lock

added delay

added comments

lint fix

added rpc networks in mock-e2e.js

lint fix

fix

yarn lock

alphabetic order of the array in mock-e2e

fix

lint fix

fix

removed unnecessary networks

changed blacklistedHosts

added fixture builder

changed to Arbitrum One network
This commit is contained in:
mirjanaKukic 2022-12-19 17:46:07 +01:00 committed by GitHub
parent 7bdb91c089
commit 0992dd5437
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 151 additions and 0 deletions

View File

@ -1,4 +1,5 @@
const blacklistedHosts = [
'arbitrum-mainnet.infura.io',
'goerli.infura.io',
'mainnet.infura.io',
'sepolia.infura.io',

View File

@ -0,0 +1,150 @@
const { strict: assert } = require('assert');
const FixtureBuilder = require('../fixture-builder');
const { convertToHexValue, withFixtures } = require('../helpers');
describe('Custom network', function () {
const chainID = 42161;
const networkURL = 'https://arbitrum-mainnet.infura.io';
const networkNAME = 'Arbitrum One';
const currencySYMBOL = 'ETH';
const blockExplorerURL = 'https://explorer.arbitrum.io';
const ganacheOptions = {
accounts: [
{
secretKey:
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
balance: convertToHexValue(25000000000000000000),
},
],
};
it('add custom network and switch the network', async function () {
await withFixtures(
{
fixtures: new FixtureBuilder().build(),
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({ tag: 'div', text: 'Settings' });
await driver.clickElement('.network-display');
await driver.clickElement({ tag: 'button', text: 'Add network' });
await driver.clickElement({
tag: 'button',
text: 'Add',
});
// verify network details
const title = await driver.findElement({
tag: 'h6',
text: 'Arbitrum One',
});
assert.equal(
await title.getText(),
'Arbitrum One',
'Title of popup should be selected network',
);
const [networkName, networkUrl, chainIdElement, currencySymbol] =
await driver.findElements('.definition-list dd');
assert.equal(
await networkName.getText(),
networkNAME,
'Network name is not correct displayed',
);
assert.equal(
await networkUrl.getText(),
networkURL,
'Network Url is not correct displayed',
);
assert.equal(
await chainIdElement.getText(),
chainID.toString(),
'Chain Id is not correct displayed',
);
assert.equal(
await currencySymbol.getText(),
currencySYMBOL,
'Currency symbol is not correct displayed',
);
await driver.clickElement({ tag: 'a', text: 'View all details' });
const networkDetailsLabels = await driver.findElements('dd');
assert.equal(
await networkDetailsLabels[8].getText(),
blockExplorerURL,
'Block Explorer URL is not correct',
);
await driver.clickElement({ tag: 'button', text: 'Close' });
await driver.clickElement({ tag: 'button', text: 'Approve' });
await driver.clickElement({
tag: 'h6',
text: 'Switch to Arbitrum One',
});
// verify network switched
const networkDisplayed = await driver.findElement({
tag: 'span',
text: 'Arbitrum One',
});
assert.equal(
await networkDisplayed.getText(),
'Arbitrum One',
'You have not switched to Arbitrum Network',
);
},
);
});
it('add custom network and not switch the network', async function () {
await withFixtures(
{
fixtures: new FixtureBuilder().build(),
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({ tag: 'div', text: 'Settings' });
await driver.clickElement('.network-display');
await driver.clickElement({ tag: 'button', text: 'Add network' });
// had to put all Add elements in list since list is changing and networks are not always in same order
await driver.clickElement({
tag: 'button',
text: 'Add',
});
await driver.clickElement({ tag: 'button', text: 'Approve' });
await driver.clickElement({
tag: 'h6',
text: 'Dismiss',
});
// verify if added network is in list of networks
const networkDisplay = await driver.findElement('.network-display');
await networkDisplay.click();
const arbitrumNetwork = await driver.findElements({
text: `Arbitrum One`,
tag: 'span',
});
assert.ok(arbitrumNetwork.length, 1);
},
);
});
});