forked from ElemeFE/element-react
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtooltip_test.jsx
67 lines (52 loc) · 1.97 KB
/
tooltip_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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import React from 'react';
import { mount, shallow } from 'enzyme';
import { Button, Tooltip } from '../../../src';
test('Basic Usage', () => {
const tooltip = shallow(
<Tooltip effect="dark" content="Top Left prompts info" placement="top-start">
<Button>top-start</Button>
</Tooltip>
);
expect(tooltip.find('.el-tooltip__rel').exists()).toEqual(true);
expect(tooltip.find('.el-tooltip__rel').contains(<Button>top-start</Button>)).toEqual(true);
expect(tooltip.find('.el-tooltip__popper').exists()).toEqual(true);
expect(tooltip.find('.el-tooltip__popper').at(0).hasClass('is-dark')).toEqual(true);
expect(tooltip.find('.el-tooltip__popper').text()).toEqual('Top Left prompts info');
});
test('Theme', () => {
const tooltip1 = shallow(
<Tooltip content="Top center" placement="top">
<Button>Dark</Button>
</Tooltip>
);
expect(tooltip1.find('div .el-tooltip__popper').at(0).hasClass('is-dark')).toEqual(true);
const tooltip2 = mount(
<div>
<Tooltip content="Bottom center" placement="bottom" effect="light">
<Button>Light</Button>
</Tooltip>
</div>
);
expect(tooltip2.find('div .el-tooltip__popper').at(0).hasClass('is-light')).toEqual(true);
});
test('More Content', () => {
const tooltip = mount(
<Tooltip placement="top" content={<div>multiple lines<br />second line</div>}>
<Button>Top center</Button>
</Tooltip>
);
expect(tooltip.contains(<div>multiple lines<br />second line</div>)).toBe(true);
});
test('Advanced usage', () => {
const state = {
disabled: false
};
const tooltip = mount(
<Tooltip disabled={ state.disabled } content="click to close tooltip function" placement="bottom" effect="light">
<Button onClick={ () => {state.disabled = true}}>{`click to ${state.disabled ? 'active' : 'close' } tooltip function`}</Button>
</Tooltip>
);
expect(state.disabled).toBe(false);
tooltip.find('Button').simulate('click');
expect(state.disabled).toBe(true);
});