/
index.test.jsx
46 lines (41 loc) · 1.24 KB
/
index.test.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import React from 'react';
import { render, shallow, mount } from 'enzyme';
import toJson from 'enzyme-to-json';
import Message from '../index';
describe('Message', () => {
it('renders correctly', () => {
const wrapper = render(<Message>foo</Message>);
expect(toJson(wrapper)).toMatchSnapshot();
});
it('theme', () => {
const wrapper = render(<Message theme="danger">foo</Message>);
expect(toJson(wrapper)).toMatchSnapshot();
});
it('icon', () => {
const wrapper = render(
<Message
icon={<img alt="" src="\\static.zhongan.com/website/health/zarm/images/icons/state.png" />}
>
foo
</Message>,
);
expect(toJson(wrapper)).toMatchSnapshot();
});
it('hasArrow', () => {
const onClick = jest.fn();
const wrapper = shallow(
<Message hasArrow onClick={onClick}>
foo
</Message>,
);
expect(toJson(wrapper)).toMatchSnapshot();
wrapper.simulate('click');
expect(onClick).toBeCalled();
});
it('closable', () => {
const wrapper = mount(<Message closable>foo</Message>);
expect(toJson(wrapper)).toMatchSnapshot();
wrapper.find('.za-message__footer .za-icon').at(0).simulate('click');
expect(wrapper.state('visible')).toEqual(false);
});
});