import React from 'react'; import { mount } from 'enzyme'; import Alert from '..'; const { ErrorBoundary } = Alert; describe('Alert', () => { beforeAll(() => { jest.useFakeTimers(); }); afterAll(() => { jest.useRealTimers(); }); it('could be closed', () => { const onClose = jest.fn(); const afterClose = jest.fn(); const wrapper = mount( , ); wrapper.find('.ant-alert-close-icon').simulate('click'); expect(onClose).toHaveBeenCalled(); jest.runAllTimers(); expect(afterClose).toHaveBeenCalled(); }); describe('data and aria props', () => { it('sets data attributes on input', () => { const wrapper = mount(); const input = wrapper.find('.ant-alert').getDOMNode(); expect(input.getAttribute('data-test')).toBe('test-id'); expect(input.getAttribute('data-id')).toBe('12345'); }); it('sets aria attributes on input', () => { const wrapper = mount(); const input = wrapper.find('.ant-alert').getDOMNode(); expect(input.getAttribute('aria-describedby')).toBe('some-label'); }); it('sets role attribute on input', () => { const wrapper = mount(); const input = wrapper.find('.ant-alert').getDOMNode(); expect(input.getAttribute('role')).toBe('status'); }); }); const testIt = process.env.REACT === '15' ? it.skip : it; testIt('ErrorBoundary', () => { const ThrowError = () => ; // eslint-disable-line const wrapper = mount( , ); // eslint-disable-next-line jest/no-standalone-expect expect(wrapper.render()).toMatchSnapshot(); }); });