mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 18:00:18 +01:00
feature(17901): fix address-book Sends to an address book entry
e2e against MV3 build (#19330)
* feature(17901): fix address-book `Sends to an address book entry` e2e against MV3 build * feature(17901): add balance guide for send-eth e2e as well --------- Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
This commit is contained in:
parent
dfafdbb6bd
commit
8dc6bf1111
@ -511,6 +511,24 @@ const TEST_SEED_PHRASE =
|
|||||||
const TEST_SEED_PHRASE_TWO =
|
const TEST_SEED_PHRASE_TWO =
|
||||||
'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent';
|
'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent';
|
||||||
|
|
||||||
|
// Usually happens when onboarded to make sure the state is retrieved from metamaskState properly
|
||||||
|
const assertAccountBalanceForDOM = async (driver, ganacheServer) => {
|
||||||
|
const balance = await ganacheServer.getBalance();
|
||||||
|
const balanceElement = await driver.findElement(
|
||||||
|
'[data-testid="eth-overview__primary-currency"]',
|
||||||
|
);
|
||||||
|
assert.equal(`${balance}\nETH`, await balanceElement.getText());
|
||||||
|
};
|
||||||
|
|
||||||
|
// Usually happens after txn is made
|
||||||
|
const locateAccountBalanceDOM = async (driver, ganacheServer) => {
|
||||||
|
const balance = await ganacheServer.getBalance();
|
||||||
|
await driver.waitForSelector({
|
||||||
|
css: '[data-testid="eth-overview__primary-currency"]',
|
||||||
|
text: `${balance} ETH`,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
DAPP_URL,
|
DAPP_URL,
|
||||||
DAPP_ONE_URL,
|
DAPP_ONE_URL,
|
||||||
@ -537,4 +555,6 @@ module.exports = {
|
|||||||
defaultGanacheOptions,
|
defaultGanacheOptions,
|
||||||
sendTransaction,
|
sendTransaction,
|
||||||
findAnotherAccountFromAccountList,
|
findAnotherAccountFromAccountList,
|
||||||
|
assertAccountBalanceForDOM,
|
||||||
|
locateAccountBalanceDOM,
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
const { strict: assert } = require('assert');
|
const { strict: assert } = require('assert');
|
||||||
const { convertToHexValue, withFixtures } = require('../helpers');
|
const {
|
||||||
|
convertToHexValue,
|
||||||
|
withFixtures,
|
||||||
|
assertAccountBalanceForDOM,
|
||||||
|
} = require('../helpers');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
describe('Address Book', function () {
|
describe('Address Book', function () {
|
||||||
@ -12,6 +16,7 @@ describe('Address Book', function () {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
it('Sends to an address book entry', async function () {
|
it('Sends to an address book entry', async function () {
|
||||||
await withFixtures(
|
await withFixtures(
|
||||||
{
|
{
|
||||||
@ -33,11 +38,12 @@ describe('Address Book', function () {
|
|||||||
ganacheOptions,
|
ganacheOptions,
|
||||||
title: this.test.title,
|
title: this.test.title,
|
||||||
},
|
},
|
||||||
async ({ driver }) => {
|
async ({ driver, ganacheServer }) => {
|
||||||
await driver.navigate();
|
await driver.navigate();
|
||||||
await driver.fill('#password', 'correct horse battery staple');
|
await driver.fill('#password', 'correct horse battery staple');
|
||||||
await driver.press('#password', driver.Key.ENTER);
|
await driver.press('#password', driver.Key.ENTER);
|
||||||
|
|
||||||
|
await assertAccountBalanceForDOM(driver, ganacheServer);
|
||||||
await driver.clickElement('[data-testid="eth-overview-send"]');
|
await driver.clickElement('[data-testid="eth-overview-send"]');
|
||||||
const recipientRowTitle = await driver.findElement(
|
const recipientRowTitle = await driver.findElement(
|
||||||
'.send__select-recipient-wrapper__group-item__title',
|
'.send__select-recipient-wrapper__group-item__title',
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
const { strict: assert } = require('assert');
|
const {
|
||||||
const { convertToHexValue, withFixtures, openDapp } = require('../helpers');
|
convertToHexValue,
|
||||||
|
withFixtures,
|
||||||
|
openDapp,
|
||||||
|
locateAccountBalanceDOM,
|
||||||
|
} = require('../helpers');
|
||||||
const { SMART_CONTRACTS } = require('../seeder/smart-contracts');
|
const { SMART_CONTRACTS } = require('../seeder/smart-contracts');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
@ -89,12 +93,7 @@ describe('Deploy contract and call contract methods', function () {
|
|||||||
|
|
||||||
// renders the correct ETH balance
|
// renders the correct ETH balance
|
||||||
await driver.switchToWindow(extension);
|
await driver.switchToWindow(extension);
|
||||||
const balance = await ganacheServer.getBalance();
|
await locateAccountBalanceDOM(driver, ganacheServer);
|
||||||
const balanceElement = await driver.waitForSelector({
|
|
||||||
css: '[data-testid="eth-overview__primary-currency"]',
|
|
||||||
text: balance,
|
|
||||||
});
|
|
||||||
assert.equal(`${balance}\nETH`, await balanceElement.getText());
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -3,6 +3,7 @@ const {
|
|||||||
TEST_SEED_PHRASE_TWO,
|
TEST_SEED_PHRASE_TWO,
|
||||||
convertToHexValue,
|
convertToHexValue,
|
||||||
withFixtures,
|
withFixtures,
|
||||||
|
assertAccountBalanceForDOM,
|
||||||
} = require('../helpers');
|
} = require('../helpers');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
@ -108,11 +109,7 @@ describe('MetaMask Responsive UI', function () {
|
|||||||
await driver.press('#confirm-password', driver.Key.ENTER);
|
await driver.press('#confirm-password', driver.Key.ENTER);
|
||||||
|
|
||||||
// balance renders
|
// balance renders
|
||||||
const balance = await ganacheServer.getBalance();
|
await assertAccountBalanceForDOM(driver, ganacheServer);
|
||||||
await driver.waitForSelector({
|
|
||||||
css: '[data-testid="eth-overview__primary-currency"]',
|
|
||||||
text: `${balance} ETH`,
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
const { strict: assert } = require('assert');
|
const { strict: assert } = require('assert');
|
||||||
const { convertToHexValue, withFixtures, openDapp } = require('../helpers');
|
const {
|
||||||
|
convertToHexValue,
|
||||||
|
withFixtures,
|
||||||
|
openDapp,
|
||||||
|
locateAccountBalanceDOM,
|
||||||
|
} = require('../helpers');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
describe('Navigate transactions', function () {
|
describe('Navigate transactions', function () {
|
||||||
@ -227,11 +232,7 @@ describe('Navigate transactions', function () {
|
|||||||
// reject transactions
|
// reject transactions
|
||||||
await driver.clickElement({ text: 'Reject 4', tag: 'a' });
|
await driver.clickElement({ text: 'Reject 4', tag: 'a' });
|
||||||
await driver.clickElement({ text: 'Reject all', tag: 'button' });
|
await driver.clickElement({ text: 'Reject all', tag: 'button' });
|
||||||
const balance = await ganacheServer.getBalance();
|
await locateAccountBalanceDOM(driver, ganacheServer);
|
||||||
const balanceElement = await driver.findElement(
|
|
||||||
'[data-testid="eth-overview__primary-currency"]',
|
|
||||||
);
|
|
||||||
assert.equal(`${balance}\nETH`, await balanceElement.getText());
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -9,6 +9,7 @@ const {
|
|||||||
importSRPOnboardingFlow,
|
importSRPOnboardingFlow,
|
||||||
importWrongSRPOnboardingFlow,
|
importWrongSRPOnboardingFlow,
|
||||||
testSRPDropdownIterations,
|
testSRPDropdownIterations,
|
||||||
|
assertAccountBalanceForDOM,
|
||||||
} = require('../helpers');
|
} = require('../helpers');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
@ -304,11 +305,7 @@ describe('MetaMask onboarding', function () {
|
|||||||
);
|
);
|
||||||
assert.equal(await networkDisplay.getText(), networkName);
|
assert.equal(await networkDisplay.getText(), networkName);
|
||||||
|
|
||||||
const balance = await secondaryGanacheServer.getBalance();
|
await assertAccountBalanceForDOM(driver, secondaryGanacheServer);
|
||||||
const balanceElement = await driver.findElement(
|
|
||||||
'[data-testid="eth-overview__primary-currency"]',
|
|
||||||
);
|
|
||||||
assert.equal(`${balance}\nETH`, await balanceElement.getText());
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
const { strict: assert } = require('assert');
|
const { strict: assert } = require('assert');
|
||||||
const { SMART_CONTRACTS } = require('../seeder/smart-contracts');
|
const { SMART_CONTRACTS } = require('../seeder/smart-contracts');
|
||||||
const { convertToHexValue, withFixtures, openDapp } = require('../helpers');
|
const {
|
||||||
|
convertToHexValue,
|
||||||
|
withFixtures,
|
||||||
|
openDapp,
|
||||||
|
assertAccountBalanceForDOM,
|
||||||
|
} = require('../helpers');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
describe('Send ETH from inside MetaMask using default gas', function () {
|
describe('Send ETH from inside MetaMask using default gas', function () {
|
||||||
@ -20,11 +25,13 @@ describe('Send ETH from inside MetaMask using default gas', function () {
|
|||||||
ganacheOptions,
|
ganacheOptions,
|
||||||
title: this.test.title,
|
title: this.test.title,
|
||||||
},
|
},
|
||||||
async ({ driver }) => {
|
async ({ driver, ganacheServer }) => {
|
||||||
await driver.navigate();
|
await driver.navigate();
|
||||||
await driver.fill('#password', 'correct horse battery staple');
|
await driver.fill('#password', 'correct horse battery staple');
|
||||||
await driver.press('#password', driver.Key.ENTER);
|
await driver.press('#password', driver.Key.ENTER);
|
||||||
|
|
||||||
|
await assertAccountBalanceForDOM(driver, ganacheServer);
|
||||||
|
|
||||||
await driver.clickElement('[data-testid="eth-overview-send"]');
|
await driver.clickElement('[data-testid="eth-overview-send"]');
|
||||||
|
|
||||||
await driver.fill(
|
await driver.fill(
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
const { strict: assert } = require('assert');
|
const { strict: assert } = require('assert');
|
||||||
const { convertToHexValue, withFixtures } = require('../helpers');
|
const {
|
||||||
|
convertToHexValue,
|
||||||
|
withFixtures,
|
||||||
|
assertAccountBalanceForDOM,
|
||||||
|
} = require('../helpers');
|
||||||
const { SMART_CONTRACTS } = require('../seeder/smart-contracts');
|
const { SMART_CONTRACTS } = require('../seeder/smart-contracts');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
@ -133,11 +137,7 @@ describe('Send ERC20 to a 40 character hexadecimal address', function () {
|
|||||||
await driver.navigate();
|
await driver.navigate();
|
||||||
await driver.fill('#password', 'correct horse battery staple');
|
await driver.fill('#password', 'correct horse battery staple');
|
||||||
await driver.press('#password', driver.Key.ENTER);
|
await driver.press('#password', driver.Key.ENTER);
|
||||||
const balanceAfterDeployment = await ganacheServer.getBalance();
|
await assertAccountBalanceForDOM(driver, ganacheServer);
|
||||||
await driver.waitForSelector({
|
|
||||||
css: '[data-testid="eth-overview__primary-currency"]',
|
|
||||||
text: `${balanceAfterDeployment} ETH`,
|
|
||||||
});
|
|
||||||
|
|
||||||
// Send TST
|
// Send TST
|
||||||
await driver.clickElement('[data-testid="home__asset-tab"]');
|
await driver.clickElement('[data-testid="home__asset-tab"]');
|
||||||
@ -198,11 +198,8 @@ describe('Send ERC20 to a 40 character hexadecimal address', function () {
|
|||||||
await driver.navigate();
|
await driver.navigate();
|
||||||
await driver.fill('#password', 'correct horse battery staple');
|
await driver.fill('#password', 'correct horse battery staple');
|
||||||
await driver.press('#password', driver.Key.ENTER);
|
await driver.press('#password', driver.Key.ENTER);
|
||||||
const balanceAfterDeployment = await ganacheServer.getBalance();
|
|
||||||
await driver.waitForSelector({
|
await assertAccountBalanceForDOM(driver, ganacheServer);
|
||||||
css: '[data-testid="eth-overview__primary-currency"]',
|
|
||||||
text: `${balanceAfterDeployment} ETH`,
|
|
||||||
});
|
|
||||||
|
|
||||||
// Send TST
|
// Send TST
|
||||||
await driver.clickElement('[data-testid="home__asset-tab"]');
|
await driver.clickElement('[data-testid="home__asset-tab"]');
|
||||||
|
@ -2,6 +2,7 @@ const {
|
|||||||
convertToHexValue,
|
convertToHexValue,
|
||||||
withFixtures,
|
withFixtures,
|
||||||
sendTransaction,
|
sendTransaction,
|
||||||
|
assertAccountBalanceForDOM,
|
||||||
} = require('../helpers');
|
} = require('../helpers');
|
||||||
const FixtureBuilder = require('../fixture-builder');
|
const FixtureBuilder = require('../fixture-builder');
|
||||||
|
|
||||||
@ -22,10 +23,12 @@ describe('Simple send', function () {
|
|||||||
ganacheOptions,
|
ganacheOptions,
|
||||||
title: this.test.title,
|
title: this.test.title,
|
||||||
},
|
},
|
||||||
async ({ driver }) => {
|
async ({ driver, ganacheServer }) => {
|
||||||
await driver.navigate();
|
await driver.navigate();
|
||||||
await driver.fill('#password', 'correct horse battery staple');
|
await driver.fill('#password', 'correct horse battery staple');
|
||||||
await driver.press('#password', driver.Key.ENTER);
|
await driver.press('#password', driver.Key.ENTER);
|
||||||
|
await assertAccountBalanceForDOM(driver, ganacheServer);
|
||||||
|
|
||||||
await sendTransaction(
|
await sendTransaction(
|
||||||
driver,
|
driver,
|
||||||
'0x985c30949c92df7a0bd42e0f3e3d539ece98db24',
|
'0x985c30949c92df7a0bd42e0f3e3d539ece98db24',
|
||||||
|
Loading…
Reference in New Issue
Block a user