@zohodesk/components 1.6.32 → 1.6.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/es/Accordion/__tests__/Accordion.spec.js +117 -3
- package/es/Accordion/__tests__/AccordionItem.spec.js +118 -6
- package/es/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +344 -2
- package/es/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +155 -3
- package/es/Animation/__tests__/Animation.spec.js +28 -4
- package/es/Animation/__tests__/__snapshots__/Animation.spec.js.snap +92 -2
- package/es/Button/css/Button.module.css +2 -3
- package/es/CheckBox/CheckBox.js +1 -1
- package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +1 -1
- package/es/DateTime/DateTime.module.css +2 -2
- package/es/DateTime/__tests__/CalendarView.spec.js +70 -3
- package/es/DateTime/__tests__/DateTime.spec.js +89 -6
- package/es/DateTime/__tests__/DateTimePopupFooter.spec.js +20 -2
- package/es/DateTime/__tests__/DateTimePopupHeader.spec.js +29 -2
- package/es/DateTime/__tests__/DateWidget.spec.js +34 -2
- package/es/DateTime/__tests__/DaysRow.spec.js +19 -3
- package/es/DateTime/__tests__/Time.spec.js +50 -3
- package/es/DateTime/__tests__/YearView.spec.js +60 -3
- package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +2907 -170
- package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +4392 -108
- package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +67 -1
- package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +187 -1
- package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +265 -1
- package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +155 -2
- package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +522 -5
- package/es/DateTime/__tests__/__snapshots__/YearView.spec.js.snap +540 -0
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +1 -4
- package/es/Heading/Heading.module.css +1 -1
- package/es/Heading/__tests__/Heading.spec.js +57 -3
- package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +87 -14
- package/es/ListItem/__tests__/ListContainer.spec.js +228 -1
- package/es/ListItem/__tests__/ListItem.spec.js +359 -1
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +390 -1
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +214 -1
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +303 -1
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +230 -1
- package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +602 -0
- package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +1807 -0
- package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +2703 -0
- package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +2909 -0
- package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +2009 -0
- package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +3070 -0
- package/es/MultiSelect/MultiSelect.module.css +1 -2
- package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +671 -1
- package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +730 -1
- package/es/MultiSelect/__tests__/EmptyState.spec.js +268 -1
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +889 -2
- package/es/MultiSelect/__tests__/MultiSelectHeader.spec.js +50 -1
- package/es/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +487 -1
- package/es/MultiSelect/__tests__/SelectedOptions.spec.js +291 -1
- package/es/MultiSelect/__tests__/Suggestions.spec.js +370 -2
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +11785 -0
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +12083 -0
- package/es/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +253 -0
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +14052 -0
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +136 -0
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +11506 -0
- package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +1382 -0
- package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +3611 -0
- package/es/PopOver/__tests__/PopOver.spec.js +141 -2
- package/es/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1260 -0
- package/es/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +212 -1
- package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1802 -0
- package/es/Tab/Tabs.module.css +1 -2
- package/es/Tab/__tests__/Tab.spec.js +249 -1
- package/es/Tab/__tests__/TabContent.spec.js +34 -1
- package/es/Tab/__tests__/TabContentWrapper.spec.js +72 -1
- package/es/Tab/__tests__/TabWrapper.spec.js +163 -1
- package/es/Tab/__tests__/Tabs.spec.js +681 -1
- package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +1049 -0
- package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +99 -0
- package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +121 -0
- package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2002 -0
- package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +11053 -0
- package/es/Textarea/Textarea.module.css +1 -1
- package/es/Tooltip/Tooltip.module.css +1 -2
- package/es/Tooltip/__tests__/Tooltip.spec.js +590 -0
- package/es/Tooltip/__tests__/__snapshots__/Tooltip.spec.js.snap +813 -0
- package/es/Typography/css/Typography.module.css +8 -7
- package/es/common/common.module.css +4 -4
- package/lib/Accordion/__tests__/Accordion.spec.js +122 -2
- package/lib/Accordion/__tests__/AccordionItem.spec.js +126 -4
- package/lib/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +344 -2
- package/lib/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +155 -3
- package/lib/Animation/__tests__/Animation.spec.js +31 -5
- package/lib/Animation/__tests__/__snapshots__/Animation.spec.js.snap +92 -2
- package/lib/Button/css/Button.module.css +2 -3
- package/lib/CheckBox/CheckBox.js +1 -1
- package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +1 -1
- package/lib/DateTime/DateTime.module.css +2 -2
- package/lib/DateTime/__tests__/CalendarView.spec.js +71 -2
- package/lib/DateTime/__tests__/DateTime.spec.js +92 -6
- package/lib/DateTime/__tests__/DateTimePopupFooter.spec.js +21 -1
- package/lib/DateTime/__tests__/DateTimePopupHeader.spec.js +30 -1
- package/lib/DateTime/__tests__/DateWidget.spec.js +35 -1
- package/lib/DateTime/__tests__/DaysRow.spec.js +20 -2
- package/lib/DateTime/__tests__/Time.spec.js +51 -2
- package/lib/DateTime/__tests__/YearView.spec.js +61 -2
- package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +2907 -170
- package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +4392 -108
- package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +67 -1
- package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +187 -1
- package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +265 -1
- package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +155 -2
- package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +522 -5
- package/lib/DateTime/__tests__/__snapshots__/YearView.spec.js.snap +540 -0
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +1 -4
- package/lib/Heading/Heading.module.css +1 -1
- package/lib/Heading/__tests__/Heading.spec.js +60 -4
- package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +87 -14
- package/lib/ListItem/__tests__/ListContainer.spec.js +229 -0
- package/lib/ListItem/__tests__/ListItem.spec.js +362 -0
- package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +391 -0
- package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +215 -0
- package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +304 -0
- package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +231 -0
- package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +602 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +1807 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +2703 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +2909 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +2009 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +3070 -0
- package/lib/MultiSelect/MultiSelect.module.css +1 -2
- package/lib/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +692 -0
- package/lib/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +741 -0
- package/lib/MultiSelect/__tests__/EmptyState.spec.js +273 -0
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +910 -0
- package/lib/MultiSelect/__tests__/MultiSelectHeader.spec.js +51 -0
- package/lib/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +497 -0
- package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +305 -0
- package/lib/MultiSelect/__tests__/Suggestions.spec.js +375 -0
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +11785 -0
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +12083 -0
- package/lib/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +253 -0
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +14052 -0
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +136 -0
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +11506 -0
- package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +1382 -0
- package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +3611 -0
- package/lib/PopOver/__tests__/PopOver.spec.js +150 -1
- package/lib/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1260 -0
- package/lib/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +213 -0
- package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1802 -0
- package/lib/Tab/Tabs.module.css +1 -2
- package/lib/Tab/__tests__/Tab.spec.js +250 -0
- package/lib/Tab/__tests__/TabContent.spec.js +35 -0
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +76 -0
- package/lib/Tab/__tests__/TabWrapper.spec.js +174 -0
- package/lib/Tab/__tests__/Tabs.spec.js +741 -0
- package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +1049 -0
- package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +99 -0
- package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +121 -0
- package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2002 -0
- package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +11053 -0
- package/lib/Textarea/Textarea.module.css +1 -1
- package/lib/Tooltip/Tooltip.module.css +1 -2
- package/lib/Tooltip/__tests__/Tooltip.spec.js +629 -0
- package/lib/Tooltip/__tests__/__snapshots__/Tooltip.spec.js.snap +813 -0
- package/lib/Typography/css/Typography.module.css +8 -7
- package/lib/common/common.module.css +4 -4
- package/package.json +6 -5
|
@@ -1,11 +1,691 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
1
3
|
import React from 'react';
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
4
|
+
import { render, cleanup, fireEvent } from '@testing-library/react';
|
|
3
5
|
import Tabs from "../Tabs";
|
|
6
|
+
import Tab from "../Tab";
|
|
7
|
+
import { getTotalDimension } from "../../utils/Common"; // Tabs splits tabs between the bar and the more menu using measured sizes, which are 0 in jsdom;
|
|
8
|
+
// the mock delegates to the real helper unless a case sets fixed sizes
|
|
9
|
+
|
|
10
|
+
jest.mock("../../utils/Common", () => {
|
|
11
|
+
const actual = jest.requireActual("../../utils/Common");
|
|
12
|
+
return {
|
|
13
|
+
__esModule: true,
|
|
14
|
+
...actual,
|
|
15
|
+
getTotalDimension: jest.fn(actual.getTotalDimension)
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
const {
|
|
19
|
+
getTotalDimension: actualGetTotalDimension
|
|
20
|
+
} = jest.requireActual("../../utils/Common"); // every Tab carries data-key, so it is measured as a tab; anything else is the tab bar
|
|
21
|
+
|
|
22
|
+
const setDimensions = (bar, tab) => {
|
|
23
|
+
getTotalDimension.mockImplementation(element => element && element.dataset && element.dataset.key ? tab : bar);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const makeTabs = count => Array.from({
|
|
27
|
+
length: count
|
|
28
|
+
}, (_, index) => /*#__PURE__*/React.createElement(Tab, {
|
|
29
|
+
key: `t${index + 1}`,
|
|
30
|
+
id: `t${index + 1}`,
|
|
31
|
+
text: `Tab ${index + 1}`
|
|
32
|
+
})); // isResponsive is off so tabs stay in the bar; a 0-width jsdom bar would otherwise collapse them into the more menu
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
const renderTabs = (props, tabs = makeTabs(4)) => render( /*#__PURE__*/React.createElement(Tabs, _extends({
|
|
36
|
+
isResponsive: false
|
|
37
|
+
}, props), tabs)); // a 100 bar with 30 tabs keeps two tabs visible and moves the rest into the more menu
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
const renderResponsiveTabs = (props, tabs = makeTabs(4), bar = 100, tab = 30) => {
|
|
41
|
+
setDimensions(bar, tab);
|
|
42
|
+
return render( /*#__PURE__*/React.createElement(Tabs, props, tabs));
|
|
43
|
+
};
|
|
44
|
+
|
|
4
45
|
describe('Tabs', () => {
|
|
46
|
+
afterEach(() => {
|
|
47
|
+
cleanup();
|
|
48
|
+
getTotalDimension.mockImplementation(actualGetTotalDimension);
|
|
49
|
+
}); // the open more menu renders a FocusScope that needs IntersectionObserver, which jsdom lacks
|
|
50
|
+
|
|
51
|
+
beforeAll(() => {
|
|
52
|
+
window.IntersectionObserver = class {
|
|
53
|
+
observe() {}
|
|
54
|
+
|
|
55
|
+
unobserve() {}
|
|
56
|
+
|
|
57
|
+
disconnect() {}
|
|
58
|
+
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
afterAll(() => {
|
|
62
|
+
delete window.IntersectionObserver;
|
|
63
|
+
});
|
|
5
64
|
test('rendering the defult props', () => {
|
|
6
65
|
const {
|
|
7
66
|
asFragment
|
|
8
67
|
} = render( /*#__PURE__*/React.createElement(Tabs, null));
|
|
9
68
|
expect(asFragment()).toMatchSnapshot();
|
|
10
69
|
});
|
|
70
|
+
const types = ['alpha', 'beta', 'delta'];
|
|
71
|
+
const iconNames = ['ZD-GN-info', 'ZD-GN-agent'];
|
|
72
|
+
|
|
73
|
+
const CustomTab = props => /*#__PURE__*/React.createElement(Tab, props);
|
|
74
|
+
|
|
75
|
+
test('Render with tabs', () => {
|
|
76
|
+
const {
|
|
77
|
+
asFragment
|
|
78
|
+
} = renderTabs();
|
|
79
|
+
expect(asFragment()).toMatchSnapshot();
|
|
80
|
+
});
|
|
81
|
+
test.each(types)('Render with selectedTab, needAppearance and type as %s', type => {
|
|
82
|
+
const {
|
|
83
|
+
asFragment
|
|
84
|
+
} = renderTabs({
|
|
85
|
+
selectedTab: 't1',
|
|
86
|
+
needAppearance: true,
|
|
87
|
+
type
|
|
88
|
+
});
|
|
89
|
+
expect(asFragment()).toMatchSnapshot();
|
|
90
|
+
});
|
|
91
|
+
test.each(['beta', 'delta'])('Render with needAppearance, needBorder, needPadding and type as %s', type => {
|
|
92
|
+
const {
|
|
93
|
+
asFragment
|
|
94
|
+
} = renderTabs({
|
|
95
|
+
needAppearance: true,
|
|
96
|
+
needBorder: true,
|
|
97
|
+
needPadding: true,
|
|
98
|
+
type
|
|
99
|
+
});
|
|
100
|
+
expect(asFragment()).toMatchSnapshot();
|
|
101
|
+
});
|
|
102
|
+
test('Render with selectedTab', () => {
|
|
103
|
+
const {
|
|
104
|
+
asFragment
|
|
105
|
+
} = renderTabs({
|
|
106
|
+
selectedTab: 't2'
|
|
107
|
+
});
|
|
108
|
+
expect(asFragment()).toMatchSnapshot();
|
|
109
|
+
});
|
|
110
|
+
test('Render with needAppearance', () => {
|
|
111
|
+
const {
|
|
112
|
+
asFragment
|
|
113
|
+
} = renderTabs({
|
|
114
|
+
needAppearance: true
|
|
115
|
+
});
|
|
116
|
+
expect(asFragment()).toMatchSnapshot();
|
|
117
|
+
});
|
|
118
|
+
test('Render with needAppearance and needBorder', () => {
|
|
119
|
+
const {
|
|
120
|
+
asFragment
|
|
121
|
+
} = renderTabs({
|
|
122
|
+
needAppearance: true,
|
|
123
|
+
needBorder: true
|
|
124
|
+
});
|
|
125
|
+
expect(asFragment()).toMatchSnapshot();
|
|
126
|
+
});
|
|
127
|
+
test('Render with needAppearance and needPadding', () => {
|
|
128
|
+
const {
|
|
129
|
+
asFragment
|
|
130
|
+
} = renderTabs({
|
|
131
|
+
needAppearance: true,
|
|
132
|
+
needPadding: true
|
|
133
|
+
});
|
|
134
|
+
expect(asFragment()).toMatchSnapshot();
|
|
135
|
+
});
|
|
136
|
+
test('Render with needAppearance, needBorder and needPadding', () => {
|
|
137
|
+
const {
|
|
138
|
+
asFragment
|
|
139
|
+
} = renderTabs({
|
|
140
|
+
needAppearance: true,
|
|
141
|
+
needBorder: true,
|
|
142
|
+
needPadding: true
|
|
143
|
+
});
|
|
144
|
+
expect(asFragment()).toMatchSnapshot();
|
|
145
|
+
});
|
|
146
|
+
test('Render with needBorder and needPadding without needAppearance', () => {
|
|
147
|
+
const {
|
|
148
|
+
asFragment
|
|
149
|
+
} = renderTabs({
|
|
150
|
+
needBorder: true,
|
|
151
|
+
needPadding: true
|
|
152
|
+
});
|
|
153
|
+
expect(asFragment()).toMatchSnapshot();
|
|
154
|
+
});
|
|
155
|
+
test('Render with align as vertical', () => {
|
|
156
|
+
const {
|
|
157
|
+
asFragment
|
|
158
|
+
} = renderTabs({
|
|
159
|
+
align: 'vertical',
|
|
160
|
+
selectedTab: 't1',
|
|
161
|
+
needAppearance: true
|
|
162
|
+
});
|
|
163
|
+
expect(asFragment()).toMatchSnapshot();
|
|
164
|
+
});
|
|
165
|
+
test('Render with needAppearance and needTabBorder', () => {
|
|
166
|
+
const {
|
|
167
|
+
asFragment
|
|
168
|
+
} = renderTabs({
|
|
169
|
+
selectedTab: 't1',
|
|
170
|
+
needAppearance: true,
|
|
171
|
+
needTabBorder: true
|
|
172
|
+
});
|
|
173
|
+
expect(asFragment()).toMatchSnapshot();
|
|
174
|
+
});
|
|
175
|
+
test('Render with needAppearance, needTabBorder and isAnimate', () => {
|
|
176
|
+
const {
|
|
177
|
+
asFragment
|
|
178
|
+
} = renderTabs({
|
|
179
|
+
selectedTab: 't1',
|
|
180
|
+
needAppearance: true,
|
|
181
|
+
needTabBorder: true,
|
|
182
|
+
isAnimate: true
|
|
183
|
+
});
|
|
184
|
+
expect(asFragment()).toMatchSnapshot();
|
|
185
|
+
});
|
|
186
|
+
test('Render with needAppearance, needTabBorder, isAnimate, highlightClass and dataId', () => {
|
|
187
|
+
const {
|
|
188
|
+
asFragment
|
|
189
|
+
} = renderTabs({
|
|
190
|
+
selectedTab: 't1',
|
|
191
|
+
needAppearance: true,
|
|
192
|
+
needTabBorder: true,
|
|
193
|
+
isAnimate: true,
|
|
194
|
+
highlightClass: 'custom-highlight',
|
|
195
|
+
dataId: 'tabs-dataId'
|
|
196
|
+
});
|
|
197
|
+
expect(asFragment()).toMatchSnapshot();
|
|
198
|
+
});
|
|
199
|
+
test('Render with isAnimate and needTabBorder without needAppearance', () => {
|
|
200
|
+
const {
|
|
201
|
+
asFragment
|
|
202
|
+
} = renderTabs({
|
|
203
|
+
isAnimate: true,
|
|
204
|
+
needTabBorder: true
|
|
205
|
+
});
|
|
206
|
+
expect(asFragment()).toMatchSnapshot();
|
|
207
|
+
});
|
|
208
|
+
test('Render with highlightClass without isAnimate', () => {
|
|
209
|
+
const {
|
|
210
|
+
asFragment
|
|
211
|
+
} = renderTabs({
|
|
212
|
+
highlightClass: 'custom-highlight'
|
|
213
|
+
});
|
|
214
|
+
expect(asFragment()).toMatchSnapshot();
|
|
215
|
+
});
|
|
216
|
+
test('Render with className', () => {
|
|
217
|
+
const {
|
|
218
|
+
asFragment
|
|
219
|
+
} = renderTabs({
|
|
220
|
+
className: 'custom-tabs'
|
|
221
|
+
});
|
|
222
|
+
expect(asFragment()).toMatchSnapshot();
|
|
223
|
+
});
|
|
224
|
+
test('Render with containerClass', () => {
|
|
225
|
+
const {
|
|
226
|
+
asFragment
|
|
227
|
+
} = renderTabs({
|
|
228
|
+
containerClass: 'custom-container'
|
|
229
|
+
});
|
|
230
|
+
expect(asFragment()).toMatchSnapshot();
|
|
231
|
+
});
|
|
232
|
+
test('Render with style', () => {
|
|
233
|
+
const {
|
|
234
|
+
asFragment
|
|
235
|
+
} = renderTabs({
|
|
236
|
+
style: {
|
|
237
|
+
width: '100px'
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
expect(asFragment()).toMatchSnapshot();
|
|
241
|
+
});
|
|
242
|
+
test('Render with dataSelectorId', () => {
|
|
243
|
+
const {
|
|
244
|
+
asFragment
|
|
245
|
+
} = renderTabs({
|
|
246
|
+
dataSelectorId: 'tabs-dataSelectorId'
|
|
247
|
+
});
|
|
248
|
+
expect(asFragment()).toMatchSnapshot();
|
|
249
|
+
});
|
|
250
|
+
test('Render with itemClass', () => {
|
|
251
|
+
const {
|
|
252
|
+
asFragment
|
|
253
|
+
} = renderTabs({
|
|
254
|
+
itemClass: 'custom-item'
|
|
255
|
+
});
|
|
256
|
+
expect(asFragment()).toMatchSnapshot();
|
|
257
|
+
});
|
|
258
|
+
test('Render with selectedTab and itemActiveClass', () => {
|
|
259
|
+
const {
|
|
260
|
+
asFragment
|
|
261
|
+
} = renderTabs({
|
|
262
|
+
selectedTab: 't1',
|
|
263
|
+
itemActiveClass: 'custom-item-active'
|
|
264
|
+
});
|
|
265
|
+
expect(asFragment()).toMatchSnapshot();
|
|
266
|
+
});
|
|
267
|
+
test('Render with a non-Tab child', () => {
|
|
268
|
+
const {
|
|
269
|
+
asFragment
|
|
270
|
+
} = renderTabs({}, [...makeTabs(2), /*#__PURE__*/React.createElement("div", {
|
|
271
|
+
key: "other"
|
|
272
|
+
}, "Other content")]);
|
|
273
|
+
expect(asFragment()).toMatchSnapshot();
|
|
274
|
+
}); // only children whose type equals childType are treated as tabs
|
|
275
|
+
|
|
276
|
+
test('Render with childType', () => {
|
|
277
|
+
const {
|
|
278
|
+
asFragment
|
|
279
|
+
} = renderTabs({
|
|
280
|
+
childType: CustomTab
|
|
281
|
+
}, [/*#__PURE__*/React.createElement(CustomTab, {
|
|
282
|
+
key: "c1",
|
|
283
|
+
id: "c1",
|
|
284
|
+
text: "Custom 1"
|
|
285
|
+
}), /*#__PURE__*/React.createElement(Tab, {
|
|
286
|
+
key: "t1",
|
|
287
|
+
id: "t1",
|
|
288
|
+
text: "Tab 1"
|
|
289
|
+
})]);
|
|
290
|
+
expect(asFragment()).toMatchSnapshot();
|
|
291
|
+
}); // a 0-width bar leaves no room, so every tab moves into the more menu
|
|
292
|
+
|
|
293
|
+
test('Render with isResponsive and a 0-width bar', () => {
|
|
294
|
+
const {
|
|
295
|
+
asFragment
|
|
296
|
+
} = render( /*#__PURE__*/React.createElement(Tabs, null, makeTabs(4)));
|
|
297
|
+
expect(asFragment()).toMatchSnapshot();
|
|
298
|
+
});
|
|
299
|
+
test('Render with isResponsive and tabs fitting the bar', () => {
|
|
300
|
+
const {
|
|
301
|
+
asFragment
|
|
302
|
+
} = renderResponsiveTabs({
|
|
303
|
+
selectedTab: 't1'
|
|
304
|
+
}, makeTabs(4), 300);
|
|
305
|
+
expect(asFragment()).toMatchSnapshot();
|
|
306
|
+
});
|
|
307
|
+
test('Render with isResponsive and tabs overflowing the bar', () => {
|
|
308
|
+
const {
|
|
309
|
+
asFragment
|
|
310
|
+
} = renderResponsiveTabs({
|
|
311
|
+
selectedTab: 't1'
|
|
312
|
+
}, makeTabs(4), 100);
|
|
313
|
+
expect(asFragment()).toMatchSnapshot();
|
|
314
|
+
});
|
|
315
|
+
test('Render with isResponsive and a selectedTab that would overflow', () => {
|
|
316
|
+
const {
|
|
317
|
+
asFragment
|
|
318
|
+
} = renderResponsiveTabs({
|
|
319
|
+
selectedTab: 't3'
|
|
320
|
+
}, makeTabs(4), 100);
|
|
321
|
+
expect(asFragment()).toMatchSnapshot();
|
|
322
|
+
});
|
|
323
|
+
test('Render with isResponsive and maxTabsCount as 1', () => {
|
|
324
|
+
const {
|
|
325
|
+
asFragment
|
|
326
|
+
} = renderResponsiveTabs({
|
|
327
|
+
selectedTab: 't1',
|
|
328
|
+
maxTabsCount: 1
|
|
329
|
+
}, makeTabs(4), 300);
|
|
330
|
+
expect(asFragment()).toMatchSnapshot();
|
|
331
|
+
});
|
|
332
|
+
test('Render with isResponsive and minTabsCount as 3', () => {
|
|
333
|
+
const {
|
|
334
|
+
asFragment
|
|
335
|
+
} = renderResponsiveTabs({
|
|
336
|
+
selectedTab: 't1',
|
|
337
|
+
minTabsCount: 3
|
|
338
|
+
}, makeTabs(4), 40);
|
|
339
|
+
expect(asFragment()).toMatchSnapshot();
|
|
340
|
+
});
|
|
341
|
+
test('Render with isResponsive, tabs fitting the bar and a non-Tab child', () => {
|
|
342
|
+
const {
|
|
343
|
+
asFragment
|
|
344
|
+
} = renderResponsiveTabs({
|
|
345
|
+
selectedTab: 't1'
|
|
346
|
+
}, [...makeTabs(2), /*#__PURE__*/React.createElement("div", {
|
|
347
|
+
key: "other"
|
|
348
|
+
}, "Other content")], 300);
|
|
349
|
+
expect(asFragment()).toMatchSnapshot();
|
|
350
|
+
});
|
|
351
|
+
test('Render with isResponsive, overflowing tabs and moreButtonClass', () => {
|
|
352
|
+
const {
|
|
353
|
+
asFragment
|
|
354
|
+
} = renderResponsiveTabs({
|
|
355
|
+
selectedTab: 't1',
|
|
356
|
+
moreButtonClass: 'custom-more-button'
|
|
357
|
+
}, makeTabs(4), 100);
|
|
358
|
+
expect(asFragment()).toMatchSnapshot();
|
|
359
|
+
});
|
|
360
|
+
test('Render with isResponsive, overflowing tabs and moreButtonActiveClass without isPopupOpen', () => {
|
|
361
|
+
const {
|
|
362
|
+
asFragment
|
|
363
|
+
} = renderResponsiveTabs({
|
|
364
|
+
selectedTab: 't1',
|
|
365
|
+
moreButtonActiveClass: 'custom-more-button-active'
|
|
366
|
+
}, makeTabs(4), 100);
|
|
367
|
+
expect(asFragment()).toMatchSnapshot();
|
|
368
|
+
});
|
|
369
|
+
test('Render with isResponsive, overflowing tabs and iconSize', () => {
|
|
370
|
+
const {
|
|
371
|
+
asFragment
|
|
372
|
+
} = renderResponsiveTabs({
|
|
373
|
+
selectedTab: 't1',
|
|
374
|
+
iconSize: '12'
|
|
375
|
+
}, makeTabs(4), 100);
|
|
376
|
+
expect(asFragment()).toMatchSnapshot();
|
|
377
|
+
});
|
|
378
|
+
test('Render with isResponsive, overflowing tabs and dataSelectorId', () => {
|
|
379
|
+
const {
|
|
380
|
+
asFragment
|
|
381
|
+
} = renderResponsiveTabs({
|
|
382
|
+
selectedTab: 't1',
|
|
383
|
+
dataSelectorId: 'tabs-dataSelectorId'
|
|
384
|
+
}, makeTabs(4), 100);
|
|
385
|
+
expect(asFragment()).toMatchSnapshot();
|
|
386
|
+
});
|
|
387
|
+
test('Render with isResponsive, overflowing tabs and customProps MoreButtonProps', () => {
|
|
388
|
+
const {
|
|
389
|
+
asFragment
|
|
390
|
+
} = renderResponsiveTabs({
|
|
391
|
+
selectedTab: 't1',
|
|
392
|
+
customProps: {
|
|
393
|
+
MoreButtonProps: {
|
|
394
|
+
'data-custom-attr': 'true'
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}, makeTabs(4), 100);
|
|
398
|
+
expect(asFragment()).toMatchSnapshot();
|
|
399
|
+
});
|
|
400
|
+
test('Render with isResponsive=false and overflowing tabs', () => {
|
|
401
|
+
const {
|
|
402
|
+
asFragment
|
|
403
|
+
} = renderResponsiveTabs({
|
|
404
|
+
selectedTab: 't1',
|
|
405
|
+
isResponsive: false
|
|
406
|
+
}, makeTabs(4), 100);
|
|
407
|
+
expect(asFragment()).toMatchSnapshot();
|
|
408
|
+
});
|
|
409
|
+
test.each(iconNames)('Render with isResponsive, overflowing tabs and iconName as %s', iconName => {
|
|
410
|
+
const {
|
|
411
|
+
asFragment
|
|
412
|
+
} = renderResponsiveTabs({
|
|
413
|
+
selectedTab: 't1',
|
|
414
|
+
iconName
|
|
415
|
+
});
|
|
416
|
+
expect(asFragment()).toMatchSnapshot();
|
|
417
|
+
}); // the menu content depends on the tabs' own text, title, children and link props
|
|
418
|
+
|
|
419
|
+
const titledTabs = Array.from({
|
|
420
|
+
length: 4
|
|
421
|
+
}, (_, index) => /*#__PURE__*/React.createElement(Tab, {
|
|
422
|
+
key: `t${index + 1}`,
|
|
423
|
+
id: `t${index + 1}`,
|
|
424
|
+
title: `Title ${index + 1}`
|
|
425
|
+
}, /*#__PURE__*/React.createElement("span", null, "Child ", index + 1)));
|
|
426
|
+
const linkTabs = Array.from({
|
|
427
|
+
length: 4
|
|
428
|
+
}, (_, index) => /*#__PURE__*/React.createElement(Tab, {
|
|
429
|
+
key: `t${index + 1}`,
|
|
430
|
+
id: `t${index + 1}`,
|
|
431
|
+
text: `Tab ${index + 1}`,
|
|
432
|
+
isLink: true,
|
|
433
|
+
href: `/tab${index + 1}`
|
|
434
|
+
}));
|
|
435
|
+
test('Render with isPopupOpen', () => {
|
|
436
|
+
const {
|
|
437
|
+
asFragment
|
|
438
|
+
} = renderResponsiveTabs({
|
|
439
|
+
selectedTab: 't1',
|
|
440
|
+
isPopupOpen: true
|
|
441
|
+
});
|
|
442
|
+
expect(asFragment()).toMatchSnapshot();
|
|
443
|
+
});
|
|
444
|
+
test('Render with isPopupOpen, moreButtonClass and moreButtonActiveClass', () => {
|
|
445
|
+
const {
|
|
446
|
+
asFragment
|
|
447
|
+
} = renderResponsiveTabs({
|
|
448
|
+
selectedTab: 't1',
|
|
449
|
+
isPopupOpen: true,
|
|
450
|
+
moreButtonClass: 'custom-more-button',
|
|
451
|
+
moreButtonActiveClass: 'custom-more-button-active'
|
|
452
|
+
});
|
|
453
|
+
expect(asFragment()).toMatchSnapshot();
|
|
454
|
+
});
|
|
455
|
+
test('Render with isPopupOpen and menuItemClass', () => {
|
|
456
|
+
const {
|
|
457
|
+
asFragment
|
|
458
|
+
} = renderResponsiveTabs({
|
|
459
|
+
selectedTab: 't1',
|
|
460
|
+
isPopupOpen: true,
|
|
461
|
+
menuItemClass: 'custom-menu-item'
|
|
462
|
+
});
|
|
463
|
+
expect(asFragment()).toMatchSnapshot();
|
|
464
|
+
});
|
|
465
|
+
test('Render with isPopupOpen and moreBoxClass', () => {
|
|
466
|
+
const {
|
|
467
|
+
asFragment
|
|
468
|
+
} = renderResponsiveTabs({
|
|
469
|
+
selectedTab: 't1',
|
|
470
|
+
isPopupOpen: true,
|
|
471
|
+
moreBoxClass: 'custom-more-box'
|
|
472
|
+
});
|
|
473
|
+
expect(asFragment()).toMatchSnapshot();
|
|
474
|
+
});
|
|
475
|
+
test('Render with isPopupOpen and moreContainerClass', () => {
|
|
476
|
+
const {
|
|
477
|
+
asFragment
|
|
478
|
+
} = renderResponsiveTabs({
|
|
479
|
+
selectedTab: 't1',
|
|
480
|
+
isPopupOpen: true,
|
|
481
|
+
moreContainerClass: 'custom-more-container'
|
|
482
|
+
});
|
|
483
|
+
expect(asFragment()).toMatchSnapshot();
|
|
484
|
+
});
|
|
485
|
+
test('Render with isPopupOpen and dataId', () => {
|
|
486
|
+
const {
|
|
487
|
+
asFragment
|
|
488
|
+
} = renderResponsiveTabs({
|
|
489
|
+
selectedTab: 't1',
|
|
490
|
+
isPopupOpen: true,
|
|
491
|
+
dataId: 'tabs-dataId'
|
|
492
|
+
});
|
|
493
|
+
expect(asFragment()).toMatchSnapshot();
|
|
494
|
+
});
|
|
495
|
+
test('Render with isPopupOpen and align as vertical', () => {
|
|
496
|
+
const {
|
|
497
|
+
asFragment
|
|
498
|
+
} = renderResponsiveTabs({
|
|
499
|
+
selectedTab: 't1',
|
|
500
|
+
isPopupOpen: true,
|
|
501
|
+
align: 'vertical'
|
|
502
|
+
});
|
|
503
|
+
expect(asFragment()).toMatchSnapshot();
|
|
504
|
+
});
|
|
505
|
+
test('Render with isPopupOpen and getCustomDropBoxHeaderPlaceHolder', () => {
|
|
506
|
+
const {
|
|
507
|
+
asFragment
|
|
508
|
+
} = renderResponsiveTabs({
|
|
509
|
+
selectedTab: 't1',
|
|
510
|
+
isPopupOpen: true,
|
|
511
|
+
getCustomDropBoxHeaderPlaceHolder: () => /*#__PURE__*/React.createElement("div", null, "Custom header")
|
|
512
|
+
});
|
|
513
|
+
expect(asFragment()).toMatchSnapshot();
|
|
514
|
+
});
|
|
515
|
+
test('Render with isPopupOpen and customProps DropBoxProps', () => {
|
|
516
|
+
const {
|
|
517
|
+
asFragment
|
|
518
|
+
} = renderResponsiveTabs({
|
|
519
|
+
selectedTab: 't1',
|
|
520
|
+
isPopupOpen: true,
|
|
521
|
+
customProps: {
|
|
522
|
+
DropBoxProps: {
|
|
523
|
+
size: 'large'
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
});
|
|
527
|
+
expect(asFragment()).toMatchSnapshot();
|
|
528
|
+
});
|
|
529
|
+
test('Render with isPopupOpen and customProps ListItemProps', () => {
|
|
530
|
+
const {
|
|
531
|
+
asFragment
|
|
532
|
+
} = renderResponsiveTabs({
|
|
533
|
+
selectedTab: 't1',
|
|
534
|
+
isPopupOpen: true,
|
|
535
|
+
customProps: {
|
|
536
|
+
ListItemProps: {
|
|
537
|
+
palette: 'primary'
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
});
|
|
541
|
+
expect(asFragment()).toMatchSnapshot();
|
|
542
|
+
});
|
|
543
|
+
test('Render with isPopupOpen and itemClass', () => {
|
|
544
|
+
const {
|
|
545
|
+
asFragment
|
|
546
|
+
} = renderResponsiveTabs({
|
|
547
|
+
selectedTab: 't1',
|
|
548
|
+
isPopupOpen: true,
|
|
549
|
+
itemClass: 'custom-item'
|
|
550
|
+
});
|
|
551
|
+
expect(asFragment()).toMatchSnapshot();
|
|
552
|
+
});
|
|
553
|
+
test('Render with isPopupOpen and itemActiveClass', () => {
|
|
554
|
+
const {
|
|
555
|
+
asFragment
|
|
556
|
+
} = renderResponsiveTabs({
|
|
557
|
+
selectedTab: 't1',
|
|
558
|
+
isPopupOpen: true,
|
|
559
|
+
itemActiveClass: 'custom-item-active'
|
|
560
|
+
});
|
|
561
|
+
expect(asFragment()).toMatchSnapshot();
|
|
562
|
+
});
|
|
563
|
+
test('Render with isPopupOpen and tabs without text', () => {
|
|
564
|
+
const {
|
|
565
|
+
asFragment
|
|
566
|
+
} = renderResponsiveTabs({
|
|
567
|
+
selectedTab: 't1',
|
|
568
|
+
isPopupOpen: true
|
|
569
|
+
}, titledTabs);
|
|
570
|
+
expect(asFragment()).toMatchSnapshot();
|
|
571
|
+
});
|
|
572
|
+
test('Render with isPopupOpen, showTitleInMoreOptions and tabs without text', () => {
|
|
573
|
+
const {
|
|
574
|
+
asFragment
|
|
575
|
+
} = renderResponsiveTabs({
|
|
576
|
+
selectedTab: 't1',
|
|
577
|
+
isPopupOpen: true,
|
|
578
|
+
showTitleInMoreOptions: true
|
|
579
|
+
}, titledTabs);
|
|
580
|
+
expect(asFragment()).toMatchSnapshot();
|
|
581
|
+
});
|
|
582
|
+
test('Render with isPopupOpen and link tabs', () => {
|
|
583
|
+
const {
|
|
584
|
+
asFragment
|
|
585
|
+
} = renderResponsiveTabs({
|
|
586
|
+
selectedTab: 't1',
|
|
587
|
+
isPopupOpen: true
|
|
588
|
+
}, linkTabs);
|
|
589
|
+
expect(asFragment()).toMatchSnapshot();
|
|
590
|
+
}); // isPopupOpen has no menu to open when every tab fits in the bar
|
|
591
|
+
|
|
592
|
+
test('Render with isPopupOpen and tabs fitting the bar', () => {
|
|
593
|
+
const {
|
|
594
|
+
asFragment
|
|
595
|
+
} = renderResponsiveTabs({
|
|
596
|
+
selectedTab: 't1',
|
|
597
|
+
isPopupOpen: true
|
|
598
|
+
}, makeTabs(4), 300);
|
|
599
|
+
expect(asFragment()).toMatchSnapshot();
|
|
600
|
+
}); // the search box appears only when more than four tabs are in the menu
|
|
601
|
+
|
|
602
|
+
test('Render with isPopupOpen and more than four tabs in the menu', () => {
|
|
603
|
+
const {
|
|
604
|
+
asFragment
|
|
605
|
+
} = renderResponsiveTabs({
|
|
606
|
+
selectedTab: 't1',
|
|
607
|
+
isPopupOpen: true
|
|
608
|
+
}, makeTabs(7));
|
|
609
|
+
expect(asFragment()).toMatchSnapshot();
|
|
610
|
+
});
|
|
611
|
+
test('Render with isPopupOpen, more than four tabs and placeHolderText', () => {
|
|
612
|
+
const {
|
|
613
|
+
asFragment
|
|
614
|
+
} = renderResponsiveTabs({
|
|
615
|
+
selectedTab: 't1',
|
|
616
|
+
isPopupOpen: true,
|
|
617
|
+
placeHolderText: 'Find a tab'
|
|
618
|
+
}, makeTabs(7));
|
|
619
|
+
expect(asFragment()).toMatchSnapshot();
|
|
620
|
+
});
|
|
621
|
+
test('Render with isPopupOpen, more than four tabs and searchBoxSize as xmedium', () => {
|
|
622
|
+
const {
|
|
623
|
+
asFragment
|
|
624
|
+
} = renderResponsiveTabs({
|
|
625
|
+
selectedTab: 't1',
|
|
626
|
+
isPopupOpen: true,
|
|
627
|
+
searchBoxSize: 'xmedium'
|
|
628
|
+
}, makeTabs(7));
|
|
629
|
+
expect(asFragment()).toMatchSnapshot();
|
|
630
|
+
});
|
|
631
|
+
test('Render with isPopupOpen, more than four tabs and customProps TextBoxIconProps', () => {
|
|
632
|
+
const {
|
|
633
|
+
asFragment
|
|
634
|
+
} = renderResponsiveTabs({
|
|
635
|
+
selectedTab: 't1',
|
|
636
|
+
isPopupOpen: true,
|
|
637
|
+
customProps: {
|
|
638
|
+
TextBoxIconProps: {
|
|
639
|
+
needBorder: false
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
}, makeTabs(7));
|
|
643
|
+
expect(asFragment()).toMatchSnapshot();
|
|
644
|
+
});
|
|
645
|
+
test('Render with search text matching one tab', () => {
|
|
646
|
+
const {
|
|
647
|
+
asFragment,
|
|
648
|
+
getByPlaceholderText
|
|
649
|
+
} = renderResponsiveTabs({
|
|
650
|
+
selectedTab: 't1',
|
|
651
|
+
isPopupOpen: true
|
|
652
|
+
}, makeTabs(7));
|
|
653
|
+
fireEvent.change(getByPlaceholderText('Search'), {
|
|
654
|
+
target: {
|
|
655
|
+
value: 'Tab 5'
|
|
656
|
+
}
|
|
657
|
+
});
|
|
658
|
+
expect(asFragment()).toMatchSnapshot();
|
|
659
|
+
});
|
|
660
|
+
test('Render with search text matching no tab', () => {
|
|
661
|
+
const {
|
|
662
|
+
asFragment,
|
|
663
|
+
getByPlaceholderText
|
|
664
|
+
} = renderResponsiveTabs({
|
|
665
|
+
selectedTab: 't1',
|
|
666
|
+
isPopupOpen: true
|
|
667
|
+
}, makeTabs(7));
|
|
668
|
+
fireEvent.change(getByPlaceholderText('Search'), {
|
|
669
|
+
target: {
|
|
670
|
+
value: 'zzz'
|
|
671
|
+
}
|
|
672
|
+
});
|
|
673
|
+
expect(asFragment()).toMatchSnapshot();
|
|
674
|
+
});
|
|
675
|
+
test('Render with search text matching no tab and searchErrorText', () => {
|
|
676
|
+
const {
|
|
677
|
+
asFragment,
|
|
678
|
+
getByPlaceholderText
|
|
679
|
+
} = renderResponsiveTabs({
|
|
680
|
+
selectedTab: 't1',
|
|
681
|
+
isPopupOpen: true,
|
|
682
|
+
searchErrorText: 'Nothing found'
|
|
683
|
+
}, makeTabs(7));
|
|
684
|
+
fireEvent.change(getByPlaceholderText('Search'), {
|
|
685
|
+
target: {
|
|
686
|
+
value: 'zzz'
|
|
687
|
+
}
|
|
688
|
+
});
|
|
689
|
+
expect(asFragment()).toMatchSnapshot();
|
|
690
|
+
});
|
|
11
691
|
});
|