1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/ui/components/app/detected-token/detected-token.test.js
Thomas Huang 18e4af7690
Unit test proptype (#14868)
* Add missing props to advanced tab component test.

* Add icon size prop to site icon test

* Add hardwareWalletRequiresConnection prop to signature request test as a boolean

* Add setShowDetectedTokens prop to detect token test

* Set Setting description prop to be either object or string.
2022-06-06 19:30:07 -07:00

50 lines
2.0 KiB
JavaScript

import * as React from 'react';
import { renderWithProvider, screen, fireEvent } from '../../../../test/jest';
import configureStore from '../../../store/store';
import testData from '../../../../.storybook/test-data';
import DetectedToken from './detected-token';
describe('DetectedToken', () => {
it('should render the detected token found page', async () => {
const store = configureStore(testData);
const props = {
setShowDetectedTokens: jest.fn(),
};
renderWithProvider(<DetectedToken {...props} />, store);
expect(screen.getByText('0 LINK')).toBeInTheDocument();
expect(screen.getByText('0 COMP')).toBeInTheDocument();
expect(screen.getByText('0 FSW')).toBeInTheDocument();
expect(screen.getAllByText('$0')).toHaveLength(3);
expect(screen.getAllByText('Token address:')).toHaveLength(3);
expect(screen.getByText('0x514...86CA')).toBeInTheDocument();
expect(screen.getByText('0xc00...6888')).toBeInTheDocument();
expect(screen.getByText('0xfff...26DB')).toBeInTheDocument();
expect(screen.getAllByText('From token lists:')).toHaveLength(3);
expect(screen.getByText('coinGecko, oneInch')).toBeInTheDocument();
expect(screen.getByText('+ 3 more')).toBeInTheDocument();
fireEvent.click(screen.getByText('+ 3 more'));
expect(
screen.getByText('coinGecko, oneInch, paraswap, zapper, zerion.'),
).toBeInTheDocument();
expect(screen.getByText('bancor, cmc')).toBeInTheDocument();
expect(screen.getByText('+ 8 more')).toBeInTheDocument();
fireEvent.click(screen.getByText('+ 8 more'));
expect(
screen.getByText(
'bancor, cmc, cryptocom, coinGecko, oneInch, paraswap, pmm, zapper, zerion, zeroEx.',
),
).toBeInTheDocument();
expect(screen.getByText('aave, cmc')).toBeInTheDocument();
expect(screen.getByText('+ 5 more')).toBeInTheDocument();
fireEvent.click(screen.getByText('+ 5 more'));
expect(
screen.getByText(
'aave, cmc, coinGecko, oneInch, paraswap, zapper, zerion.',
),
).toBeInTheDocument();
});
});