import React from 'react'; import { mount } from 'enzyme'; import { act } from 'react-dom/test-utils'; import ConfigProvider from '../../config-provider'; import { Modal } from '../..'; import { sleep } from '../../../tests/utils'; import zhCN from '../zh_CN'; class Demo extends React.Component { static defaultProps = {}; componentDidMount() { if (this.props.type === 'dashboard') { Modal.confirm({ title: 'Hello World!' }); } } render() { return
{this.props.type}
; } } describe('Locale Provider demo', () => { it('change type', async () => { jest.useFakeTimers(); const BasicExample = () => { const [type, setType] = React.useState(''); return (
setType('about')}> about setType('dashboard')}> dashboard
{type === 'about' && ( )} {type === 'dashboard' && ( )}
); }; const wrapper = mount(); wrapper.find('.about').at(0).simulate('click'); await act(async () => { jest.runAllTimers(); await sleep(); }); wrapper.find('.dashboard').at(0).simulate('click'); await act(async () => { jest.runAllTimers(); await sleep(); }); expect(document.body.querySelectorAll('.ant-btn-primary span')[0].textContent).toBe('确 定'); Modal.destroyAll(); jest.useRealTimers(); }); });