1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/ui/pages/create-account/connect-hardware/account-list.test.js

93 lines
2.3 KiB
JavaScript
Raw Normal View History

import React from 'react';
import { screen } from '@testing-library/react';
import { renderWithProvider } from '../../../../test/jest';
import configureStore from '../../../store/store';
import mockState from '../../../../test/data/mock-state.json';
import AccountList from './account-list';
import { LATTICE_HD_PATHS, LEDGER_HD_PATHS, TREZOR_HD_PATHS } from '.';
const render = () => {
const store = configureStore({
metamask: {
...mockState.metamask,
},
});
const props = {
selectedPath: TREZOR_HD_PATHS[0].path,
device: 'trezor',
accounts: [
{
address: '0x5E2003....98f417b',
balance: '0.005794 ETH',
index: 0,
},
{
address: '0x27d17...a5B52E',
balance: '0.000000 ETH',
index: 1,
},
{
address: '0x7D412C....3041D0f64a',
balance: '0.000000 ETH',
index: 2,
},
{
address: '0xEb6b4...3e83270C72A',
balance: '0.000000 ETH',
index: 3,
},
{
address: '0x1BbbdC00...CCFF917',
balance: '0.000000 ETH',
index: 4,
},
],
connectedAccounts: [
'0x7f132...78a8d6',
'0x27d17...a5B52E',
'0x5E2003....98f417b',
].map((a) => a.toLowerCase()),
selectedAccounts: [],
chainId: '0x1',
rpcPrefs: {},
hdPaths: {
ledger: LEDGER_HD_PATHS,
lattice: LATTICE_HD_PATHS,
trezor: TREZOR_HD_PATHS,
},
onPathChange: jest.fn(),
onAccountChange: jest.fn(),
onForgetDevice: jest.fn(),
getPage: jest.fn(),
onUnlockAccounts: jest.fn(),
onCancel: jest.fn(),
onAccountRestriction: jest.fn(),
};
return renderWithProvider(<AccountList {...props} />, store);
};
describe('AccountList', () => {
it('renders AccountList component and shows Select HD path text', () => {
render();
expect(screen.getByText('Select HD path')).toBeInTheDocument();
});
it('renders AccountList component and has two accounts selected', () => {
render();
expect(
screen.getAllByTitle(
'This account has already been connected to MetaMask',
),
).toHaveLength(2);
});
it('disables the Prev button as the first account has an index of 0', () => {
render();
expect(
screen.getByTestId('hw-list-pagination__prev-button'),
).toBeDisabled();
});
});