import React from 'react'; import configureMockStore from 'redux-mock-store'; import { renderWithProvider } from '../../../../../test/lib/render-helpers'; import mockState from '../../../../../test/data/mock-state.json'; import mockSendState from '../../../../../test/data/mock-send-state.json'; import AddRecipient from '.'; describe('Add Recipient Component', () => { describe('render', () => { const mockStore = configureMockStore()(mockState); it('should match snapshot', () => { const { container } = renderWithProvider(, mockStore); expect(container).toMatchSnapshot(); }); }); describe('Send State', () => { const mockStore = configureMockStore()(mockSendState); it('should match snapshot', () => { const { container } = renderWithProvider(, mockStore); expect(container).toMatchSnapshot(); }); }); describe('Domain Resolution', () => { const mockDomainResolutionState = { ...mockState, DNS: { resolution: 'DNS Resolution', }, }; const mockStore = configureMockStore()(mockDomainResolutionState); it('should match snapshot', () => { const { container } = renderWithProvider(, mockStore); expect(container).toMatchSnapshot(); }); }); describe('Own Account Recipient Search', () => { const ownAccountSeachState = { ...mockState, send: { ...mockState.send, recipientInput: 'Test', recipientMode: 'MY_ACCOUNTS', }, }; const mockStore = configureMockStore()(ownAccountSeachState); it('should match snapshot', () => { const { container } = renderWithProvider(, mockStore); expect(container).toMatchSnapshot(); }); }); describe('Recent recipient order', () => { const recentRecipientState = { ...mockState, metamask: { ...mockState.metamask, addressBook: { '0x5': { '0x0000000000000000000000000000000000000001': { address: '0x0000000000000000000000000000000000000001', chainId: '0x5', isEns: false, memo: '', name: '', }, '0x0000000000000000000000000000000000000002': { address: '0x0000000000000000000000000000000000000002', chainId: '0x5', isEns: false, memo: '', name: '', }, '0x0000000000000000000000000000000000000003': { address: '0x0000000000000000000000000000000000000003', chainId: '0x5', isEns: false, memo: '', name: '', }, }, }, currentNetworkTxList: [ { time: 1674425700001, txParams: { to: '0x0000000000000000000000000000000000000001', }, }, { time: 1674425700002, txParams: { to: '0x0000000000000000000000000000000000000002', }, }, { time: 1674425700003, txParams: { to: '0x0000000000000000000000000000000000000003', }, }, ], }, }; const mockStore = configureMockStore()(recentRecipientState); it('should render latest used recipient first', () => { const { getAllByTestId } = renderWithProvider( , mockStore, ); const recipientList = getAllByTestId('recipient'); expect(recipientList[0]).toHaveTextContent('0x0000...0003'); expect(recipientList[1]).toHaveTextContent('0x0000...0002'); }); }); });