import React from 'react'; import type { KeyWiseTransferItem } from '..'; import { render } from '../../../tests/utils'; import type { TransferListProps } from '../list'; import type TransferList from '../list'; import List from '../list'; const listCommonProps: TransferListProps = { prefixCls: 'ant-transfer-list', dataSource: [ { key: 'a', title: 'a' }, { key: 'b', title: 'b' }, { key: 'c', title: 'c', disabled: true }, ], checkedKeys: ['a'], notFoundContent: 'Not Found', } as TransferListProps; const listProps: TransferListProps = { ...listCommonProps, dataSource: undefined as unknown as any[], }; describe('Transfer.List', () => { it('should render correctly', () => { const { container } = render(); expect(container.firstChild).toMatchSnapshot(); }); it('should check top Checkbox while all available items are checked', () => { const { container } = render(); expect( container.querySelector('.ant-transfer-list-header input[type="checkbox"]') ?.checked, ).toBeTruthy(); }); it('when component has been unmounted, componentWillUnmount should be called', () => { const instance = React.createRef>(); const { unmount } = render(); const willUnmount = jest.spyOn(instance.current!, 'componentWillUnmount'); unmount(); expect(willUnmount).toHaveBeenCalled(); }); it('when value is not exists, handleFilter should return', () => { const handleFilter = jest.fn(); const instance = React.createRef>(); render(); expect( instance.current?.handleFilter({ target: 'test', } as unknown as React.ChangeEvent), ).toBe(undefined); expect(handleFilter).toHaveBeenCalled(); }); it('should render correctly when dataSource is not exists', () => { expect(() => { render(); }).not.toThrow(); }); });