import { configure, shallow } from 'enzyme'; import Adapter from 'enzyme-adapter-react-16'; import * as React from 'react'; import { Text } from 'react-native'; import renderer from 'react-test-renderer'; import MDPopupTitleBar, { MDPopupTitleBarStyles } from '../index'; configure({ adapter: new Adapter() }); it('renders correctly with defaults', () => { const component = renderer.create().toJSON(); expect(component).toMatchSnapshot(); }); it('renders correctly with normal props', () => { const component = renderer .create( ) .toJSON(); expect(component).toMatchSnapshot(); }); it('renders correctly with solt', () => { const component = renderer .create( Prevent Mask Click} cancelText={取消} okText={取消} /> ) .toJSON(); expect(component).toMatchSnapshot(); }); it('test press event', () => { const mockCancelCallBack = jest.fn(); const mockConfirmCallBack = jest.fn(); const component = shallow( ); component .find('TouchableWithoutFeedback') .first() .simulate('press'); expect(mockCancelCallBack.mock.calls.length).toEqual(1); component .find('TouchableWithoutFeedback') .last() .simulate('press'); expect(mockConfirmCallBack.mock.calls.length).toEqual(1); }); it('test custom style', () => { const styles = { ...MDPopupTitleBarStyles, wrapper: { ...MDPopupTitleBarStyles.wrapper, backgroundColor: 'red', }, icon: { ...MDPopupTitleBarStyles.wrapper, backgroundColor: 'green', }, }; const component = shallow( ); expect(component.find('View').get(0).props.style[0]).toHaveProperty( 'backgroundColor', 'red' ); });