mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 18:00:18 +01:00
37209a7d2e
Remove the IncomingTransactionController and replace it with an internal helper class. Move incoming transactions into the central transactions object. Create a new RemoteTransactionSource interface to decouple incoming transaction support from Etherscan. Split the incoming transaction logic into multiple files for easier maintenance.
73 lines
3.0 KiB
JavaScript
73 lines
3.0 KiB
JavaScript
const { strict: assert } = require('assert');
|
|
const { convertToHexValue, withFixtures } = require('../helpers');
|
|
const FixtureBuilder = require('../fixture-builder');
|
|
|
|
describe('Clear account activity', function () {
|
|
// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// When user get stuck with pending transactions, one can reset the account by clicking the 'Clear activity tab data' //
|
|
// button in settings, advanced tab. This functionality will clear all the send transactions history. //
|
|
// Note that the receive transactions history will be kept and it only only affects the current network. //
|
|
// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
it('User can clear account activity via the advanced setting tab, ', async function () {
|
|
const ganacheOptions = {
|
|
accounts: [
|
|
{
|
|
secretKey:
|
|
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
|
|
balance: convertToHexValue(25000000000000000000),
|
|
},
|
|
],
|
|
};
|
|
await withFixtures(
|
|
{
|
|
fixtures: new FixtureBuilder()
|
|
.withTransactionControllerCompletedAndIncomingTransaction()
|
|
.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);
|
|
|
|
// Check send transaction and receive transaction history are all displayed
|
|
await driver.clickElement('[data-testid="home__activity-tab"]');
|
|
await driver.waitForSelector({
|
|
css: '[data-testid="activity-list-item-action"]',
|
|
text: 'Send',
|
|
});
|
|
await driver.waitForSelector({
|
|
css: '[data-testid="activity-list-item-action"]',
|
|
text: 'Receive',
|
|
});
|
|
|
|
// Clear activity and nonce data
|
|
await driver.clickElement(
|
|
'[data-testid="account-options-menu-button"]',
|
|
);
|
|
await driver.clickElement({ text: 'Settings', tag: 'div' });
|
|
await driver.clickElement({ text: 'Advanced', tag: 'div' });
|
|
await driver.clickElement({
|
|
text: 'Clear activity tab data',
|
|
tag: 'button',
|
|
});
|
|
await driver.clickElement({ text: 'Clear', tag: 'button' });
|
|
await driver.navigate();
|
|
|
|
// Check send transaction history is cleared and receive transaction history is kept
|
|
const sendTransaction = await driver.isElementPresent({
|
|
css: '[data-testid="activity-list-item-action"]',
|
|
text: 'Send',
|
|
});
|
|
const receiveTransaction = await driver.isElementPresent({
|
|
css: '[data-testid="activity-list-item-action"]',
|
|
text: 'Receive',
|
|
});
|
|
assert.equal(sendTransaction, false);
|
|
assert.equal(receiveTransaction, true);
|
|
},
|
|
);
|
|
});
|
|
});
|