ant-design/components/transfer/__tests__/customize.test.tsx

65 lines
1.7 KiB
TypeScript
Raw Normal View History

2022-06-22 14:57:09 +08:00
import React from 'react';
import { render } from '../../../tests/utils';
import type { TransferProps } from '../index';
import Transfer from '../index';
describe('Transfer.Customize', () => {
const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
afterEach(() => {
errorSpy.mockReset();
});
afterAll(() => {
errorSpy.mockRestore();
});
it('props#body does not work anymore', () => {
const body = jest.fn();
const props = { body } as TransferProps<any>;
2022-09-08 23:47:22 +08:00
render(<Transfer {...props} />);
expect(errorSpy).not.toHaveBeenCalled();
expect(body).not.toHaveBeenCalled();
});
describe('deprecated function', () => {
2022-09-08 23:47:22 +08:00
const dataSource: Record<'key', string>[] = [];
for (let i = 0; i < 10; i += 1) {
2022-09-08 23:47:22 +08:00
dataSource.push({ key: i.toString() });
}
const commonProps = {
dataSource,
selectedKeys: ['1'],
targetKeys: ['2'],
};
it('should not exist in render props', () => {
render(
<Transfer {...commonProps}>
{(props) => {
expect('handleFilter' in props).toBeFalsy();
expect('handleSelect' in props).toBeFalsy();
expect('handleSelectAll' in props).toBeFalsy();
expect('handleClear' in props).toBeFalsy();
expect('body' in props).toBeFalsy();
expect('checkedKeys' in props).toBeFalsy();
2022-09-08 23:47:22 +08:00
return null;
}}
</Transfer>,
);
});
});
it('warning if use `pagination`', () => {
render(
<Transfer dataSource={[]} pagination>
{() => null}
</Transfer>,
);
expect(errorSpy).toHaveBeenCalledWith(
'Warning: [antd: Transfer] `pagination` not support customize render list.',
);
});
});