Add test for better gas estimation

This commit is contained in:
Dan Finlay 2018-01-05 21:24:10 -08:00
parent 313b3c087a
commit 571f6723a6
1 changed files with 25 additions and 0 deletions

View File

@ -3,6 +3,8 @@ const sinon = require('sinon')
const clone = require('clone')
const MetaMaskController = require('../../app/scripts/metamask-controller')
const firstTimeState = require('../../app/scripts/first-time-state')
const BN = require('ethereumjs-util').BN
const GWEI_BN = new BN('1000000000')
describe('MetaMaskController', function () {
const noop = () => {}
@ -45,6 +47,29 @@ describe('MetaMaskController', function () {
metamaskController.keyringController.createNewVaultAndKeychain.restore()
})
describe('#getGasPrice', function () {
it('gives the 50th percentile lowest accepted gas price from recentBlocksController', async function () {
const realRecentBlocksController = metamaskController.recentBlocksController
metamaskController.recentBlocksController = {
store: {
getState: () => {
return {
recentBlocks: [
{ transactions: [ new BN('50000000000'), new BN('100000000000') ] },
{ transactions: [ new BN('60000000000'), new BN('100000000000') ] },
]
}
}
}
}
const gasPrice = metamaskController.getGasPrice()
assert.equal(gasPrice, 50, 'accurately estimates 50th percentile accepted gas price')
metamaskController.recentBlocksController = realRecentBlocksController
})
})
describe('#createNewVaultAndKeychain', function () {
it('can only create new vault on keyringController once', async function () {