mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Change component props from string to object and associated tests to mimic actual in-use component
Add test to updateGas when asset is changed
This commit is contained in:
parent
aeafc1e8bc
commit
9295155620
@ -57,10 +57,10 @@ describe('Send Component', function () {
|
|||||||
primaryCurrency="mockPrimaryCurrency"
|
primaryCurrency="mockPrimaryCurrency"
|
||||||
recentBlocks={['mockBlock']}
|
recentBlocks={['mockBlock']}
|
||||||
selectedAddress="mockSelectedAddress"
|
selectedAddress="mockSelectedAddress"
|
||||||
selectedToken="mockSelectedToken"
|
selectedToken={{ address: 'mockTokenAddress', decimals: 18, symbol: 'TST' }}
|
||||||
showHexData
|
showHexData
|
||||||
tokenBalance="mockTokenBalance"
|
tokenBalance="mockTokenBalance"
|
||||||
tokenContract="mockTokenContract"
|
tokenContract={{ method: 'mockTokenMethod' }}
|
||||||
updateAndSetGasLimit={propsMethodSpies.updateAndSetGasLimit}
|
updateAndSetGasLimit={propsMethodSpies.updateAndSetGasLimit}
|
||||||
updateSendErrors={propsMethodSpies.updateSendErrors}
|
updateSendErrors={propsMethodSpies.updateSendErrors}
|
||||||
updateSendTokenBalance={propsMethodSpies.updateSendTokenBalance}
|
updateSendTokenBalance={propsMethodSpies.updateSendTokenBalance}
|
||||||
@ -79,6 +79,7 @@ describe('Send Component', function () {
|
|||||||
propsMethodSpies.updateAndSetGasLimit.resetHistory()
|
propsMethodSpies.updateAndSetGasLimit.resetHistory()
|
||||||
propsMethodSpies.updateSendErrors.resetHistory()
|
propsMethodSpies.updateSendErrors.resetHistory()
|
||||||
propsMethodSpies.updateSendTokenBalance.resetHistory()
|
propsMethodSpies.updateSendTokenBalance.resetHistory()
|
||||||
|
propsMethodSpies.updateToNicknameIfNecessary.resetHistory()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should call componentDidMount', () => {
|
it('should call componentDidMount', () => {
|
||||||
@ -129,7 +130,7 @@ describe('Send Component', function () {
|
|||||||
prevBalance: '',
|
prevBalance: '',
|
||||||
prevGasTotal: undefined,
|
prevGasTotal: undefined,
|
||||||
prevTokenBalance: undefined,
|
prevTokenBalance: undefined,
|
||||||
selectedToken: 'mockSelectedToken',
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' },
|
||||||
tokenBalance: 'mockTokenBalance',
|
tokenBalance: 'mockTokenBalance',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -162,7 +163,7 @@ describe('Send Component', function () {
|
|||||||
conversionRate: 10,
|
conversionRate: 10,
|
||||||
gasTotal: 'mockGasTotal',
|
gasTotal: 'mockGasTotal',
|
||||||
primaryCurrency: 'mockPrimaryCurrency',
|
primaryCurrency: 'mockPrimaryCurrency',
|
||||||
selectedToken: 'mockSelectedToken',
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' },
|
||||||
tokenBalance: 'mockTokenBalance',
|
tokenBalance: 'mockTokenBalance',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -184,7 +185,7 @@ describe('Send Component', function () {
|
|||||||
conversionRate: 10,
|
conversionRate: 10,
|
||||||
gasTotal: 'mockGasTotal',
|
gasTotal: 'mockGasTotal',
|
||||||
primaryCurrency: 'mockPrimaryCurrency',
|
primaryCurrency: 'mockPrimaryCurrency',
|
||||||
selectedToken: 'mockSelectedToken',
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' },
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -225,7 +226,7 @@ describe('Send Component', function () {
|
|||||||
|
|
||||||
it('should call updateSendErrors with the expected params if selectedToken is truthy', () => {
|
it('should call updateSendErrors with the expected params if selectedToken is truthy', () => {
|
||||||
propsMethodSpies.updateSendErrors.resetHistory()
|
propsMethodSpies.updateSendErrors.resetHistory()
|
||||||
wrapper.setProps({ selectedToken: 'someToken' })
|
wrapper.setProps({ selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' }})
|
||||||
wrapper.instance().componentDidUpdate({
|
wrapper.instance().componentDidUpdate({
|
||||||
from: {
|
from: {
|
||||||
balance: 'balanceChanged',
|
balance: 'balanceChanged',
|
||||||
@ -246,6 +247,7 @@ describe('Send Component', function () {
|
|||||||
balance: 'balanceChanged',
|
balance: 'balanceChanged',
|
||||||
},
|
},
|
||||||
network: '3',
|
network: '3',
|
||||||
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' }, // Make sure not to hit updateGas when changing asset
|
||||||
})
|
})
|
||||||
assert.equal(propsMethodSpies.updateSendTokenBalance.callCount, 0)
|
assert.equal(propsMethodSpies.updateSendTokenBalance.callCount, 0)
|
||||||
assert.equal(SendTransactionScreen.prototype.updateGas.callCount, 0)
|
assert.equal(SendTransactionScreen.prototype.updateGas.callCount, 0)
|
||||||
@ -260,6 +262,7 @@ describe('Send Component', function () {
|
|||||||
balance: 'balanceChanged',
|
balance: 'balanceChanged',
|
||||||
},
|
},
|
||||||
network: '3',
|
network: '3',
|
||||||
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' }, // Make sure not to hit updateGas when changing asset
|
||||||
})
|
})
|
||||||
assert.equal(propsMethodSpies.updateSendTokenBalance.callCount, 0)
|
assert.equal(propsMethodSpies.updateSendTokenBalance.callCount, 0)
|
||||||
assert.equal(SendTransactionScreen.prototype.updateGas.callCount, 0)
|
assert.equal(SendTransactionScreen.prototype.updateGas.callCount, 0)
|
||||||
@ -273,13 +276,14 @@ describe('Send Component', function () {
|
|||||||
balance: 'balanceChanged',
|
balance: 'balanceChanged',
|
||||||
},
|
},
|
||||||
network: '2',
|
network: '2',
|
||||||
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' }, // Make sure not to hit updateGas when changing asset
|
||||||
})
|
})
|
||||||
assert.equal(propsMethodSpies.updateSendTokenBalance.callCount, 1)
|
assert.equal(propsMethodSpies.updateSendTokenBalance.callCount, 1)
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
propsMethodSpies.updateSendTokenBalance.getCall(0).args[0],
|
propsMethodSpies.updateSendTokenBalance.getCall(0).args[0],
|
||||||
{
|
{
|
||||||
selectedToken: 'mockSelectedToken',
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' }, // Make sure not to hit updateGas when changing asset
|
||||||
tokenContract: 'mockTokenContract',
|
tokenContract: { method: 'mockTokenMethod' },
|
||||||
address: 'mockAddress',
|
address: 'mockAddress',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -289,6 +293,20 @@ describe('Send Component', function () {
|
|||||||
[]
|
[]
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should call updateGas when ', () => {
|
||||||
|
SendTransactionScreen.prototype.updateGas.resetHistory()
|
||||||
|
propsMethodSpies.updateAndSetGasLimit.resetHistory()
|
||||||
|
wrapper.instance().componentDidUpdate({
|
||||||
|
from: {
|
||||||
|
balance: 'balancedChanged',
|
||||||
|
},
|
||||||
|
network: '3', // Make sure not to hit updateGas when changing network
|
||||||
|
selectedToken: { address: 'newSelectedToken' },
|
||||||
|
})
|
||||||
|
assert.equal(propsMethodSpies.updateToNicknameIfNecessary.callCount, 0) // Network did not change
|
||||||
|
assert.equal(propsMethodSpies.updateAndSetGasLimit.callCount, 1)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('updateGas', () => {
|
describe('updateGas', () => {
|
||||||
@ -305,7 +323,7 @@ describe('Send Component', function () {
|
|||||||
gasPrice: 'mockGasPrice',
|
gasPrice: 'mockGasPrice',
|
||||||
recentBlocks: ['mockBlock'],
|
recentBlocks: ['mockBlock'],
|
||||||
selectedAddress: 'mockSelectedAddress',
|
selectedAddress: 'mockSelectedAddress',
|
||||||
selectedToken: 'mockSelectedToken',
|
selectedToken: { address: 'mockTokenAddress', decimals: 18, symbol: 'TST' },
|
||||||
to: '',
|
to: '',
|
||||||
value: 'mockAmount',
|
value: 'mockAmount',
|
||||||
data: undefined,
|
data: undefined,
|
||||||
@ -431,9 +449,7 @@ describe('Send Component', function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('should warn when send to a known token contract address', () => {
|
it('should warn when send to a known token contract address', () => {
|
||||||
wrapper.setProps({
|
wrapper.setProps({ address: '0x888', decimals: 18, symbol: '888' })
|
||||||
selectedToken: '0x888',
|
|
||||||
})
|
|
||||||
const instance = wrapper.instance()
|
const instance = wrapper.instance()
|
||||||
instance.onRecipientInputChange('0x13cb85823f78Cff38f0B0E90D3e975b8CB3AAd64')
|
instance.onRecipientInputChange('0x13cb85823f78Cff38f0B0E90D3e975b8CB3AAd64')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user