mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-29 15:50:28 +01:00
354788510e
* Update UI (for audit) Revert yarn.lock change Update e2e tests with new copy for a button Make UI changes to custom Snap UI Update UI on snap installation success page Fix icon on installation success Fix snap name font weight in installation page Add UI changes for Snap installation failed page Add new copy for snap installation screen Update e2e tests OK button name Update OK button names in e2e tests Return previous functionality of update flow Add error message handling for update screens * Fix after rebase * Fix messages.json update message * Revert SCSS changes * Refactor failed and success screen rendering
107 lines
3.1 KiB
JavaScript
107 lines
3.1 KiB
JavaScript
const { strict: assert } = require('assert');
|
|
const { withFixtures } = require('../helpers');
|
|
const FixtureBuilder = require('../fixture-builder');
|
|
const { TEST_SNAPS_WEBSITE_URL } = require('./enums');
|
|
|
|
describe('Test Snap Error', function () {
|
|
it('can pop up a snap error and see the error', async function () {
|
|
const ganacheOptions = {
|
|
accounts: [
|
|
{
|
|
secretKey:
|
|
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
|
|
balance: 25000000000000000000,
|
|
},
|
|
],
|
|
};
|
|
await withFixtures(
|
|
{
|
|
fixtures: new FixtureBuilder().build(),
|
|
ganacheOptions,
|
|
failOnConsoleError: false,
|
|
title: this.test.title,
|
|
},
|
|
async ({ driver }) => {
|
|
await driver.navigate();
|
|
|
|
// enter pw into extension
|
|
await driver.fill('#password', 'correct horse battery staple');
|
|
await driver.press('#password', driver.Key.ENTER);
|
|
|
|
// navigate to test snaps page and connect
|
|
await driver.openNewPage(TEST_SNAPS_WEBSITE_URL);
|
|
await driver.delay(1000);
|
|
const snapButton = await driver.findElement('#connectErrorSnap');
|
|
await driver.scrollToElement(snapButton);
|
|
await driver.delay(1000);
|
|
await driver.clickElement('#connectErrorSnap');
|
|
await driver.delay(1000);
|
|
|
|
// switch to metamask extension and click connect
|
|
const windowHandles = await driver.waitUntilXWindowHandles(
|
|
3,
|
|
1000,
|
|
10000,
|
|
);
|
|
const extensionPage = windowHandles[0];
|
|
await driver.switchToWindowWithTitle(
|
|
'MetaMask Notification',
|
|
windowHandles,
|
|
);
|
|
await driver.clickElement({
|
|
text: 'Connect',
|
|
tag: 'button',
|
|
});
|
|
|
|
await driver.waitForSelector({ text: 'Install' });
|
|
|
|
await driver.clickElement({
|
|
text: 'Install',
|
|
tag: 'button',
|
|
});
|
|
|
|
await driver.waitForSelector({ text: 'OK' });
|
|
|
|
await driver.clickElement({
|
|
text: 'OK',
|
|
tag: 'button',
|
|
});
|
|
|
|
// click send inputs on test snap page
|
|
await driver.switchToWindowWithTitle('Test Snaps', windowHandles);
|
|
|
|
// wait for npm installation success
|
|
await driver.waitForSelector({
|
|
css: '#connectErrorSnap',
|
|
text: 'Reconnect to Error Snap',
|
|
});
|
|
|
|
// find and click on send error
|
|
await driver.clickElement('#sendError');
|
|
|
|
// switch back to the extension page
|
|
await driver.switchToWindow(extensionPage);
|
|
await driver.delay(500);
|
|
|
|
// look for the actual error and check if it is correct
|
|
const error = await driver.findElement(
|
|
'.home-notification__content-container',
|
|
);
|
|
const text = await error.getText();
|
|
assert.equal(
|
|
text.includes(
|
|
"Snap Error: 'random error inside'. Error Code: '-32603'",
|
|
),
|
|
true,
|
|
);
|
|
|
|
// try to click on the dismiss button and pass test if it works
|
|
await driver.clickElement({
|
|
text: 'Dismiss',
|
|
tag: 'button',
|
|
});
|
|
},
|
|
);
|
|
});
|
|
});
|