1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-26 12:29:06 +01:00
metamask-extension/test/e2e/tests/personal-sign.spec.js
Mark Stacey 7a2b3b908a
Move initial e2e navitation into individual tests (#9979)
The e2e test driver used to perform the initial navigation
automatically within the `buildWebDriver` function, so that that step
wouldn't need to be repeated at the beginning of each test. However
this prevented you from doing any setup in the test before the first
navigation.

The navigation has now been moved into each individual test. It should
be functionally equivalent, except now it's possible to control exactly
when the first navigation occurs.

A 1 second delay was also removed, as it didn't seem to be necessary
when testing this. It was initially added as an attempted fix to an
intermittent failure. It did not fix that failure.
2020-12-03 14:00:51 -03:30

55 lines
1.6 KiB
JavaScript

const { strict: assert } = require('assert')
const { By, Key } = require('selenium-webdriver')
const { withFixtures } = require('../helpers')
describe('Personal sign', function () {
it('can initiate and confirm a personal sign', async function () {
const ganacheOptions = {
accounts: [
{
secretKey:
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
balance: 25000000000000000000,
},
],
}
await withFixtures(
{
dapp: true,
fixtures: 'personal-sign',
ganacheOptions,
title: this.test.title,
},
async ({ driver }) => {
await driver.navigate()
const passwordField = await driver.findElement(By.css('#password'))
await passwordField.sendKeys('correct horse battery staple')
await passwordField.sendKeys(Key.ENTER)
await driver.openNewPage('http://127.0.0.1:8080/')
await driver.clickElement(By.id('personalSign'))
await driver.waitUntilXWindowHandles(3)
const windowHandles = await driver.getAllWindowHandles()
await driver.switchToWindowWithTitle(
'MetaMask Notification',
windowHandles,
)
const personalMessageRow = await driver.findElement(
By.css('.request-signature__row-value'),
)
const personalMessage = await personalMessageRow.getText()
assert.equal(personalMessage, 'Example `personal_sign` message')
await driver.clickElement(
By.css('[data-testid="request-signature__sign"]'),
)
await driver.waitUntilXWindowHandles(2)
},
)
})
})