import React from 'react'; import { mount } from 'enzyme'; import { sleep } from '../../../tests/utils'; describe('Collapse', () => { // Fix css-animation deps on these // https://github.com/yiminghe/css-animation/blob/a5986d73fd7dfce75665337f39b91483d63a4c8c/src/Event.js#L44 window.AnimationEvent = window.AnimationEvent || (() => {}); window.TransitionEvent = window.TransitionEvent || (() => {}); afterAll(() => { // restore it delete window.AnimationEvent; delete window.TransitionEvent; }); // eslint-disable-next-line global-require const Collapse = require('..').default; it('should support remove expandIcon', () => { const wrapper = mount( null}> , ); expect(wrapper.render()).toMatchSnapshot(); }); it('should keep the className of the expandIcon', () => { const wrapper = mount( ( )} > , ); expect(wrapper.find('.custom-expandicon-classname').exists()).toBe(true); }); it('should render extra node of panel', () => { const wrapper = mount( action} /> action} /> , ); expect(wrapper.render()).toMatchSnapshot(); }); it('could be expand and collapse', async () => { const wrapper = mount( content , ); expect(wrapper.find('.ant-collapse-item').hasClass('ant-collapse-item-active')).toBe(false); wrapper.find('.ant-collapse-header').at(0).simulate('click'); wrapper.update(); await sleep(400); wrapper.update(); expect(wrapper.find('.ant-collapse-item').hasClass('ant-collapse-item-active')).toBe(true); }); it('could override default openAnimation', () => { const wrapper = mount( content , ); wrapper.find('.ant-collapse-header').at(0).simulate('click'); expect(wrapper.render()).toMatchSnapshot(); }); });