UNPKG

@coreui/react

Version:

CoreUI React 17 Bootstrap 4 components

69 lines (63 loc) 1.79 kB
import React, { useState } from 'react' import ReactDOM from 'react-dom' import { configure, mount } from 'enzyme' import Adapter from '@wojtekmaj/enzyme-adapter-react-17' import renderer from 'react-test-renderer'; import CModal from '../CModal' configure({ adapter: new Adapter() }) describe('CModal', () => { it('renders basic wrapper correctly', () => { const component = renderer.create(<CModal/>); let tree = component.toJSON(); expect(tree).toMatchSnapshot() }) it('renders customized wrapper correctly', () => { const componentCustomized = renderer.create( <CModal className='class-name' show centered size='lg' backdrop color='warning' borderColor='info' fade closeOnBackdrop addContentClass='content-class' > CModal </CModal> ); let tree = componentCustomized.toJSON(); expect(tree).toMatchSnapshot() }) it('renders modal dialog scrollable correctly', () => { const componentCustomized = renderer.create( <CModal scrollable color='danger' > CModal modal-dialog-scrollable </CModal> ); let tree = componentCustomized.toJSON(); expect(tree).toMatchSnapshot() }) it('run onClose function after click modal', () => { jest.useFakeTimers() const onClose = jest.fn(); const component = mount( <CModal className='class-name' onClose={onClose} closeOnBackdrop show > CModal </CModal> ); component.find('.modal').simulate('click') jest.runAllTimers(); expect(onClose).toHaveBeenCalledTimes(1); }) })