A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ciphermask/ui/components/app/detected-token/detected-token-details/detected-token-details.test.js

95 lines
2.8 KiB

import * as React from 'react';
import {
renderWithProvider,
screen,
fireEvent,
} from '../../../../../test/jest';
import configureStore from '../../../../store/store';
import testData from '../../../../../.storybook/test-data';
import DetectedTokenDetails from './detected-token-details';
describe('DetectedTokenDetails', () => {
const args = {
token: {
address: '0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f',
symbol: 'SNX',
decimals: 18,
iconUrl: 'https://assets.coingecko.com/coins/images/3406/large/SNX.png',
aggregators: [
'Aave',
'Bancor',
'CMC',
'Crypto.com',
'CoinGecko',
'1Inch',
'Paraswap',
'PMM',
'Synthetix',
'Zapper',
'Zerion',
'0x',
],
},
handleTokenSelection: jest.fn(),
tokensListDetected: {
0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f: {
token: {
name: 'Synthetix Network',
address: '0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f',
symbol: 'SNX',
decimals: 18,
iconUrl:
'https://assets.coingecko.com/coins/images/3406/large/SNX.png',
aggregators: [
'aave',
'bancor',
'cmc',
'cryptocom',
'coinGecko',
'oneInch',
'paraswap',
'pmm',
'synthetix',
'zapper',
'zerion',
'zeroEx',
],
},
selected: true,
},
0x514910771af9ca656af840dff83e8264ecf986ca: {
token: {
name: 'ChainLink Token',
address: '0x514910771af9ca656af840dff83e8264ecf986ca',
symbol: 'LINK',
decimals: 18,
iconUrl:
'https://crypto.com/price/coin-data/icon/LINK/color_icon.png',
aggregators: ['coinGecko', 'oneInch', 'paraswap', 'zapper', 'zerion'],
},
selected: true,
},
},
};
it('should render the detected token details', async () => {
const store = configureStore(testData);
renderWithProvider(<DetectedTokenDetails {...args} />, store);
expect(screen.getByText('0 SNX')).toBeInTheDocument();
expect(screen.getByText('$0')).toBeInTheDocument();
expect(screen.getByText('Token address:')).toBeInTheDocument();
expect(screen.getByText('0xc01...2a6f')).toBeInTheDocument();
expect(screen.getByText('From token lists:')).toBeInTheDocument();
expect(screen.getByText('Aave, Bancor')).toBeInTheDocument();
expect(screen.getByText('+ 10 more')).toBeInTheDocument();
fireEvent.click(screen.getByText('+ 10 more'));
expect(
screen.getByText(
'Aave, Bancor, CMC, Crypto.com, CoinGecko, 1Inch, Paraswap, PMM, Synthetix, Zapper, Zerion, 0x.',
),
).toBeInTheDocument();
});
});