import { mount } from 'enzyme'; import React from 'react'; import ProTable from '@ant-design/pro-table'; import { Input } from 'antd'; import ProProvider from '@ant-design/pro-provider'; import { waitForComponentToPaint } from '../util'; const defaultProps = { columns: [ { title: '标签', dataIndex: 'name', key: 'name', valueType: 'link', fieldProps: { color: 'red', }, }, ], rowKey: 'key', request: () => { return Promise.resolve({ total: 200, data: [ { key: 0, name: 'TradeCode 0', }, ], success: true, }); }, }; describe('BasicTable valueType', () => { it('🎏 table support user valueType', async () => { const html = mount( {text}, renderFormItem: (_: any, props: any) => ( ), }, }, } as any } > , ); await waitForComponentToPaint(html, 1200); expect(html.find('#link').text()).toBe('TradeCode 0'); expect(html.find('input#name').exists()).toBeTruthy(); expect(html.find('input#name').props().value).toBe('TradeCode'); }); it('🎏 table valueType render support fieldProps', async () => { const html = mount( ( {text} {fieldProps.color} ), renderFormItem: (_: any, props: any) => ( ), }, }, } as any } > , ); await waitForComponentToPaint(html, 1200); expect(html.find('#link').text()).toBe('TradeCode 0red'); expect(html.find('input#name').exists()).toBeTruthy(); expect(html.find('input#name').props().color).toBe('red'); }); });