From 171320eaa97ca12575168d45b9bbcbb6e01f71ee Mon Sep 17 00:00:00 2001 From: PeterYinusa <53189696+PeterYinusa@users.noreply.github.com> Date: Thu, 24 Jun 2021 15:19:31 +0100 Subject: [PATCH] account tests using fixtures (#11374) --- test/e2e/metamask-ui.spec.js | 44 ----------------------------- test/e2e/tests/add-account.spec.js | 39 +++++++++++++++++++++++++ test/e2e/tests/lock-account.spec.js | 42 +++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 44 deletions(-) create mode 100644 test/e2e/tests/add-account.spec.js create mode 100644 test/e2e/tests/lock-account.spec.js diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index 63ae22bdd..63b4c8c02 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -206,50 +206,6 @@ describe('MetaMask', function () { }); }); - describe('Lock an unlock', function () { - it('logs out of the account', async function () { - await driver.clickElement('.account-menu__icon'); - await driver.delay(regularDelayMs); - - const lockButton = await driver.findClickableElement( - '.account-menu__lock-button', - ); - assert.equal(await lockButton.getText(), 'Lock'); - await lockButton.click(); - await driver.delay(regularDelayMs); - }); - - it('accepts the account password after lock', async function () { - await driver.fill('#password', 'correct horse battery staple'); - await driver.press('#password', driver.Key.ENTER); - await driver.delay(largeDelayMs * 4); - }); - }); - - describe('Add account', function () { - it('choose Create Account from the account menu', async function () { - await driver.clickElement('.account-menu__icon'); - await driver.delay(regularDelayMs); - - await driver.clickElement({ text: 'Create Account', tag: 'div' }); - await driver.delay(regularDelayMs); - }); - - it('set account name', async function () { - await driver.fill('.new-account-create-form input', '2nd account'); - await driver.delay(regularDelayMs); - - await driver.clickElement({ text: 'Create', tag: 'button' }); - await driver.delay(largeDelayMs); - }); - - it('should display correct account name', async function () { - const accountName = await driver.findElement('.selected-account__name'); - assert.equal(await accountName.getText(), '2nd account'); - await driver.delay(regularDelayMs); - }); - }); - describe('Import Secret Recovery Phrase', function () { it('logs out of the vault', async function () { await driver.clickElement('.account-menu__icon'); diff --git a/test/e2e/tests/add-account.spec.js b/test/e2e/tests/add-account.spec.js new file mode 100644 index 000000000..910402e43 --- /dev/null +++ b/test/e2e/tests/add-account.spec.js @@ -0,0 +1,39 @@ +const { strict: assert } = require('assert'); +const { withFixtures } = require('../helpers'); + +describe('Add account', function () { + const ganacheOptions = { + accounts: [ + { + secretKey: + '0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC', + balance: 25000000000000000000, + }, + ], + }; + it('should display correct new account name after create', async function () { + await withFixtures( + { + 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: 'Create Account', tag: 'div' }); + await driver.fill('.new-account-create-form input', '2nd account'); + await driver.clickElement({ text: 'Create', tag: 'button' }); + + const accountName = await driver.waitForSelector({ + css: '.selected-account__name', + text: '2nd', + }); + assert.equal(await accountName.getText(), '2nd account'); + }, + ); + }); +}); diff --git a/test/e2e/tests/lock-account.spec.js b/test/e2e/tests/lock-account.spec.js new file mode 100644 index 000000000..c8c949a42 --- /dev/null +++ b/test/e2e/tests/lock-account.spec.js @@ -0,0 +1,42 @@ +const { strict: assert } = require('assert'); +const { withFixtures } = require('../helpers'); + +describe('Lock and unlock', function () { + const ganacheOptions = { + accounts: [ + { + secretKey: + '0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC', + balance: 25000000000000000000, + }, + ], + }; + it('successfully unlocks after lock', async function () { + await withFixtures( + { + 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'); + const lockButton = await driver.findClickableElement( + '.account-menu__lock-button', + ); + assert.equal(await lockButton.getText(), 'Lock'); + await lockButton.click(); + await driver.fill('#password', 'correct horse battery staple'); + await driver.press('#password', driver.Key.ENTER); + + const walletBalance = await driver.findElement( + '[data-testid="wallet-balance"] .list-item__heading', + ); + assert.equal(/^25\s*ETH$/u.test(await walletBalance.getText()), true); + }, + ); + }); +});