mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Fix failing test
This commit is contained in:
parent
96df7ad8d3
commit
07d4e4fe6f
@ -430,24 +430,18 @@ module.exports = class TransactionController extends EventEmitter {
|
|||||||
|
|
||||||
// if the value of the transaction is greater then the balance, fail.
|
// if the value of the transaction is greater then the balance, fail.
|
||||||
if (gtBalance) {
|
if (gtBalance) {
|
||||||
txMeta.err = {
|
const message = 'Insufficient balance.'
|
||||||
isWarning: true,
|
this.setTxStatusFailed(txMeta.id, message)
|
||||||
message: 'Insufficient balance.',
|
|
||||||
}
|
|
||||||
this.updateTx(txMeta)
|
|
||||||
cb()
|
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 the nonce of the transaction is lower then the accounts nonce, fail.
|
||||||
if (txNonce < nonce) {
|
if (txNonce < nonce) {
|
||||||
txMeta.err = {
|
const message = 'Invalid nonce.'
|
||||||
isWarning: true,
|
this.setTxStatusFailed(txMeta.id, message)
|
||||||
message: 'Invalid nonce.',
|
|
||||||
}
|
|
||||||
this.updateTx(txMeta)
|
|
||||||
cb()
|
cb()
|
||||||
return log.error(txMeta.err.message)
|
return log.error(message)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only auto-submit already-signed txs:
|
// Only auto-submit already-signed txs:
|
||||||
|
@ -19,6 +19,7 @@ describe('Transaction Controller', function () {
|
|||||||
txController = new TransactionController({
|
txController = new TransactionController({
|
||||||
networkStore: new ObservableStore(currentNetworkId),
|
networkStore: new ObservableStore(currentNetworkId),
|
||||||
txHistoryLimit: 10,
|
txHistoryLimit: 10,
|
||||||
|
ethStore: { getState: noop },
|
||||||
provider: { _blockTracker: new EventEmitter()},
|
provider: { _blockTracker: new EventEmitter()},
|
||||||
blockTracker: new EventEmitter(),
|
blockTracker: new EventEmitter(),
|
||||||
ethQuery: new EthQuery(new EventEmitter()),
|
ethQuery: new EthQuery(new EventEmitter()),
|
||||||
@ -324,37 +325,38 @@ describe('Transaction Controller', function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
describe('#_resubmitTx with a too-low balance', 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) {
|
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) {
|
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)
|
const updatedMeta = txController.getTx(txMeta.id)
|
||||||
assert.notEqual(updatedMeta.status, txMeta.status, 'status changed.')
|
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()
|
done()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user