1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-24 02:58:09 +01:00
metamask-extension/ui/app/hooks/tests/useTokenData.test.js
Brad Decker 706dc02cb4
Implement new transaction list design (#8564)
Co-authored-by: Whymarrh Whitby <whymarrh.whitby@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2020-05-26 15:49:11 -05:00

77 lines
2.0 KiB
JavaScript

import { useTokenData } from '../useTokenData'
import assert from 'assert'
import { renderHook } from '@testing-library/react-hooks'
const tests = [
{
data: '0xa9059cbb000000000000000000000000ffe5bc4e8f1f969934d773fa67da095d2e491a970000000000000000000000000000000000000000000000000000000000003a98',
tokenData: {
'name': 'transfer',
'params': [
{
'name': '_to',
'value': '0xffe5bc4e8f1f969934d773fa67da095d2e491a97',
'type': 'address',
},
{
'name': '_value',
'value': '15000',
'type': 'uint256',
},
],
},
},
{
data: '0xa9059cbb000000000000000000000000ffe5bc4e8f1f969934d773fa67da095d2e491a9700000000000000000000000000000000000000000000000000000000000061a8',
tokenData: {
'name': 'transfer',
'params': [
{
'name': '_to',
'value': '0xffe5bc4e8f1f969934d773fa67da095d2e491a97',
'type': 'address',
},
{
'name': '_value',
'value': '25000',
'type': 'uint256',
},
],
},
},
{
data: '0xa9059cbb000000000000000000000000ffe5bc4e8f1f969934d773fa67da095d2e491a970000000000000000000000000000000000000000000000000000000000002710',
tokenData: {
'name': 'transfer',
'params': [
{
'name': '_to',
'value': '0xffe5bc4e8f1f969934d773fa67da095d2e491a97',
'type': 'address',
},
{
'name': '_value',
'value': '10000',
'type': 'uint256',
},
],
},
},
{
data: undefined,
tokenData: null,
},
]
describe('useTokenData', function () {
tests.forEach((test) => {
const testTitle = test.tokenData !== null
? `should return properly decoded data with _value ${test.tokenData.params[1].value}`
: `should return null when no data provided`
it(testTitle, function () {
const { result } = renderHook(() => useTokenData(test.data))
assert.deepEqual(result.current, test.tokenData)
})
})
})