aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDan Finlay <542863+danfinlay@users.noreply.github.com>2018-01-16 08:17:56 +0800
committerGitHub <noreply@github.com>2018-01-16 08:17:56 +0800
commit1a8beb13e6a72d45995cc5ab1b103c29f23f166f (patch)
tree07285d554dc9c29033ff0d8c77c63e4168c13938 /test
parenta18524300a1d95f9e118660115f5284f14a89f61 (diff)
parentf18ed8bfd43874065d19bdbf5f5513f5facb9061 (diff)
downloadtangerine-wallet-browser-1a8beb13e6a72d45995cc5ab1b103c29f23f166f.tar
tangerine-wallet-browser-1a8beb13e6a72d45995cc5ab1b103c29f23f166f.tar.gz
tangerine-wallet-browser-1a8beb13e6a72d45995cc5ab1b103c29f23f166f.tar.bz2
tangerine-wallet-browser-1a8beb13e6a72d45995cc5ab1b103c29f23f166f.tar.lz
tangerine-wallet-browser-1a8beb13e6a72d45995cc5ab1b103c29f23f166f.tar.xz
tangerine-wallet-browser-1a8beb13e6a72d45995cc5ab1b103c29f23f166f.tar.zst
tangerine-wallet-browser-1a8beb13e6a72d45995cc5ab1b103c29f23f166f.zip
Merge pull request #2962 from MetaMask/open-popup
Open popup before estimateGas finishes
Diffstat (limited to 'test')
-rw-r--r--test/stub/provider.js15
-rw-r--r--test/unit/tx-controller-test.js42
2 files changed, 42 insertions, 15 deletions
diff --git a/test/stub/provider.js b/test/stub/provider.js
index 8a306f6d9..85e1da707 100644
--- a/test/stub/provider.js
+++ b/test/stub/provider.js
@@ -5,7 +5,8 @@ module.exports = {
createEngineForTestData,
providerFromEngine,
scaffoldMiddleware,
- createStubedProvider
+ createEthJsQueryStub,
+ createStubedProvider,
}
@@ -18,6 +19,18 @@ function providerFromEngine (engine) {
return provider
}
+function createEthJsQueryStub (stubProvider) {
+ return new Proxy({}, {
+ get: (obj, method) => {
+ return (...params) => {
+ return new Promise((resolve, reject) => {
+ stubProvider.sendAsync({ method: `eth_${method}`, params }, (err, ress) => resolve(ress.result))
+ })
+ }
+ },
+ })
+}
+
function createStubedProvider (resultStub) {
const engine = createEngineForTestData()
engine.push(scaffoldMiddleware(resultStub))
diff --git a/test/unit/tx-controller-test.js b/test/unit/tx-controller-test.js
index aeefd5ec6..36f3e1c68 100644
--- a/test/unit/tx-controller-test.js
+++ b/test/unit/tx-controller-test.js
@@ -5,7 +5,7 @@ const ObservableStore = require('obs-store')
const sinon = require('sinon')
const TransactionController = require('../../app/scripts/controllers/transactions')
const TxGasUtils = require('../../app/scripts/lib/tx-gas-utils')
-const { createStubedProvider } = require('../stub/provider')
+const { createStubedProvider, createEthJsQueryStub } = require('../stub/provider')
const noop = () => true
const currentNetworkId = 42
@@ -30,6 +30,8 @@ describe('Transaction Controller', function () {
resolve()
}),
})
+ txController.query = createEthJsQueryStub(provider)
+ txController.txGasUtil.query = createEthJsQueryStub(provider)
txController.nonceTracker.getNonceLock = () => Promise.resolve({ nextNonce: 0, releaseLock: noop })
txController.txProviderUtils = new TxGasUtils(txController.provider)
})
@@ -110,23 +112,16 @@ describe('Transaction Controller', function () {
history: [],
}
txController.txStateManager._saveTxList([txMeta])
- stub = sinon.stub(txController, 'addUnapprovedTransaction').returns(Promise.resolve(txController.txStateManager.addTx(txMeta)))
+ stub = sinon.stub(txController, 'addUnapprovedTransaction').callsFake(() => {
+ txController.emit('newUnapprovedTx', txMeta)
+ return Promise.resolve(txController.txStateManager.addTx(txMeta))
})
afterEach(function () {
txController.txStateManager._saveTxList([])
stub.restore()
})
-
- it('should emit newUnapprovedTx event and pass txMeta as the first argument', function (done) {
- txController.once('newUnapprovedTx', (txMetaFromEmit) => {
- assert(txMetaFromEmit, 'txMeta is falsey')
- assert.equal(txMetaFromEmit.id, 1, 'the right txMeta was passed')
- done()
- })
- txController.newUnapprovedTransaction(txParams)
- .catch(done)
- })
+ })
it('should resolve when finished and status is submitted and resolve with the hash', function (done) {
txController.once('newUnapprovedTx', (txMetaFromEmit) => {
@@ -160,8 +155,17 @@ describe('Transaction Controller', function () {
})
describe('#addUnapprovedTransaction', function () {
+ let addTxDefaults
+ beforeEach(() => {
+ addTxDefaults = txController.addTxDefaults
+ txController.addTxDefaults = function addTxDefaultsStub () { return Promise.resolve() }
+
+ })
+ afterEach(() => {
+ txController.addTxDefaults = addTxDefaults
+ })
+
it('should add an unapproved transaction and return a valid txMeta', function (done) {
- const addTxDefaultsStub = sinon.stub(txController, 'addTxDefaults').callsFake(() => Promise.resolve())
txController.addUnapprovedTransaction({})
.then((txMeta) => {
assert(('id' in txMeta), 'should have a id')
@@ -172,10 +176,20 @@ describe('Transaction Controller', function () {
const memTxMeta = txController.txStateManager.getTx(txMeta.id)
assert.deepEqual(txMeta, memTxMeta, `txMeta should be stored in txController after adding it\n expected: ${txMeta} \n got: ${memTxMeta}`)
- addTxDefaultsStub.restore()
done()
}).catch(done)
})
+
+ it('should emit newUnapprovedTx event and pass txMeta as the first argument', function (done) {
+ providerResultStub.eth_gasPrice = '4a817c800'
+ txController.once('newUnapprovedTx', (txMetaFromEmit) => {
+ assert(txMetaFromEmit, 'txMeta is falsey')
+ done()
+ })
+ txController.addUnapprovedTransaction({})
+ .catch(done)
+ })
+
})
describe('#addTxDefaults', function () {