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'
);
});