Fix failing test

feature/default_network_editable
Dan Finlay 7 years ago
parent 96df7ad8d3
commit 07d4e4fe6f
  1. 18
      app/scripts/controllers/transactions.js
  2. 56
      test/unit/tx-controller-test.js

@ -430,24 +430,18 @@ module.exports = class TransactionController extends EventEmitter {
// if the value of the transaction is greater then the balance, fail.
if (gtBalance) {
txMeta.err = {
isWarning: true,
message: 'Insufficient balance.',
}
this.updateTx(txMeta)
const message = 'Insufficient balance.'
this.setTxStatusFailed(txMeta.id, message)
cb()
return log.error(txMeta.err.message)
return log.error(message)
}
// if the nonce of the transaction is lower then the accounts nonce, fail.
if (txNonce < nonce) {
txMeta.err = {
isWarning: true,
message: 'Invalid nonce.',
}
this.updateTx(txMeta)
const message = 'Invalid nonce.'
this.setTxStatusFailed(txMeta.id, message)
cb()
return log.error(txMeta.err.message)
return log.error(message)
}
// Only auto-submit already-signed txs:

@ -19,6 +19,7 @@ describe('Transaction Controller', function () {
txController = new TransactionController({
networkStore: new ObservableStore(currentNetworkId),
txHistoryLimit: 10,
ethStore: { getState: noop },
provider: { _blockTracker: new EventEmitter()},
blockTracker: new EventEmitter(),
ethQuery: new EthQuery(new EventEmitter()),
@ -324,37 +325,38 @@ describe('Transaction Controller', function () {
})
describe('#_resubmitTx with a too-low balance', function () {
const from = '0xda0da0'
const txMeta = {
id: 1,
status: 'submitted',
txParams: {
from,
nonce: '0x1'
},
}
const lowBalance = '0x0'
const fakeStoreState = {}
fakeStoreState[from] = {
balance: lowBalance,
nonce: '0x0',
}
// Stubbing out current account state:
txController.ethStore = { getState: noop }
const getStateStub = sinon.stub(txController.ethStore, 'getState')
.returns(fakeStoreState)
// Adding the fake tx:
txController.addTx(txMeta, noop)
it('should fail the transaction', function (done) {
const from = '0xda0da0'
const txMeta = {
id: 1,
status: 'submitted',
metamaskNetworkId: currentNetworkId,
txParams: {
from,
nonce: '0x1',
value: '0xfffff',
},
}
const lowBalance = '0x0'
const fakeStoreState = { accounts: {} }
fakeStoreState.accounts[from] = {
balance: lowBalance,
nonce: '0x0',
}
// Stubbing out current account state:
const getStateStub = sinon.stub(txController.ethStore, 'getState')
.returns(fakeStoreState)
// Adding the fake tx:
txController.addTx(clone(txMeta))
txController._resubmitTx(txMeta, function (err) {
assert.ifError('should not throw an error')
assert.ifError(err, 'should not throw an error')
const updatedMeta = txController.getTx(txMeta.id)
assert.notEqual(updatedMeta.status, txMeta.status, 'status changed.')
assert.notEqual(updatedMeta.status, 'failed', 'tx set to failed.')
assert.equal(updatedMeta.status, 'failed', 'tx set to failed.')
done()
})
})

Loading…
Cancel
Save