aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send_/tests
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2018-05-24 00:43:25 +0800
committerDan <danjm.com@gmail.com>2018-05-31 07:24:31 +0800
commit0f20fce9b761fc0aa16d61b2b739fa7f9b9f6a7d (patch)
treed3c566fdb0485a690da5048264372514661e3830 /ui/app/components/send_/tests
parent3d597cd1d2bfe74abdb945f8ec3ffe96853ed90a (diff)
downloadtangerine-wallet-browser-0f20fce9b761fc0aa16d61b2b739fa7f9b9f6a7d.tar.gz
tangerine-wallet-browser-0f20fce9b761fc0aa16d61b2b739fa7f9b9f6a7d.tar.zst
tangerine-wallet-browser-0f20fce9b761fc0aa16d61b2b739fa7f9b9f6a7d.zip
Auto update gas estimate when to changes.
Diffstat (limited to 'ui/app/components/send_/tests')
-rw-r--r--ui/app/components/send_/tests/send-component.test.js8
-rw-r--r--ui/app/components/send_/tests/send-container.test.js6
-rw-r--r--ui/app/components/send_/tests/send-utils.test.js54
3 files changed, 35 insertions, 33 deletions
diff --git a/ui/app/components/send_/tests/send-component.test.js b/ui/app/components/send_/tests/send-component.test.js
index 3abff0d23..ec624b48c 100644
--- a/ui/app/components/send_/tests/send-component.test.js
+++ b/ui/app/components/send_/tests/send-component.test.js
@@ -217,9 +217,17 @@ describe.only('Send Component', function () {
recentBlocks: ['mockBlock'],
selectedAddress: 'mockSelectedAddress',
selectedToken: 'mockSelectedToken',
+ to: undefined,
+ value: 'mockAmount',
}
)
})
+
+ it('should call updateAndSetGasTotal with to set to lowercase if passed', () => {
+ propsMethodSpies.updateAndSetGasTotal.resetHistory()
+ wrapper.instance().updateGas({ to: '0xABC' })
+ assert.equal(propsMethodSpies.updateAndSetGasTotal.getCall(0).args[0].to, '0xabc')
+ })
})
describe('render', () => {
diff --git a/ui/app/components/send_/tests/send-container.test.js b/ui/app/components/send_/tests/send-container.test.js
index dca274c9e..d077ab4ee 100644
--- a/ui/app/components/send_/tests/send-container.test.js
+++ b/ui/app/components/send_/tests/send-container.test.js
@@ -99,6 +99,8 @@ describe('send container', () => {
recentBlocks: ['mockBlock'],
selectedAddress: '0x4',
selectedToken: { address: '0x1' },
+ to: 'mockTo',
+ value: 'mockValue',
}
it('should dispatch a setGasTotal action when editingTransactionId is truthy', () => {
@@ -111,14 +113,14 @@ describe('send container', () => {
})
it('should dispatch an updateGasData action when editingTransactionId is falsy', () => {
- const { selectedAddress, selectedToken, data, recentBlocks, blockGasLimit } = mockProps
+ const { selectedAddress, selectedToken, data, recentBlocks, blockGasLimit, to, value } = mockProps
mapDispatchToPropsObject.updateAndSetGasTotal(
Object.assign({}, mockProps, {editingTransactionId: false})
)
assert(dispatchSpy.calledOnce)
assert.deepEqual(
actionSpies.updateGasData.getCall(0).args[0],
- { selectedAddress, selectedToken, data, recentBlocks, blockGasLimit }
+ { selectedAddress, selectedToken, data, recentBlocks, blockGasLimit, to, value }
)
})
})
diff --git a/ui/app/components/send_/tests/send-utils.test.js b/ui/app/components/send_/tests/send-utils.test.js
index a01ab4eba..3c772ed47 100644
--- a/ui/app/components/send_/tests/send-utils.test.js
+++ b/ui/app/components/send_/tests/send-utils.test.js
@@ -24,14 +24,6 @@ const stubs = {
rawEncode: sinon.stub().returns([16, 1100]),
}
-const EthQuery = function () {}
-EthQuery.prototype.estimateGas = sinon.stub().callsFake(
- (data) => Promise.resolve({ toString: (n) => `mockToString:${n}` })
-)
-EthQuery.prototype.getCode = sinon.stub().callsFake(
- (address) => Promise.resolve(address.match(/isContract/) ? 'not-0x' : '0x')
-)
-
const sendUtils = proxyquire('../send.utils.js', {
'../../conversion-util': {
addCurrencies: stubs.addCurrencies,
@@ -43,7 +35,6 @@ const sendUtils = proxyquire('../send.utils.js', {
'ethereumjs-abi': {
rawEncode: stubs.rawEncode,
},
- 'ethjs-query': EthQuery,
})
const {
@@ -249,6 +240,9 @@ describe('send utils', () => {
blockGasLimit: '0x64',
selectedAddress: 'mockAddress',
to: '0xisContract',
+ estimateGasMethod: sinon.stub().callsFake(
+ (data, cb) => cb(null, { toString: (n) => `mockToString:${n}` })
+ ),
}
const baseExpectedCall = {
from: 'mockAddress',
@@ -256,53 +250,51 @@ describe('send utils', () => {
to: '0xisContract',
}
+ beforeEach(() => {
+ global.eth = {
+ getCode: sinon.stub().callsFake(
+ (address) => Promise.resolve(address.match(/isContract/) ? 'not-0x' : '0x')
+ ),
+ }
+ })
+
afterEach(() => {
- EthQuery.prototype.estimateGas.resetHistory()
- EthQuery.prototype.getCode.resetHistory()
+ baseMockParams.estimateGasMethod.resetHistory()
+ global.eth.getCode.resetHistory()
})
it('should call ethQuery.estimateGas with the expected params', async () => {
const result = await estimateGas(baseMockParams)
- assert.equal(EthQuery.prototype.estimateGas.callCount, 1)
+ assert.equal(baseMockParams.estimateGasMethod.callCount, 1)
assert.deepEqual(
- EthQuery.prototype.estimateGas.getCall(0).args[0],
- baseExpectedCall
+ baseMockParams.estimateGasMethod.getCall(0).args[0],
+ Object.assign({ gasPrice: undefined, value: undefined }, baseExpectedCall)
)
assert.equal(result, 'mockToString:16')
})
it('should call ethQuery.estimateGas with a value of 0x0 if the passed selectedToken has a symbol', async () => {
const result = await estimateGas(Object.assign({ selectedToken: { symbol: true } }, baseMockParams))
- assert.equal(EthQuery.prototype.estimateGas.callCount, 1)
- assert.deepEqual(
- EthQuery.prototype.estimateGas.getCall(0).args[0],
- Object.assign({ value: '0x0' }, baseExpectedCall)
- )
- assert.equal(result, 'mockToString:16')
- })
-
- it('should call ethQuery.estimateGas with data if data is passed', async () => {
- const result = await estimateGas(Object.assign({ data: 'mockData' }, baseMockParams))
- assert.equal(EthQuery.prototype.estimateGas.callCount, 1)
+ assert.equal(baseMockParams.estimateGasMethod.callCount, 1)
assert.deepEqual(
- EthQuery.prototype.estimateGas.getCall(0).args[0],
- Object.assign({ data: 'mockData' }, baseExpectedCall)
+ baseMockParams.estimateGasMethod.getCall(0).args[0],
+ Object.assign({ gasPrice: undefined, value: '0x0' }, baseExpectedCall)
)
assert.equal(result, 'mockToString:16')
})
it('should call ethQuery.estimateGas with data if data is passed', async () => {
const result = await estimateGas(Object.assign({ data: 'mockData' }, baseMockParams))
- assert.equal(EthQuery.prototype.estimateGas.callCount, 1)
+ assert.equal(baseMockParams.estimateGasMethod.callCount, 1)
assert.deepEqual(
- EthQuery.prototype.estimateGas.getCall(0).args[0],
- Object.assign({ data: 'mockData' }, baseExpectedCall)
+ baseMockParams.estimateGasMethod.getCall(0).args[0],
+ Object.assign({ gasPrice: undefined, value: undefined, data: 'mockData' }, baseExpectedCall)
)
assert.equal(result, 'mockToString:16')
})
it(`should return ${SIMPLE_GAS_COST} if ethQuery.getCode does not return '0x'`, async () => {
- assert.equal(EthQuery.prototype.estimateGas.callCount, 0)
+ assert.equal(baseMockParams.estimateGasMethod.callCount, 0)
const result = await estimateGas(Object.assign({}, baseMockParams, { to: '0x123' }))
assert.equal(result, SIMPLE_GAS_COST)
})