From ce147bf6d8431f4f0cb5b4de46a5af9628b3e9e2 Mon Sep 17 00:00:00 2001 From: Frankie Date: Fri, 16 Nov 2018 08:34:08 -1000 Subject: Tx controller now uses safe event emitter (#5769) * transactions - use safe-event-emitter over events * tests - pass a platform object on init with a noop showTransactionNotification * test - fix for tx-state-history-helper trying to reduce an empty array * deps - safe-event-emitter * lint --- test/lib/mock-tx-gen.js | 1 + .../app/controllers/metamask-controller-test.js | 1 + .../controllers/transactions/pending-tx-test.js | 2 + .../controllers/transactions/tx-controller-test.js | 48 +++++++++++----------- 4 files changed, 28 insertions(+), 24 deletions(-) (limited to 'test') diff --git a/test/lib/mock-tx-gen.js b/test/lib/mock-tx-gen.js index 106101500..e39551a7a 100644 --- a/test/lib/mock-tx-gen.js +++ b/test/lib/mock-tx-gen.js @@ -2,6 +2,7 @@ const extend = require('xtend') const BN = require('ethereumjs-util').BN const template = { 'status': 'submitted', + 'history': [{}], 'txParams': { 'from': '0x7d3517b0d011698406d6e0aed8453f0be2697926', 'gas': '0x30d40', diff --git a/test/unit/app/controllers/metamask-controller-test.js b/test/unit/app/controllers/metamask-controller-test.js index 17be2c028..1ed6a95fb 100644 --- a/test/unit/app/controllers/metamask-controller-test.js +++ b/test/unit/app/controllers/metamask-controller-test.js @@ -58,6 +58,7 @@ describe('MetaMaskController', function () { }, }, initState: clone(firstTimeState), + platform: { showTransactionNotification: () => {} }, }) // disable diagnostics metamaskController.diagnostics = null diff --git a/test/unit/app/controllers/transactions/pending-tx-test.js b/test/unit/app/controllers/transactions/pending-tx-test.js index 85b0969f5..2988bf61f 100644 --- a/test/unit/app/controllers/transactions/pending-tx-test.js +++ b/test/unit/app/controllers/transactions/pending-tx-test.js @@ -20,10 +20,12 @@ describe('PendingTransactionTracker', function () { nonce: '0x1', value: '0xfffff', }, + history: [{}], rawTx: '0xf86c808504a817c800827b0d940c62bb85faa3311a998d3aba8098c1235c564966880de0b6b3a7640000802aa08ff665feb887a25d4099e40e11f0fef93ee9608f404bd3f853dd9e84ed3317a6a02ec9d3d1d6e176d4d2593dd760e74ccac753e6a0ea0d00cc9789d0d7ff1f471d', } txMetaNoHash = { id: 2, + history: [{}], status: 'submitted', txParams: { from: '0x1678a085c290ebd122dc42cba69373b5953b831d'}, } diff --git a/test/unit/app/controllers/transactions/tx-controller-test.js b/test/unit/app/controllers/transactions/tx-controller-test.js index 7f1d8e6f5..b76f256b9 100644 --- a/test/unit/app/controllers/transactions/tx-controller-test.js +++ b/test/unit/app/controllers/transactions/tx-controller-test.js @@ -52,9 +52,9 @@ describe('Transaction Controller', function () { describe('#getUnapprovedTxCount', function () { it('should return the number of unapproved txs', function () { txController.txStateManager._saveTxList([ - { id: 1, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams: {}, history: [] }, - { id: 2, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams: {}, history: [] }, - { id: 3, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams: {}, history: [] }, + { id: 1, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 2, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 3, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, ]) const unapprovedTxCount = txController.getUnapprovedTxCount() assert.equal(unapprovedTxCount, 3, 'should be 3') @@ -64,9 +64,9 @@ describe('Transaction Controller', function () { describe('#getPendingTxCount', function () { it('should return the number of pending txs', function () { txController.txStateManager._saveTxList([ - { id: 1, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {}, history: [] }, - { id: 2, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {}, history: [] }, - { id: 3, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {}, history: [] }, + { id: 1, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 2, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 3, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, ]) const pendingTxCount = txController.getPendingTxCount() assert.equal(pendingTxCount, 3, 'should be 3') @@ -82,15 +82,15 @@ describe('Transaction Controller', function () { 'to': '0xc684832530fcbddae4b4230a47e991ddcec2831d', } txController.txStateManager._saveTxList([ - {id: 0, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 1, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 2, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 3, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 4, status: 'rejected', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 5, status: 'approved', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 6, status: 'signed', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 7, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams, history: [] }, - {id: 8, status: 'failed', metamaskNetworkId: currentNetworkId, txParams, history: [] }, + {id: 0, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 1, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 2, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 3, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 4, status: 'rejected', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 5, status: 'approved', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 6, status: 'signed', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 7, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, + {id: 8, status: 'failed', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, ]) }) @@ -112,7 +112,7 @@ describe('Transaction Controller', function () { id: 1, metamaskNetworkId: currentNetworkId, txParams, - history: [], + history: [{}], } txController.txStateManager._saveTxList([txMeta]) stub = sinon.stub(txController, 'addUnapprovedTransaction').callsFake(() => { @@ -232,7 +232,7 @@ describe('Transaction Controller', function () { from: '0xc684832530fcbddae4b4230a47e991ddcec2831d', to: '0xc684832530fcbddae4b4230a47e991ddcec2831d', }, - history: [], + history: [{}], } providerResultStub.eth_gasPrice = '4a817c800' providerResultStub.eth_getBlockByNumber = { gasLimit: '47b784' } @@ -423,7 +423,7 @@ describe('Transaction Controller', function () { data: '0x0', } txController.txStateManager._saveTxList([ - { id: 1, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams, history: [] }, + { id: 1, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams, history: [{}] }, ]) txController.retryTransaction(1) .then((txMeta) => { @@ -462,12 +462,12 @@ describe('Transaction Controller', function () { beforeEach(function () { txController.txStateManager._saveTxList([ { id: 1, status: 'unapproved', metamaskNetworkId: currentNetworkId, txParams: {} }, - { id: 2, status: 'rejected', metamaskNetworkId: currentNetworkId, txParams: {} }, - { id: 3, status: 'approved', metamaskNetworkId: currentNetworkId, txParams: {} }, - { id: 4, status: 'signed', metamaskNetworkId: currentNetworkId, txParams: {} }, - { id: 5, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {} }, - { id: 6, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams: {} }, - { id: 7, status: 'failed', metamaskNetworkId: currentNetworkId, txParams: {} }, + { id: 2, status: 'rejected', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 3, status: 'approved', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 4, status: 'signed', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 5, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 6, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, + { id: 7, status: 'failed', metamaskNetworkId: currentNetworkId, txParams: {}, history: [{}] }, ]) }) it('should show only submitted and approved transactions as pending transasction', function () { -- cgit v1.2.3