aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2018-05-29 05:29:31 +0800
committerkumavis <aaron@kumavis.me>2018-05-29 05:29:31 +0800
commit5be154ea2035810462ff0e7051e537870bfc1afb (patch)
tree438d5c4cf20001645adff24151d9f0222bbf5782 /test/unit
parent9f8d5f05470d68a7a9a5474a5b1f4587398e94a3 (diff)
downloadtangerine-wallet-browser-5be154ea2035810462ff0e7051e537870bfc1afb.tar
tangerine-wallet-browser-5be154ea2035810462ff0e7051e537870bfc1afb.tar.gz
tangerine-wallet-browser-5be154ea2035810462ff0e7051e537870bfc1afb.tar.bz2
tangerine-wallet-browser-5be154ea2035810462ff0e7051e537870bfc1afb.tar.lz
tangerine-wallet-browser-5be154ea2035810462ff0e7051e537870bfc1afb.tar.xz
tangerine-wallet-browser-5be154ea2035810462ff0e7051e537870bfc1afb.tar.zst
tangerine-wallet-browser-5be154ea2035810462ff0e7051e537870bfc1afb.zip
controllers - transactions - merge @frankiebee's work with mine
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/app/controllers/transactions/pending-tx-test.js57
-rw-r--r--test/unit/app/controllers/transactions/tx-controller-test.js6
2 files changed, 7 insertions, 56 deletions
diff --git a/test/unit/app/controllers/transactions/pending-tx-test.js b/test/unit/app/controllers/transactions/pending-tx-test.js
index c0d033007..f06f1c0dd 100644
--- a/test/unit/app/controllers/transactions/pending-tx-test.js
+++ b/test/unit/app/controllers/transactions/pending-tx-test.js
@@ -7,7 +7,7 @@ const { createTestProviderTools } = require('../../../../stub/provider')
const PendingTransactionTracker = require('../../../../../app/scripts/controllers/transactions/pending-tx-tracker')
const MockTxGen = require('../../../../lib/mock-tx-gen')
const sinon = require('sinon')
-const noop = () => true
+const noop =()=>true
const currentNetworkId = 42
const otherNetworkId = 36
const privKey = new Buffer('8718b9618a37d1fc78c436511fc6df3c8258d3250635bba617f33003270ec03e', 'hex')
@@ -108,56 +108,6 @@ describe('PendingTransactionTracker', function () {
})
})
- describe('#checkForTxInBlock', function () {
- it('should return if no pending transactions', function () {
- // throw a type error if it trys to do anything on the block
- // thus failing the test
- const block = Proxy.revocable({}, {}).revoke()
- pendingTxTracker.checkForTxInBlock(block)
- })
- it('should emit \'tx:failed\' if the txMeta does not have a hash', function (done) {
- const block = Proxy.revocable({}, {}).revoke()
- pendingTxTracker.getPendingTransactions = () => [txMetaNoHash]
- pendingTxTracker.once('tx:failed', (txId, err) => {
- assert(txId, txMetaNoHash.id, 'should pass txId')
- done()
- })
- pendingTxTracker.checkForTxInBlock(block)
- })
- })
- describe('#queryPendingTxs', function () {
- it('should call #_checkPendingTxs if their is no oldBlock', function (done) {
- let newBlock, oldBlock
- newBlock = '0x01'
- const originalFunction = pendingTxTracker._checkPendingTxs
- pendingTxTracker._checkPendingTxs = () => { done() }
- pendingTxTracker.queryPendingTxs({ oldBlock, newBlock })
- pendingTxTracker._checkPendingTxs = originalFunction
- })
- it('should call #_checkPendingTxs if oldBlock and the newBlock have a diff of greater then 1', function (done) {
- let newBlock, oldBlock
- oldBlock = '0x01'
- newBlock = '0x03'
- const originalFunction = pendingTxTracker._checkPendingTxs
- pendingTxTracker._checkPendingTxs = () => { done() }
- pendingTxTracker.queryPendingTxs({ oldBlock, newBlock })
- pendingTxTracker._checkPendingTxs = originalFunction
- })
- it('should not call #_checkPendingTxs if oldBlock and the newBlock have a diff of 1 or less', function (done) {
- let newBlock, oldBlock
- oldBlock = '0x1'
- newBlock = '0x2'
- const originalFunction = pendingTxTracker._checkPendingTxs
- pendingTxTracker._checkPendingTxs = () => {
- const err = new Error('should not call #_checkPendingTxs if oldBlock and the newBlock have a diff of 1 or less')
- done(err)
- }
- pendingTxTracker.queryPendingTxs({ oldBlock, newBlock })
- pendingTxTracker._checkPendingTxs = originalFunction
- done()
- })
- })
-
describe('#_checkPendingTx', function () {
it('should emit \'tx:failed\' if the txMeta does not have a hash', function (done) {
pendingTxTracker.once('tx:failed', (txId, err) => {
@@ -187,7 +137,6 @@ describe('PendingTransactionTracker', function () {
it('should warp all txMeta\'s in #_checkPendingTx', function (done) {
pendingTxTracker.getPendingTransactions = () => txList
pendingTxTracker._checkPendingTx = (tx) => { tx.resolve(tx) }
- const list = txList.map
Promise.all(txList.map((tx) => tx.processed))
.then((txCompletedList) => done())
.catch(done)
@@ -201,7 +150,7 @@ describe('PendingTransactionTracker', function () {
beforeEach(function () {
const txMeta2 = txMeta3 = txMeta
txList = [txMeta, txMeta2, txMeta3].map((tx) => {
- tx.processed = new Promise ((resolve) => { tx.resolve = resolve })
+ tx.processed = new Promise((resolve) => { tx.resolve = resolve })
return tx
})
})
@@ -218,7 +167,7 @@ describe('PendingTransactionTracker', function () {
pendingTxTracker.resubmitPendingTxs(blockNuberStub)
})
it('should not emit \'tx:failed\' if the txMeta throws a known txError', function (done) {
- knownErrors =[
+ knownErrors = [
// geth
' Replacement transaction Underpriced ',
' known transaction',
diff --git a/test/unit/app/controllers/transactions/tx-controller-test.js b/test/unit/app/controllers/transactions/tx-controller-test.js
index c450ed3ed..b0cc0acda 100644
--- a/test/unit/app/controllers/transactions/tx-controller-test.js
+++ b/test/unit/app/controllers/transactions/tx-controller-test.js
@@ -1,4 +1,5 @@
const assert = require('assert')
+const EventEmitter = require('events')
const ethUtil = require('ethereumjs-util')
const EthTx = require('ethereumjs-tx')
const EthjsQuery = require('ethjs-query')
@@ -26,12 +27,13 @@ describe('Transaction Controller', function () {
provider = createTestProviderTools({ scaffold: providerResultStub }).provider
query = new EthjsQuery(provider)
fromAccount = getTestAccounts()[0]
-
+ const blockTrackerStub = new EventEmitter()
+ blockTrackerStub.getCurrentBlock = noop
txController = new TransactionController({
provider,
networkStore: new ObservableStore(currentNetworkId),
txHistoryLimit: 10,
- blockTracker: { getCurrentBlock: noop, on: noop, once: noop },
+ blockTracker: blockTrackerStub,
signTransaction: (ethTx) => new Promise((resolve) => {
ethTx.sign(fromAccount.key)
resolve()