@dxc-technology/halstack-react 0.0.0-dcd93c4 → 0.0.0-dcee34a
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/HalstackContext.js +98 -50
- package/accordion/Accordion.js +117 -104
- package/accordion/Accordion.stories.tsx +103 -15
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +10 -3
- package/alert/Alert.js +1 -1
- package/alert/Alert.stories.tsx +28 -0
- package/bleed/Bleed.stories.tsx +63 -63
- package/box/Box.js +1 -1
- package/box/Box.stories.tsx +15 -0
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/button/Button.js +50 -70
- package/button/Button.stories.tsx +159 -8
- package/button/types.d.ts +7 -7
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +92 -99
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +6 -2
- package/chip/Chip.js +16 -22
- package/chip/Chip.stories.tsx +96 -9
- package/chip/types.d.ts +1 -1
- package/common/variables.js +328 -260
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/Dialog.js +50 -28
- package/dialog/Dialog.stories.tsx +99 -22
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +504 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +70 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +81 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +177 -219
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/footer/Footer.stories.tsx +99 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +87 -87
- package/header/Header.stories.tsx +152 -9
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/inset/Inset.stories.tsx +4 -4
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +36 -64
- package/layout/ApplicationLayout.stories.tsx +80 -44
- package/layout/types.d.ts +17 -27
- package/link/Link.js +2 -2
- package/link/Link.stories.tsx +72 -5
- package/link/types.d.ts +1 -1
- package/main.d.ts +6 -10
- package/main.js +28 -60
- package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/Tab.js +37 -20
- package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +43 -7
- package/package.json +16 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +6 -12
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +18 -11
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.test.js +13 -12
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +38 -3
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +18 -17
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +24 -24
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -107
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +40 -63
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.js +4 -10
- package/select/Option.js +11 -24
- package/select/Select.js +54 -50
- package/select/Select.stories.tsx +494 -149
- package/select/Select.test.js +338 -272
- package/select/types.d.ts +3 -5
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +174 -55
- package/sidenav/Sidenav.stories.tsx +249 -149
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +120 -95
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +27 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +135 -68
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +144 -17
- package/switch/types.d.ts +6 -2
- package/table/Table.js +1 -1
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +15 -5
- package/tag/Tag.js +1 -1
- package/tag/Tag.stories.tsx +14 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +38 -9
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +195 -292
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +737 -725
- package/text-input/types.d.ts +22 -3
- package/textarea/Textarea.stories.jsx +60 -1
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/types.d.ts +1 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/wizard/Wizard.js +9 -16
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/types.d.ts +5 -4
- package/common/RequiredComponent.js +0 -32
- package/inline/Inline.d.ts +0 -4
- package/inline/Inline.js +0 -60
- package/inline/Inline.stories.tsx +0 -319
- package/inline/types.d.ts +0 -36
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -89
- package/list/types.d.ts +0 -7
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -4
- package/stack/Stack.js +0 -56
- package/stack/Stack.stories.tsx +0 -263
- package/stack/types.d.ts +0 -32
- package/tabs-nav/types.js +0 -5
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{inline → bulleted-list}/types.js +0 -0
- /package/{list → flex}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.test.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{row → nav-tabs}/types.js +0 -0
- /package/{stack → typography}/types.js +0 -0
|
@@ -6,6 +6,10 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
6
6
|
|
|
7
7
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
8
|
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
|
|
9
13
|
var _react = _interopRequireDefault(require("react"));
|
|
10
14
|
|
|
11
15
|
var _react2 = require("@testing-library/react");
|
|
@@ -14,56 +18,55 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
|
14
18
|
|
|
15
19
|
var _TextInput = _interopRequireDefault(require("./TextInput"));
|
|
16
20
|
|
|
21
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
22
|
+
global.globalThis = global;
|
|
23
|
+
|
|
24
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
25
|
+
function ResizeObserver(cb) {
|
|
26
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
27
|
+
this.cb = cb;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
key: "observe",
|
|
32
|
+
value: function observe() {
|
|
33
|
+
this.cb([{
|
|
34
|
+
borderBoxSize: {
|
|
35
|
+
inlineSize: 0,
|
|
36
|
+
blockSize: 0
|
|
37
|
+
}
|
|
38
|
+
}]);
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
key: "unobserve",
|
|
42
|
+
value: function unobserve() {}
|
|
43
|
+
}]);
|
|
44
|
+
return ResizeObserver;
|
|
45
|
+
}();
|
|
46
|
+
|
|
47
|
+
global.DOMRect = {
|
|
48
|
+
fromRect: function fromRect() {
|
|
49
|
+
return {
|
|
50
|
+
top: 0,
|
|
51
|
+
left: 0,
|
|
52
|
+
bottom: 0,
|
|
53
|
+
right: 0,
|
|
54
|
+
width: 0,
|
|
55
|
+
height: 0
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
17
59
|
var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
|
|
60
|
+
var specialCharacters = ["/", "\\", "*", "(", ")", "[", "]", "+", "?", "*{[]}|"];
|
|
18
61
|
describe("TextInput component tests", function () {
|
|
19
|
-
test("Renders with correct
|
|
62
|
+
test("Renders with correct error aria attributes", function () {
|
|
20
63
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
21
|
-
label: "Example label"
|
|
22
|
-
})),
|
|
23
|
-
getByText = _render.getByText;
|
|
24
|
-
|
|
25
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
26
|
-
});
|
|
27
|
-
test("Renders with correct label and helper text", function () {
|
|
28
|
-
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
29
|
-
label: "Example label",
|
|
30
|
-
helperText: "Example helper text"
|
|
31
|
-
})),
|
|
32
|
-
getByText = _render2.getByText;
|
|
33
|
-
|
|
34
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
35
|
-
expect(getByText("Example helper text")).toBeTruthy();
|
|
36
|
-
});
|
|
37
|
-
test("Renders with correct label and optional", function () {
|
|
38
|
-
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
39
|
-
label: "Example label",
|
|
40
|
-
helperText: "Example helper text",
|
|
41
|
-
optional: true
|
|
42
|
-
})),
|
|
43
|
-
getByText = _render3.getByText;
|
|
44
|
-
|
|
45
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
46
|
-
expect(getByText("(Optional)")).toBeTruthy();
|
|
47
|
-
expect(getByText("Example helper text")).toBeTruthy();
|
|
48
|
-
});
|
|
49
|
-
test("Renders with correct placeholder", function () {
|
|
50
|
-
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
51
|
-
label: "Example label",
|
|
52
|
-
placeholder: "Placeholder"
|
|
53
|
-
})),
|
|
54
|
-
getByRole = _render4.getByRole;
|
|
55
|
-
|
|
56
|
-
var input = getByRole("textbox");
|
|
57
|
-
expect(input.getAttribute("placeholder")).toBe("Placeholder");
|
|
58
|
-
});
|
|
59
|
-
test("Renders with error message and correct aria attributes", function () {
|
|
60
|
-
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
61
64
|
label: "Error label",
|
|
62
65
|
placeholder: "Placeholder",
|
|
63
66
|
error: "Error message."
|
|
64
67
|
})),
|
|
65
|
-
getByText =
|
|
66
|
-
getByRole =
|
|
68
|
+
getByText = _render.getByText,
|
|
69
|
+
getByRole = _render.getByRole;
|
|
67
70
|
|
|
68
71
|
var input = getByRole("textbox");
|
|
69
72
|
var errorMessage = getByText("Error message.");
|
|
@@ -73,12 +76,12 @@ describe("TextInput component tests", function () {
|
|
|
73
76
|
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
74
77
|
});
|
|
75
78
|
test("Renders with correct initial value", function () {
|
|
76
|
-
var
|
|
79
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
77
80
|
label: "Default label",
|
|
78
81
|
placeholder: "Placeholder",
|
|
79
82
|
defaultValue: "Example text"
|
|
80
83
|
})),
|
|
81
|
-
getByRole =
|
|
84
|
+
getByRole = _render2.getByRole;
|
|
82
85
|
|
|
83
86
|
var input = getByRole("textbox");
|
|
84
87
|
expect(input.value).toBe("Example text");
|
|
@@ -87,14 +90,14 @@ describe("TextInput component tests", function () {
|
|
|
87
90
|
var onChange = jest.fn();
|
|
88
91
|
var onBlur = jest.fn();
|
|
89
92
|
|
|
90
|
-
var
|
|
93
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
91
94
|
label: "Input label",
|
|
92
95
|
placeholder: "Placeholder",
|
|
93
96
|
onChange: onChange,
|
|
94
97
|
onBlur: onBlur,
|
|
95
98
|
clearable: true
|
|
96
99
|
})),
|
|
97
|
-
getByRole =
|
|
100
|
+
getByRole = _render3.getByRole;
|
|
98
101
|
|
|
99
102
|
var input = getByRole("textbox");
|
|
100
103
|
|
|
@@ -124,13 +127,13 @@ describe("TextInput component tests", function () {
|
|
|
124
127
|
test("Not optional constraint (onChange)", function () {
|
|
125
128
|
var onChange = jest.fn();
|
|
126
129
|
|
|
127
|
-
var
|
|
130
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
128
131
|
label: "Input label",
|
|
129
132
|
placeholder: "Placeholder",
|
|
130
133
|
onChange: onChange,
|
|
131
134
|
clearable: true
|
|
132
135
|
})),
|
|
133
|
-
getByRole =
|
|
136
|
+
getByRole = _render4.getByRole;
|
|
134
137
|
|
|
135
138
|
var input = getByRole("textbox");
|
|
136
139
|
|
|
@@ -157,7 +160,7 @@ describe("TextInput component tests", function () {
|
|
|
157
160
|
var onChange = jest.fn();
|
|
158
161
|
var onBlur = jest.fn();
|
|
159
162
|
|
|
160
|
-
var
|
|
163
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
161
164
|
label: "Input label",
|
|
162
165
|
placeholder: "Placeholder",
|
|
163
166
|
onChange: onChange,
|
|
@@ -169,7 +172,7 @@ describe("TextInput component tests", function () {
|
|
|
169
172
|
clearable: true,
|
|
170
173
|
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
171
174
|
})),
|
|
172
|
-
getByRole =
|
|
175
|
+
getByRole = _render5.getByRole;
|
|
173
176
|
|
|
174
177
|
var input = getByRole("textbox");
|
|
175
178
|
|
|
@@ -217,7 +220,7 @@ describe("TextInput component tests", function () {
|
|
|
217
220
|
var onChange = jest.fn();
|
|
218
221
|
var onBlur = jest.fn();
|
|
219
222
|
|
|
220
|
-
var
|
|
223
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
221
224
|
label: "Input label",
|
|
222
225
|
placeholder: "Placeholder",
|
|
223
226
|
onChange: onChange,
|
|
@@ -230,7 +233,7 @@ describe("TextInput component tests", function () {
|
|
|
230
233
|
minLength: 5,
|
|
231
234
|
maxLength: 10
|
|
232
235
|
})),
|
|
233
|
-
getByRole =
|
|
236
|
+
getByRole = _render6.getByRole;
|
|
234
237
|
|
|
235
238
|
var input = getByRole("textbox");
|
|
236
239
|
|
|
@@ -278,7 +281,7 @@ describe("TextInput component tests", function () {
|
|
|
278
281
|
var onChange = jest.fn();
|
|
279
282
|
var onBlur = jest.fn();
|
|
280
283
|
|
|
281
|
-
var
|
|
284
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
282
285
|
label: "Input label",
|
|
283
286
|
placeholder: "Placeholder",
|
|
284
287
|
onChange: onChange,
|
|
@@ -292,7 +295,7 @@ describe("TextInput component tests", function () {
|
|
|
292
295
|
minLength: 5,
|
|
293
296
|
maxLength: 10
|
|
294
297
|
})),
|
|
295
|
-
getByRole =
|
|
298
|
+
getByRole = _render7.getByRole;
|
|
296
299
|
|
|
297
300
|
var input = getByRole("textbox");
|
|
298
301
|
|
|
@@ -357,11 +360,11 @@ describe("TextInput component tests", function () {
|
|
|
357
360
|
test("onChange function is called correctly", function () {
|
|
358
361
|
var onChange = jest.fn();
|
|
359
362
|
|
|
360
|
-
var
|
|
363
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
361
364
|
label: "Input label",
|
|
362
365
|
onChange: onChange
|
|
363
366
|
})),
|
|
364
|
-
getByRole =
|
|
367
|
+
getByRole = _render8.getByRole;
|
|
365
368
|
|
|
366
369
|
var input = getByRole("textbox");
|
|
367
370
|
|
|
@@ -377,12 +380,12 @@ describe("TextInput component tests", function () {
|
|
|
377
380
|
var onBlur = jest.fn();
|
|
378
381
|
var onChange = jest.fn();
|
|
379
382
|
|
|
380
|
-
var
|
|
383
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
381
384
|
label: "Input label",
|
|
382
385
|
onChange: onChange,
|
|
383
386
|
onBlur: onBlur
|
|
384
387
|
})),
|
|
385
|
-
getByRole =
|
|
388
|
+
getByRole = _render9.getByRole;
|
|
386
389
|
|
|
387
390
|
var input = getByRole("textbox");
|
|
388
391
|
|
|
@@ -399,33 +402,22 @@ describe("TextInput component tests", function () {
|
|
|
399
402
|
value: "Blur test"
|
|
400
403
|
});
|
|
401
404
|
});
|
|
402
|
-
test("Clear action
|
|
403
|
-
var
|
|
405
|
+
test("Clear action tooltip is correct", function () {
|
|
406
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
407
|
+
label: "Input label",
|
|
408
|
+
value: "Text",
|
|
409
|
+
clearable: true
|
|
410
|
+
})),
|
|
411
|
+
getByTitle = _render10.getByTitle;
|
|
404
412
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
switch (_context.prev = _context.next) {
|
|
408
|
-
case 0:
|
|
409
|
-
_render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
410
|
-
label: "Input label",
|
|
411
|
-
value: "Text",
|
|
412
|
-
clearable: true
|
|
413
|
-
})), getByTitle = _render14.getByTitle;
|
|
414
|
-
expect(getByTitle("Clear field")).toBeTruthy();
|
|
415
|
-
|
|
416
|
-
case 2:
|
|
417
|
-
case "end":
|
|
418
|
-
return _context.stop();
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
}, _callee);
|
|
422
|
-
})));
|
|
413
|
+
expect(getByTitle("Clear field")).toBeTruthy();
|
|
414
|
+
});
|
|
423
415
|
test("Clear action onClick cleans the input", function () {
|
|
424
|
-
var
|
|
416
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
425
417
|
label: "Input label",
|
|
426
418
|
clearable: true
|
|
427
419
|
})),
|
|
428
|
-
getByRole =
|
|
420
|
+
getByRole = _render11.getByRole;
|
|
429
421
|
|
|
430
422
|
var input = getByRole("textbox");
|
|
431
423
|
|
|
@@ -440,15 +432,14 @@ describe("TextInput component tests", function () {
|
|
|
440
432
|
test("Disabled input renders with correct aria and can not be modified", function () {
|
|
441
433
|
var onChange = jest.fn();
|
|
442
434
|
|
|
443
|
-
var
|
|
435
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
444
436
|
label: "Input label",
|
|
445
437
|
onChange: onChange,
|
|
446
438
|
disabled: true
|
|
447
439
|
})),
|
|
448
|
-
getByRole =
|
|
440
|
+
getByRole = _render12.getByRole;
|
|
449
441
|
|
|
450
442
|
var input = getByRole("textbox");
|
|
451
|
-
expect(input.getAttribute("aria-disabled")).toBe("true");
|
|
452
443
|
|
|
453
444
|
_userEvent["default"].type(input, "Test");
|
|
454
445
|
|
|
@@ -473,12 +464,12 @@ describe("TextInput component tests", function () {
|
|
|
473
464
|
}))
|
|
474
465
|
};
|
|
475
466
|
|
|
476
|
-
var
|
|
467
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
477
468
|
label: "Disabled input label",
|
|
478
469
|
action: action,
|
|
479
470
|
disabled: true
|
|
480
471
|
})),
|
|
481
|
-
getByRole =
|
|
472
|
+
getByRole = _render13.getByRole;
|
|
482
473
|
|
|
483
474
|
var input = getByRole("textbox");
|
|
484
475
|
expect(input.disabled).toBeTruthy();
|
|
@@ -488,29 +479,29 @@ describe("TextInput component tests", function () {
|
|
|
488
479
|
expect(onClick).not.toHaveBeenCalled();
|
|
489
480
|
});
|
|
490
481
|
test("Disabled input (clear default action should not be displayed, even with text written on the input)", function () {
|
|
491
|
-
var
|
|
482
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
492
483
|
label: "Disabled input label",
|
|
493
484
|
value: "Sample text",
|
|
494
485
|
disabled: true,
|
|
495
486
|
clearable: true
|
|
496
487
|
})),
|
|
497
|
-
getByRole =
|
|
498
|
-
queryByRole =
|
|
488
|
+
getByRole = _render14.getByRole,
|
|
489
|
+
queryByRole = _render14.queryByRole;
|
|
499
490
|
|
|
500
491
|
var input = getByRole("textbox");
|
|
501
492
|
expect(input.disabled).toBeTruthy();
|
|
502
493
|
expect(queryByRole("button")).toBeFalsy();
|
|
503
494
|
});
|
|
504
495
|
test("Disabled input (suffix and preffix must be displayed)", function () {
|
|
505
|
-
var
|
|
496
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
506
497
|
label: "Disabled input label",
|
|
507
498
|
value: "Sample text",
|
|
508
499
|
prefix: "+34",
|
|
509
500
|
suffix: "USD",
|
|
510
501
|
disabled: true
|
|
511
502
|
})),
|
|
512
|
-
getByRole =
|
|
513
|
-
getByText =
|
|
503
|
+
getByRole = _render15.getByRole,
|
|
504
|
+
getByText = _render15.getByText;
|
|
514
505
|
|
|
515
506
|
var input = getByRole("textbox");
|
|
516
507
|
expect(input.disabled).toBeTruthy();
|
|
@@ -537,13 +528,13 @@ describe("TextInput component tests", function () {
|
|
|
537
528
|
title: "Search"
|
|
538
529
|
};
|
|
539
530
|
|
|
540
|
-
var
|
|
531
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
541
532
|
label: "Input label",
|
|
542
533
|
action: action
|
|
543
534
|
})),
|
|
544
|
-
getByRole =
|
|
545
|
-
getByTestId =
|
|
546
|
-
getByTitle =
|
|
535
|
+
getByRole = _render16.getByRole,
|
|
536
|
+
getByTestId = _render16.getByTestId,
|
|
537
|
+
getByTitle = _render16.getByTitle;
|
|
547
538
|
|
|
548
539
|
expect(getByTestId("image")).toBeTruthy();
|
|
549
540
|
expect(getByTitle("Search")).toBeTruthy();
|
|
@@ -552,18 +543,75 @@ describe("TextInput component tests", function () {
|
|
|
552
543
|
|
|
553
544
|
expect(onClick).toHaveBeenCalled();
|
|
554
545
|
});
|
|
546
|
+
test("Text input submit correctly value in form", function () {
|
|
547
|
+
var onClick = jest.fn();
|
|
548
|
+
var action = {
|
|
549
|
+
onClick: onClick,
|
|
550
|
+
icon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
551
|
+
"data-testid": "image",
|
|
552
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
553
|
+
height: "24px",
|
|
554
|
+
viewBox: "0 0 24 24",
|
|
555
|
+
width: "24px",
|
|
556
|
+
fill: "currentColor"
|
|
557
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
558
|
+
d: "M0 0h24v24H0V0z",
|
|
559
|
+
fill: "none"
|
|
560
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
561
|
+
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
|
|
562
|
+
})),
|
|
563
|
+
title: "Search"
|
|
564
|
+
};
|
|
565
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
566
|
+
e.preventDefault();
|
|
567
|
+
var formData = new FormData(e.target);
|
|
568
|
+
var formProps = Object.fromEntries(formData);
|
|
569
|
+
expect(formProps).toStrictEqual({
|
|
570
|
+
data: "test"
|
|
571
|
+
});
|
|
572
|
+
});
|
|
573
|
+
|
|
574
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
575
|
+
onSubmit: handlerOnSubmit
|
|
576
|
+
}, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
577
|
+
label: "Input label",
|
|
578
|
+
name: "data",
|
|
579
|
+
action: action
|
|
580
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
581
|
+
type: "submit"
|
|
582
|
+
}, "Submit"))),
|
|
583
|
+
getByText = _render17.getByText,
|
|
584
|
+
getAllByRole = _render17.getAllByRole,
|
|
585
|
+
getByRole = _render17.getByRole;
|
|
586
|
+
|
|
587
|
+
var search = getAllByRole("button")[0];
|
|
588
|
+
var submit = getByText("Submit");
|
|
589
|
+
var input = getByRole("textbox");
|
|
590
|
+
|
|
591
|
+
_userEvent["default"].type(input, "test");
|
|
592
|
+
|
|
593
|
+
expect(input.value).toBe("test");
|
|
594
|
+
|
|
595
|
+
_userEvent["default"].click(search);
|
|
596
|
+
|
|
597
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
598
|
+
|
|
599
|
+
_userEvent["default"].click(submit);
|
|
600
|
+
|
|
601
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
602
|
+
});
|
|
555
603
|
test("Renders with correct prefix and suffix", function () {
|
|
556
|
-
var
|
|
604
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
557
605
|
label: "Input label",
|
|
558
606
|
prefix: "+34",
|
|
559
607
|
suffix: "USD"
|
|
560
608
|
})),
|
|
561
|
-
getByText =
|
|
609
|
+
getByText = _render18.getByText;
|
|
562
610
|
|
|
563
611
|
expect(getByText("+34")).toBeTruthy();
|
|
564
612
|
expect(getByText("USD")).toBeTruthy();
|
|
565
613
|
});
|
|
566
|
-
test("Input has correct accesibility attributes", function () {
|
|
614
|
+
test("Text Input has correct aria accesibility attributes", function () {
|
|
567
615
|
var onClick = jest.fn();
|
|
568
616
|
var action = {
|
|
569
617
|
onClick: onClick,
|
|
@@ -583,18 +631,19 @@ describe("TextInput component tests", function () {
|
|
|
583
631
|
title: "Search"
|
|
584
632
|
};
|
|
585
633
|
|
|
586
|
-
var
|
|
634
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
587
635
|
label: "Example label",
|
|
588
636
|
clearable: true,
|
|
589
637
|
action: action
|
|
590
638
|
})),
|
|
591
|
-
getByRole =
|
|
592
|
-
getAllByRole =
|
|
639
|
+
getByRole = _render19.getByRole,
|
|
640
|
+
getAllByRole = _render19.getAllByRole;
|
|
593
641
|
|
|
594
642
|
var input = getByRole("textbox");
|
|
595
643
|
expect(input.getAttribute("aria-autocomplete")).toBeNull();
|
|
596
644
|
expect(input.getAttribute("aria-controls")).toBeNull();
|
|
597
645
|
expect(input.getAttribute("aria-expanded")).toBeNull();
|
|
646
|
+
expect(input.getAttribute("aria-haspopup")).toBeNull();
|
|
598
647
|
expect(input.getAttribute("aria-activedescendant")).toBeNull();
|
|
599
648
|
expect(input.getAttribute("aria-invalid")).toBe("false");
|
|
600
649
|
expect(input.getAttribute("aria-errormessage")).toBeNull();
|
|
@@ -608,17 +657,18 @@ describe("TextInput component tests", function () {
|
|
|
608
657
|
expect(search.getAttribute("aria-label")).toBe("Search");
|
|
609
658
|
});
|
|
610
659
|
test("Autosuggest has correct accesibility attributes", function () {
|
|
611
|
-
var
|
|
660
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
612
661
|
label: "Autocomplete Countries",
|
|
613
662
|
optional: true,
|
|
614
663
|
suggestions: countries
|
|
615
664
|
})),
|
|
616
|
-
getByRole =
|
|
617
|
-
getAllByRole =
|
|
665
|
+
getByRole = _render20.getByRole,
|
|
666
|
+
getAllByRole = _render20.getAllByRole;
|
|
618
667
|
|
|
619
668
|
var input = getByRole("combobox");
|
|
620
669
|
expect(input.getAttribute("aria-autocomplete")).toBe("list");
|
|
621
670
|
expect(input.getAttribute("aria-expanded")).toBe("false");
|
|
671
|
+
expect(input.getAttribute("aria-haspopup")).toBe("listbox");
|
|
622
672
|
expect(input.getAttribute("aria-required")).toBe("false");
|
|
623
673
|
|
|
624
674
|
_react2.fireEvent.focus(input);
|
|
@@ -626,121 +676,95 @@ describe("TextInput component tests", function () {
|
|
|
626
676
|
var list = getByRole("listbox");
|
|
627
677
|
expect(input.getAttribute("aria-controls")).toBe(list.id);
|
|
628
678
|
expect(input.getAttribute("aria-expanded")).toBe("true");
|
|
629
|
-
expect(list.getAttribute("aria-label")).toBe("Autocomplete Countries");
|
|
630
679
|
var options = getAllByRole("option");
|
|
631
680
|
expect(options[0].getAttribute("aria-selected")).toBeNull();
|
|
632
681
|
});
|
|
633
682
|
});
|
|
634
683
|
describe("TextInput component synchronous autosuggest tests", function () {
|
|
635
|
-
test("Autosuggest is displayed when the input gains focus",
|
|
636
|
-
var onChange
|
|
684
|
+
test("Autosuggest is displayed when the input gains focus", function () {
|
|
685
|
+
var onChange = jest.fn();
|
|
637
686
|
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
suggestions: countries,
|
|
646
|
-
onChange: onChange
|
|
647
|
-
})), getByRole = _render24.getByRole, getByText = _render24.getByText;
|
|
648
|
-
input = getByRole("combobox");
|
|
687
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
688
|
+
label: "Autocomplete Countries",
|
|
689
|
+
suggestions: countries,
|
|
690
|
+
onChange: onChange
|
|
691
|
+
})),
|
|
692
|
+
getByRole = _render21.getByRole,
|
|
693
|
+
getByText = _render21.getByText;
|
|
649
694
|
|
|
650
|
-
|
|
695
|
+
var input = getByRole("combobox");
|
|
651
696
|
|
|
652
|
-
|
|
653
|
-
expect(list).toBeTruthy();
|
|
654
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
655
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
656
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
657
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
697
|
+
_react2.fireEvent.focus(input);
|
|
658
698
|
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
})
|
|
666
|
-
test("Autosuggest is displayed when the user clicks the input",
|
|
667
|
-
var onChange
|
|
699
|
+
var list = getByRole("listbox");
|
|
700
|
+
expect(list).toBeTruthy();
|
|
701
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
702
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
703
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
704
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
705
|
+
});
|
|
706
|
+
test("Autosuggest is displayed when the user clicks the input", function () {
|
|
707
|
+
var onChange = jest.fn();
|
|
668
708
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
suggestions: countries,
|
|
677
|
-
onChange: onChange
|
|
678
|
-
})), getByRole = _render25.getByRole, getByText = _render25.getByText;
|
|
679
|
-
input = getByRole("combobox");
|
|
709
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
710
|
+
label: "Autocomplete Countries",
|
|
711
|
+
suggestions: countries,
|
|
712
|
+
onChange: onChange
|
|
713
|
+
})),
|
|
714
|
+
getByRole = _render22.getByRole,
|
|
715
|
+
getByText = _render22.getByText;
|
|
680
716
|
|
|
681
|
-
|
|
717
|
+
var input = getByRole("combobox");
|
|
682
718
|
|
|
683
|
-
|
|
684
|
-
expect(list).toBeTruthy();
|
|
685
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
686
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
687
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
688
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
719
|
+
_react2.fireEvent.focus(input);
|
|
689
720
|
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
})
|
|
697
|
-
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)",
|
|
698
|
-
var onChange
|
|
721
|
+
var list = getByRole("listbox");
|
|
722
|
+
expect(list).toBeTruthy();
|
|
723
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
724
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
725
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
726
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
727
|
+
});
|
|
728
|
+
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)", function () {
|
|
729
|
+
var onChange = jest.fn();
|
|
699
730
|
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
})), getByRole = _render26.getByRole, queryByRole = _render26.queryByRole, getByText = _render26.getByText, getAllByText = _render26.getAllByText;
|
|
710
|
-
input = getByRole("combobox");
|
|
731
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
732
|
+
label: "Autocomplete Countries",
|
|
733
|
+
suggestions: countries,
|
|
734
|
+
onChange: onChange
|
|
735
|
+
})),
|
|
736
|
+
getByRole = _render23.getByRole,
|
|
737
|
+
queryByRole = _render23.queryByRole,
|
|
738
|
+
getByText = _render23.getByText,
|
|
739
|
+
getAllByText = _render23.getAllByText;
|
|
711
740
|
|
|
712
|
-
|
|
741
|
+
var input = getByRole("combobox");
|
|
713
742
|
|
|
714
|
-
|
|
715
|
-
expect(list).toBeTruthy();
|
|
743
|
+
_react2.fireEvent.focus(input);
|
|
716
744
|
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
code: "Esc",
|
|
720
|
-
keyCode: 27,
|
|
721
|
-
charCode: 27
|
|
722
|
-
});
|
|
745
|
+
var list = getByRole("listbox");
|
|
746
|
+
expect(list).toBeTruthy();
|
|
723
747
|
|
|
724
|
-
|
|
748
|
+
_react2.fireEvent.keyDown(input, {
|
|
749
|
+
key: "Esc",
|
|
750
|
+
code: "Esc",
|
|
751
|
+
keyCode: 27,
|
|
752
|
+
charCode: 27
|
|
753
|
+
});
|
|
725
754
|
|
|
726
|
-
|
|
755
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
727
756
|
|
|
728
|
-
|
|
729
|
-
expect(getAllByText("B").length).toBe(4);
|
|
730
|
-
expect(getByText("ahamas")).toBeTruthy();
|
|
731
|
-
expect(getByText("ahrain")).toBeTruthy();
|
|
732
|
-
expect(getByText("angladesh")).toBeTruthy();
|
|
733
|
-
expect(getByText("arbados")).toBeTruthy();
|
|
757
|
+
_userEvent["default"].type(input, "B");
|
|
734
758
|
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
})
|
|
759
|
+
expect(list).toBeTruthy();
|
|
760
|
+
expect(getAllByText("B").length).toBe(4);
|
|
761
|
+
expect(getByText("ahamas")).toBeTruthy();
|
|
762
|
+
expect(getByText("ahrain")).toBeTruthy();
|
|
763
|
+
expect(getByText("angladesh")).toBeTruthy();
|
|
764
|
+
expect(getByText("arbados")).toBeTruthy();
|
|
765
|
+
});
|
|
742
766
|
test("Autosuggest displays filtered when the input has a default value", function () {
|
|
743
|
-
var
|
|
767
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
744
768
|
label: "Uncontrolled suggestions filtered by default",
|
|
745
769
|
helperText: "Example of helper text",
|
|
746
770
|
placeholder: "Placeholder",
|
|
@@ -749,9 +773,9 @@ describe("TextInput component synchronous autosuggest tests", function () {
|
|
|
749
773
|
suggestions: ["Suggestion 11", "Suggestion 12", "Suggestion 23", "Suggestion 24"],
|
|
750
774
|
clearable: true
|
|
751
775
|
})),
|
|
752
|
-
getByRole =
|
|
753
|
-
getByText =
|
|
754
|
-
getAllByText =
|
|
776
|
+
getByRole = _render24.getByRole,
|
|
777
|
+
getByText = _render24.getByText,
|
|
778
|
+
getAllByText = _render24.getAllByText;
|
|
755
779
|
|
|
756
780
|
var input = getByRole("combobox");
|
|
757
781
|
expect(input.value).toBe("Suggestion 2");
|
|
@@ -762,517 +786,511 @@ describe("TextInput component synchronous autosuggest tests", function () {
|
|
|
762
786
|
expect(getByText("3")).toBeTruthy();
|
|
763
787
|
expect(getByText("4")).toBeTruthy();
|
|
764
788
|
});
|
|
765
|
-
test("Autosuggest is not displayed when prop suggestions is an empty array",
|
|
766
|
-
var onChange
|
|
767
|
-
|
|
768
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
769
|
-
while (1) {
|
|
770
|
-
switch (_context5.prev = _context5.next) {
|
|
771
|
-
case 0:
|
|
772
|
-
onChange = jest.fn();
|
|
773
|
-
_render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
774
|
-
label: "Autocomplete Countries",
|
|
775
|
-
suggestions: [],
|
|
776
|
-
onChange: onChange
|
|
777
|
-
})), queryByRole = _render28.queryByRole;
|
|
778
|
-
input = queryByRole("textbox");
|
|
789
|
+
test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
|
|
790
|
+
var onChange = jest.fn();
|
|
779
791
|
|
|
780
|
-
|
|
792
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
793
|
+
label: "Autocomplete Countries",
|
|
794
|
+
suggestions: [],
|
|
795
|
+
onChange: onChange
|
|
796
|
+
})),
|
|
797
|
+
queryByRole = _render25.queryByRole;
|
|
781
798
|
|
|
782
|
-
|
|
799
|
+
var input = queryByRole("textbox");
|
|
783
800
|
|
|
784
|
-
|
|
785
|
-
case "end":
|
|
786
|
-
return _context5.stop();
|
|
787
|
-
}
|
|
788
|
-
}
|
|
789
|
-
}, _callee5);
|
|
790
|
-
})));
|
|
791
|
-
test("Autosuggest closes the listbox when there are no matches for the user's input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
792
|
-
var onChange, _render29, getByRole, queryByRole, getByText, input, list;
|
|
801
|
+
_react2.fireEvent.focus(input);
|
|
793
802
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
onChange = jest.fn();
|
|
799
|
-
_render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
800
|
-
label: "Autocomplete Countries",
|
|
801
|
-
suggestions: countries,
|
|
802
|
-
onChange: onChange
|
|
803
|
-
})), getByRole = _render29.getByRole, queryByRole = _render29.queryByRole, getByText = _render29.getByText;
|
|
804
|
-
input = getByRole("combobox");
|
|
803
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
804
|
+
});
|
|
805
|
+
test("Autosuggest closes the listbox when there are no matches for the user's input", function () {
|
|
806
|
+
var onChange = jest.fn();
|
|
805
807
|
|
|
806
|
-
|
|
808
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
809
|
+
label: "Autocomplete Countries",
|
|
810
|
+
suggestions: countries,
|
|
811
|
+
onChange: onChange
|
|
812
|
+
})),
|
|
813
|
+
getByRole = _render26.getByRole,
|
|
814
|
+
queryByRole = _render26.queryByRole,
|
|
815
|
+
getByText = _render26.getByText;
|
|
807
816
|
|
|
808
|
-
|
|
809
|
-
expect(list).toBeTruthy();
|
|
810
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
817
|
+
var input = getByRole("combobox");
|
|
811
818
|
|
|
812
|
-
|
|
819
|
+
_react2.fireEvent.focus(input);
|
|
813
820
|
|
|
814
|
-
|
|
821
|
+
var list = getByRole("listbox");
|
|
822
|
+
expect(list).toBeTruthy();
|
|
823
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
815
824
|
|
|
816
|
-
|
|
817
|
-
case "end":
|
|
818
|
-
return _context6.stop();
|
|
819
|
-
}
|
|
820
|
-
}
|
|
821
|
-
}, _callee6);
|
|
822
|
-
})));
|
|
823
|
-
test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
824
|
-
var onChange, _render30, getByRole, queryByRole, getByText, input, list;
|
|
825
|
+
_userEvent["default"].type(input, "x");
|
|
825
826
|
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
onChange = jest.fn();
|
|
831
|
-
_render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
832
|
-
label: "Autocomplete Countries",
|
|
833
|
-
suggestions: countries,
|
|
834
|
-
onChange: onChange
|
|
835
|
-
})), getByRole = _render30.getByRole, queryByRole = _render30.queryByRole, getByText = _render30.getByText;
|
|
836
|
-
input = getByRole("combobox");
|
|
827
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
828
|
+
});
|
|
829
|
+
test("Autosuggest with no matches founded doesn't let the listbox to be opened", function () {
|
|
830
|
+
var onChange = jest.fn();
|
|
837
831
|
|
|
838
|
-
|
|
832
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
833
|
+
label: "Autocomplete Countries",
|
|
834
|
+
suggestions: countries,
|
|
835
|
+
onChange: onChange
|
|
836
|
+
})),
|
|
837
|
+
getByRole = _render27.getByRole,
|
|
838
|
+
queryByRole = _render27.queryByRole,
|
|
839
|
+
getByText = _render27.getByText;
|
|
839
840
|
|
|
840
|
-
|
|
841
|
-
expect(list).toBeTruthy();
|
|
842
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
841
|
+
var input = getByRole("combobox");
|
|
843
842
|
|
|
844
|
-
|
|
843
|
+
_react2.fireEvent.focus(input);
|
|
845
844
|
|
|
846
|
-
|
|
845
|
+
var list = getByRole("listbox");
|
|
846
|
+
expect(list).toBeTruthy();
|
|
847
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
847
848
|
|
|
848
|
-
|
|
849
|
+
_userEvent["default"].type(input, "x");
|
|
849
850
|
|
|
850
|
-
|
|
851
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
851
852
|
|
|
852
|
-
|
|
853
|
-
key: "ArrowUp",
|
|
854
|
-
code: "ArrowUp",
|
|
855
|
-
keyCode: 38,
|
|
856
|
-
charCode: 38
|
|
857
|
-
});
|
|
853
|
+
_react2.fireEvent.focus(input);
|
|
858
854
|
|
|
859
|
-
|
|
855
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
860
856
|
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
857
|
+
_react2.fireEvent.keyDown(input, {
|
|
858
|
+
key: "ArrowUp",
|
|
859
|
+
code: "ArrowUp",
|
|
860
|
+
keyCode: 38,
|
|
861
|
+
charCode: 38
|
|
862
|
+
});
|
|
867
863
|
|
|
868
|
-
|
|
864
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
869
865
|
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
}
|
|
876
|
-
})));
|
|
877
|
-
test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
878
|
-
var onChange, _render31, getByRole, getByText, queryByRole, input;
|
|
866
|
+
_react2.fireEvent.keyDown(input, {
|
|
867
|
+
key: "ArrowDown",
|
|
868
|
+
code: "ArrowDown",
|
|
869
|
+
keyCode: 40,
|
|
870
|
+
charCode: 40
|
|
871
|
+
});
|
|
879
872
|
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
onChange = jest.fn();
|
|
885
|
-
_render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
886
|
-
label: "Autocomplete Countries",
|
|
887
|
-
suggestions: countries,
|
|
888
|
-
onChange: onChange
|
|
889
|
-
})), getByRole = _render31.getByRole, getByText = _render31.getByText, queryByRole = _render31.queryByRole;
|
|
890
|
-
input = getByRole("combobox");
|
|
873
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
874
|
+
});
|
|
875
|
+
test("Autosuggest uncontrolled - Suggestion selected by click", function () {
|
|
876
|
+
var onChange = jest.fn();
|
|
891
877
|
|
|
892
|
-
|
|
878
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
879
|
+
label: "Autocomplete Countries",
|
|
880
|
+
suggestions: countries,
|
|
881
|
+
onChange: onChange
|
|
882
|
+
})),
|
|
883
|
+
getByRole = _render28.getByRole,
|
|
884
|
+
getByText = _render28.getByText,
|
|
885
|
+
queryByRole = _render28.queryByRole;
|
|
893
886
|
|
|
894
|
-
|
|
887
|
+
var input = getByRole("combobox");
|
|
895
888
|
|
|
896
|
-
|
|
897
|
-
expect(getByText("Alba")).toBeTruthy();
|
|
898
|
-
expect(getByText("nia")).toBeTruthy();
|
|
889
|
+
_react2.fireEvent.focus(input);
|
|
899
890
|
|
|
900
|
-
|
|
891
|
+
_userEvent["default"].type(input, "Alba");
|
|
901
892
|
|
|
902
|
-
|
|
903
|
-
|
|
893
|
+
expect(onChange).toHaveBeenCalled();
|
|
894
|
+
expect(getByText("Alba")).toBeTruthy();
|
|
895
|
+
expect(getByText("nia")).toBeTruthy();
|
|
904
896
|
|
|
905
|
-
|
|
906
|
-
case "end":
|
|
907
|
-
return _context8.stop();
|
|
908
|
-
}
|
|
909
|
-
}
|
|
910
|
-
}, _callee8);
|
|
911
|
-
})));
|
|
912
|
-
test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
913
|
-
var onChange, _render32, getByRole, getByText, queryByRole, input;
|
|
897
|
+
_userEvent["default"].click(getByRole("option"));
|
|
914
898
|
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
_render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
921
|
-
label: "Autocomplete Countries",
|
|
922
|
-
value: "Andor",
|
|
923
|
-
suggestions: countries,
|
|
924
|
-
onChange: onChange
|
|
925
|
-
})), getByRole = _render32.getByRole, getByText = _render32.getByText, queryByRole = _render32.queryByRole;
|
|
926
|
-
input = getByRole("combobox");
|
|
899
|
+
expect(input.value).toBe("Albania");
|
|
900
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
901
|
+
});
|
|
902
|
+
test("Autosuggest controlled - Suggestion selected by click", function () {
|
|
903
|
+
var onChange = jest.fn();
|
|
927
904
|
|
|
928
|
-
|
|
905
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
906
|
+
label: "Autocomplete Countries",
|
|
907
|
+
value: "Andor",
|
|
908
|
+
suggestions: countries,
|
|
909
|
+
onChange: onChange
|
|
910
|
+
})),
|
|
911
|
+
getByRole = _render29.getByRole,
|
|
912
|
+
getByText = _render29.getByText,
|
|
913
|
+
queryByRole = _render29.queryByRole;
|
|
929
914
|
|
|
930
|
-
|
|
931
|
-
expect(getByText("Andor")).toBeTruthy();
|
|
932
|
-
expect(getByText("ra")).toBeTruthy();
|
|
915
|
+
var input = getByRole("combobox");
|
|
933
916
|
|
|
934
|
-
|
|
917
|
+
_userEvent["default"].click(getByText("Autocomplete Countries"));
|
|
935
918
|
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
919
|
+
expect(input.value).toBe("Andor");
|
|
920
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
921
|
+
expect(getByText("ra")).toBeTruthy();
|
|
940
922
|
|
|
941
|
-
|
|
942
|
-
case "end":
|
|
943
|
-
return _context9.stop();
|
|
944
|
-
}
|
|
945
|
-
}
|
|
946
|
-
}, _callee9);
|
|
947
|
-
})));
|
|
948
|
-
test("Autosuggest - Pattern constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
949
|
-
var onChange, onBlur, _render33, getByRole, getByText, input;
|
|
923
|
+
_userEvent["default"].click(getByRole("option"));
|
|
950
924
|
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
suggestions: countries,
|
|
960
|
-
onChange: onChange,
|
|
961
|
-
onBlur: onBlur,
|
|
962
|
-
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
963
|
-
})), getByRole = _render33.getByRole, getByText = _render33.getByText;
|
|
964
|
-
input = getByRole("combobox");
|
|
925
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
926
|
+
value: "Andorra"
|
|
927
|
+
});
|
|
928
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
929
|
+
});
|
|
930
|
+
test("Autosuggest - Pattern constraint", function () {
|
|
931
|
+
var onChange = jest.fn();
|
|
932
|
+
var onBlur = jest.fn();
|
|
965
933
|
|
|
966
|
-
|
|
934
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
935
|
+
label: "Autocomplete Countries",
|
|
936
|
+
suggestions: countries,
|
|
937
|
+
onChange: onChange,
|
|
938
|
+
onBlur: onBlur,
|
|
939
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
940
|
+
})),
|
|
941
|
+
getByRole = _render30.getByRole,
|
|
942
|
+
getByText = _render30.getByText;
|
|
967
943
|
|
|
968
|
-
|
|
944
|
+
var input = getByRole("combobox");
|
|
969
945
|
|
|
970
|
-
|
|
971
|
-
expect(getByText("ra")).toBeTruthy();
|
|
946
|
+
_react2.fireEvent.focus(input);
|
|
972
947
|
|
|
973
|
-
|
|
948
|
+
_userEvent["default"].type(input, "Andor");
|
|
974
949
|
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
error: "Please match the format requested."
|
|
978
|
-
});
|
|
950
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
951
|
+
expect(getByText("ra")).toBeTruthy();
|
|
979
952
|
|
|
980
|
-
|
|
953
|
+
_userEvent["default"].click(getByRole("option"));
|
|
981
954
|
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
955
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
956
|
+
value: "Andorra",
|
|
957
|
+
error: "Please match the format requested."
|
|
958
|
+
});
|
|
986
959
|
|
|
987
|
-
|
|
988
|
-
case "end":
|
|
989
|
-
return _context10.stop();
|
|
990
|
-
}
|
|
991
|
-
}
|
|
992
|
-
}, _callee10);
|
|
993
|
-
})));
|
|
994
|
-
test("Autosuggest - Length constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
995
|
-
var onChange, onBlur, _render34, getByText, getByRole, input;
|
|
960
|
+
_react2.fireEvent.blur(input);
|
|
996
961
|
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
suggestions: countries,
|
|
1006
|
-
onChange: onChange,
|
|
1007
|
-
onBlur: onBlur,
|
|
1008
|
-
minLength: 5,
|
|
1009
|
-
maxLength: 10
|
|
1010
|
-
})), getByText = _render34.getByText, getByRole = _render34.getByRole;
|
|
1011
|
-
input = getByRole("combobox");
|
|
962
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
963
|
+
value: "Andorra",
|
|
964
|
+
error: "Please match the format requested."
|
|
965
|
+
});
|
|
966
|
+
});
|
|
967
|
+
test("Autosuggest - Length constraint", function () {
|
|
968
|
+
var onChange = jest.fn();
|
|
969
|
+
var onBlur = jest.fn();
|
|
1012
970
|
|
|
1013
|
-
|
|
971
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
972
|
+
label: "Autocomplete Countries",
|
|
973
|
+
suggestions: countries,
|
|
974
|
+
onChange: onChange,
|
|
975
|
+
onBlur: onBlur,
|
|
976
|
+
minLength: 5,
|
|
977
|
+
maxLength: 10
|
|
978
|
+
})),
|
|
979
|
+
getByText = _render31.getByText,
|
|
980
|
+
getByRole = _render31.getByRole;
|
|
1014
981
|
|
|
1015
|
-
|
|
982
|
+
var input = getByRole("combobox");
|
|
1016
983
|
|
|
1017
|
-
|
|
1018
|
-
expect(getByText("d")).toBeTruthy();
|
|
984
|
+
_react2.fireEvent.focus(input);
|
|
1019
985
|
|
|
1020
|
-
|
|
986
|
+
_userEvent["default"].type(input, "Cha");
|
|
1021
987
|
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
error: "Min length 5, max length 10."
|
|
1025
|
-
});
|
|
988
|
+
expect(getByText("Cha")).toBeTruthy();
|
|
989
|
+
expect(getByText("d")).toBeTruthy();
|
|
1026
990
|
|
|
1027
|
-
|
|
991
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1028
992
|
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
993
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
994
|
+
value: "Cha",
|
|
995
|
+
error: "Min length 5, max length 10."
|
|
996
|
+
});
|
|
1033
997
|
|
|
1034
|
-
|
|
1035
|
-
case "end":
|
|
1036
|
-
return _context11.stop();
|
|
1037
|
-
}
|
|
1038
|
-
}
|
|
1039
|
-
}, _callee11);
|
|
1040
|
-
})));
|
|
1041
|
-
test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
|
|
1042
|
-
var onChange, _render35, getByRole, queryByRole, input, list;
|
|
998
|
+
_react2.fireEvent.blur(input);
|
|
1043
999
|
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
suggestions: countries,
|
|
1052
|
-
onChange: onChange
|
|
1053
|
-
})), getByRole = _render35.getByRole, queryByRole = _render35.queryByRole;
|
|
1054
|
-
input = getByRole("combobox");
|
|
1000
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
1001
|
+
value: "Chad",
|
|
1002
|
+
error: "Min length 5, max length 10."
|
|
1003
|
+
});
|
|
1004
|
+
});
|
|
1005
|
+
test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", function () {
|
|
1006
|
+
var onChange = jest.fn();
|
|
1055
1007
|
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1008
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1009
|
+
label: "Autocomplete Countries",
|
|
1010
|
+
suggestions: countries,
|
|
1011
|
+
onChange: onChange
|
|
1012
|
+
})),
|
|
1013
|
+
getByRole = _render32.getByRole,
|
|
1014
|
+
queryByRole = _render32.queryByRole;
|
|
1062
1015
|
|
|
1063
|
-
|
|
1064
|
-
expect(list).toBeTruthy();
|
|
1016
|
+
var input = getByRole("combobox");
|
|
1065
1017
|
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1018
|
+
_react2.fireEvent.keyDown(input, {
|
|
1019
|
+
key: "ArrowDown",
|
|
1020
|
+
code: "ArrowDown",
|
|
1021
|
+
keyCode: 40,
|
|
1022
|
+
charCode: 40
|
|
1023
|
+
});
|
|
1072
1024
|
|
|
1073
|
-
|
|
1074
|
-
|
|
1025
|
+
var list = getByRole("listbox");
|
|
1026
|
+
expect(list).toBeTruthy();
|
|
1075
1027
|
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
}
|
|
1082
|
-
})));
|
|
1083
|
-
test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
|
|
1084
|
-
var onChange, _render36, getByRole, queryByRole, input, list;
|
|
1028
|
+
_react2.fireEvent.keyDown(input, {
|
|
1029
|
+
key: "Enter",
|
|
1030
|
+
code: "Enter",
|
|
1031
|
+
keyCode: 13,
|
|
1032
|
+
charCode: 13
|
|
1033
|
+
});
|
|
1085
1034
|
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
_render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1092
|
-
label: "Autocomplete Countries",
|
|
1093
|
-
suggestions: countries,
|
|
1094
|
-
onChange: onChange
|
|
1095
|
-
})), getByRole = _render36.getByRole, queryByRole = _render36.queryByRole;
|
|
1096
|
-
input = getByRole("combobox");
|
|
1035
|
+
expect(input.value).toBe("Afghanistan");
|
|
1036
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1037
|
+
});
|
|
1038
|
+
test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", function () {
|
|
1039
|
+
var onChange = jest.fn();
|
|
1097
1040
|
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1041
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1042
|
+
label: "Autocomplete Countries",
|
|
1043
|
+
suggestions: countries,
|
|
1044
|
+
onChange: onChange
|
|
1045
|
+
})),
|
|
1046
|
+
getByRole = _render33.getByRole,
|
|
1047
|
+
queryByRole = _render33.queryByRole;
|
|
1104
1048
|
|
|
1105
|
-
|
|
1106
|
-
expect(list).toBeTruthy();
|
|
1049
|
+
var input = getByRole("combobox");
|
|
1107
1050
|
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1051
|
+
_react2.fireEvent.keyDown(input, {
|
|
1052
|
+
key: "ArrowUp",
|
|
1053
|
+
code: "ArrowUp",
|
|
1054
|
+
keyCode: 38,
|
|
1055
|
+
charCode: 38
|
|
1056
|
+
});
|
|
1114
1057
|
|
|
1115
|
-
|
|
1116
|
-
|
|
1058
|
+
var list = getByRole("listbox");
|
|
1059
|
+
expect(list).toBeTruthy();
|
|
1117
1060
|
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
}
|
|
1124
|
-
})));
|
|
1125
|
-
test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
|
|
1126
|
-
var onChange, _render37, getByRole, queryByRole, input, list;
|
|
1061
|
+
_react2.fireEvent.keyDown(input, {
|
|
1062
|
+
key: "Enter",
|
|
1063
|
+
code: "Enter",
|
|
1064
|
+
keyCode: 13,
|
|
1065
|
+
charCode: 13
|
|
1066
|
+
});
|
|
1127
1067
|
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
_render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1134
|
-
label: "Autocomplete Countries",
|
|
1135
|
-
suggestions: countries,
|
|
1136
|
-
onChange: onChange
|
|
1137
|
-
})), getByRole = _render37.getByRole, queryByRole = _render37.queryByRole;
|
|
1138
|
-
input = getByRole("combobox");
|
|
1068
|
+
expect(input.value).toBe("Djibouti");
|
|
1069
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1070
|
+
});
|
|
1071
|
+
test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", function () {
|
|
1072
|
+
var onChange = jest.fn();
|
|
1139
1073
|
|
|
1140
|
-
|
|
1074
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1075
|
+
label: "Autocomplete Countries",
|
|
1076
|
+
suggestions: countries,
|
|
1077
|
+
onChange: onChange
|
|
1078
|
+
})),
|
|
1079
|
+
getByRole = _render34.getByRole,
|
|
1080
|
+
queryByRole = _render34.queryByRole;
|
|
1141
1081
|
|
|
1142
|
-
|
|
1082
|
+
var input = getByRole("combobox");
|
|
1143
1083
|
|
|
1144
|
-
|
|
1145
|
-
expect(list).toBeTruthy();
|
|
1084
|
+
_react2.fireEvent.focus(input);
|
|
1146
1085
|
|
|
1147
|
-
|
|
1148
|
-
key: "Esc",
|
|
1149
|
-
code: "Esc",
|
|
1150
|
-
keyCode: 27,
|
|
1151
|
-
charCode: 27
|
|
1152
|
-
});
|
|
1086
|
+
_userEvent["default"].type(input, "Bangla");
|
|
1153
1087
|
|
|
1154
|
-
|
|
1155
|
-
|
|
1088
|
+
var list = getByRole("listbox");
|
|
1089
|
+
expect(list).toBeTruthy();
|
|
1156
1090
|
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
}
|
|
1163
|
-
})));
|
|
1164
|
-
test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
|
|
1165
|
-
var onChange, _render38, getByRole, queryByRole, input, list;
|
|
1091
|
+
_react2.fireEvent.keyDown(input, {
|
|
1092
|
+
key: "Esc",
|
|
1093
|
+
code: "Esc",
|
|
1094
|
+
keyCode: 27,
|
|
1095
|
+
charCode: 27
|
|
1096
|
+
});
|
|
1166
1097
|
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
_render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1173
|
-
label: "Autocomplete Countries",
|
|
1174
|
-
suggestions: countries,
|
|
1175
|
-
onChange: onChange
|
|
1176
|
-
})), getByRole = _render38.getByRole, queryByRole = _render38.queryByRole;
|
|
1177
|
-
input = getByRole("combobox");
|
|
1098
|
+
expect(input.value).toBe("");
|
|
1099
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1100
|
+
});
|
|
1101
|
+
test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", function () {
|
|
1102
|
+
var onChange = jest.fn();
|
|
1178
1103
|
|
|
1179
|
-
|
|
1104
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1105
|
+
label: "Autocomplete Countries",
|
|
1106
|
+
suggestions: countries,
|
|
1107
|
+
onChange: onChange
|
|
1108
|
+
})),
|
|
1109
|
+
getByRole = _render35.getByRole,
|
|
1110
|
+
queryByRole = _render35.queryByRole;
|
|
1180
1111
|
|
|
1181
|
-
|
|
1182
|
-
expect(list).toBeTruthy();
|
|
1112
|
+
var input = getByRole("combobox");
|
|
1183
1113
|
|
|
1184
|
-
|
|
1185
|
-
key: "Enter",
|
|
1186
|
-
code: "Enter",
|
|
1187
|
-
keyCode: 27,
|
|
1188
|
-
charCode: 27
|
|
1189
|
-
});
|
|
1114
|
+
_react2.fireEvent.focus(input);
|
|
1190
1115
|
|
|
1191
|
-
|
|
1192
|
-
|
|
1116
|
+
var list = getByRole("listbox");
|
|
1117
|
+
expect(list).toBeTruthy();
|
|
1193
1118
|
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1119
|
+
_react2.fireEvent.keyDown(input, {
|
|
1120
|
+
key: "Enter",
|
|
1121
|
+
code: "Enter",
|
|
1122
|
+
keyCode: 27,
|
|
1123
|
+
charCode: 27
|
|
1124
|
+
});
|
|
1125
|
+
|
|
1126
|
+
expect(input.value).toBe("");
|
|
1127
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1128
|
+
});
|
|
1129
|
+
test("Autosuggest complex key secuence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", function () {
|
|
1130
|
+
var onChange = jest.fn();
|
|
1131
|
+
|
|
1132
|
+
var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1133
|
+
label: "Autocomplete Countries",
|
|
1134
|
+
suggestions: countries,
|
|
1135
|
+
onChange: onChange
|
|
1136
|
+
})),
|
|
1137
|
+
getByRole = _render36.getByRole,
|
|
1138
|
+
queryByRole = _render36.queryByRole;
|
|
1139
|
+
|
|
1140
|
+
var input = getByRole("combobox");
|
|
1141
|
+
|
|
1142
|
+
_react2.fireEvent.focus(input);
|
|
1143
|
+
|
|
1144
|
+
_userEvent["default"].type(input, "Ba");
|
|
1145
|
+
|
|
1146
|
+
_react2.fireEvent.keyDown(input, {
|
|
1147
|
+
key: "ArrowUp",
|
|
1148
|
+
code: "ArrowUp",
|
|
1149
|
+
keyCode: 38,
|
|
1150
|
+
charCode: 38
|
|
1151
|
+
});
|
|
1152
|
+
|
|
1153
|
+
_react2.fireEvent.keyDown(input, {
|
|
1154
|
+
key: "ArrowUp",
|
|
1155
|
+
code: "ArrowUpp",
|
|
1156
|
+
keyCode: 38,
|
|
1157
|
+
charCode: 38
|
|
1158
|
+
});
|
|
1159
|
+
|
|
1160
|
+
_react2.fireEvent.keyDown(input, {
|
|
1161
|
+
key: "ArrowDown",
|
|
1162
|
+
code: "ArrowDown",
|
|
1163
|
+
keyCode: 40,
|
|
1164
|
+
charCode: 40
|
|
1165
|
+
});
|
|
1166
|
+
|
|
1167
|
+
_react2.fireEvent.keyDown(input, {
|
|
1168
|
+
key: "Enter",
|
|
1169
|
+
code: "Enter",
|
|
1170
|
+
keyCode: 13,
|
|
1171
|
+
charCode: 13
|
|
1172
|
+
});
|
|
1173
|
+
|
|
1174
|
+
expect(input.value).toBe("Barbados");
|
|
1175
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1176
|
+
|
|
1177
|
+
_react2.fireEvent.keyDown(input, {
|
|
1178
|
+
key: "Esc",
|
|
1179
|
+
code: "Esp",
|
|
1180
|
+
keyCode: 27,
|
|
1181
|
+
charCode: 27
|
|
1182
|
+
});
|
|
1183
|
+
|
|
1184
|
+
expect(input.value).toBe("");
|
|
1185
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1186
|
+
});
|
|
1187
|
+
test("Autosuggest escapes special characters", function () {
|
|
1188
|
+
var onChange = jest.fn();
|
|
1189
|
+
|
|
1190
|
+
var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1191
|
+
label: "Autocomplete Countries",
|
|
1192
|
+
suggestions: specialCharacters,
|
|
1193
|
+
onChange: onChange
|
|
1194
|
+
})),
|
|
1195
|
+
getAllByText = _render37.getAllByText,
|
|
1196
|
+
getByText = _render37.getByText,
|
|
1197
|
+
getByRole = _render37.getByRole;
|
|
1198
|
+
|
|
1199
|
+
var input = getByRole("combobox");
|
|
1200
|
+
|
|
1201
|
+
_react2.fireEvent.focus(input);
|
|
1202
|
+
|
|
1203
|
+
var list = getByRole("listbox");
|
|
1204
|
+
|
|
1205
|
+
_react2.fireEvent.change(input, {
|
|
1206
|
+
target: {
|
|
1207
|
+
value: "/"
|
|
1198
1208
|
}
|
|
1199
|
-
}
|
|
1200
|
-
})));
|
|
1201
|
-
test("Autosuggest complex key secuence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
|
|
1202
|
-
var onChange, _render39, getByRole, queryByRole, input;
|
|
1209
|
+
});
|
|
1203
1210
|
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
switch (_context16.prev = _context16.next) {
|
|
1207
|
-
case 0:
|
|
1208
|
-
onChange = jest.fn();
|
|
1209
|
-
_render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1210
|
-
label: "Autocomplete Countries",
|
|
1211
|
-
suggestions: countries,
|
|
1212
|
-
onChange: onChange
|
|
1213
|
-
})), getByRole = _render39.getByRole, queryByRole = _render39.queryByRole;
|
|
1214
|
-
input = getByRole("combobox");
|
|
1211
|
+
expect(list).toBeTruthy();
|
|
1212
|
+
expect(getAllByText("/").length).toBe(1);
|
|
1215
1213
|
|
|
1216
|
-
|
|
1214
|
+
_react2.fireEvent.change(input, {
|
|
1215
|
+
target: {
|
|
1216
|
+
value: "\\"
|
|
1217
|
+
}
|
|
1218
|
+
});
|
|
1217
1219
|
|
|
1218
|
-
|
|
1220
|
+
expect(list).toBeTruthy();
|
|
1221
|
+
expect(getAllByText("\\").length).toBe(1);
|
|
1219
1222
|
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
});
|
|
1223
|
+
_react2.fireEvent.change(input, {
|
|
1224
|
+
target: {
|
|
1225
|
+
value: "*"
|
|
1226
|
+
}
|
|
1227
|
+
});
|
|
1226
1228
|
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
code: "ArrowUpp",
|
|
1230
|
-
keyCode: 38,
|
|
1231
|
-
charCode: 38
|
|
1232
|
-
});
|
|
1229
|
+
expect(list).toBeTruthy();
|
|
1230
|
+
expect(getAllByText("*").length).toBe(2);
|
|
1233
1231
|
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
});
|
|
1232
|
+
_react2.fireEvent.change(input, {
|
|
1233
|
+
target: {
|
|
1234
|
+
value: "("
|
|
1235
|
+
}
|
|
1236
|
+
});
|
|
1240
1237
|
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
code: "Enter",
|
|
1244
|
-
keyCode: 13,
|
|
1245
|
-
charCode: 13
|
|
1246
|
-
});
|
|
1238
|
+
expect(list).toBeTruthy();
|
|
1239
|
+
expect(getAllByText("(").length).toBe(1);
|
|
1247
1240
|
|
|
1248
|
-
|
|
1249
|
-
|
|
1241
|
+
_react2.fireEvent.change(input, {
|
|
1242
|
+
target: {
|
|
1243
|
+
value: ")"
|
|
1244
|
+
}
|
|
1245
|
+
});
|
|
1250
1246
|
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
code: "Esp",
|
|
1254
|
-
keyCode: 27,
|
|
1255
|
-
charCode: 27
|
|
1256
|
-
});
|
|
1247
|
+
expect(list).toBeTruthy();
|
|
1248
|
+
expect(getAllByText(")").length).toBe(1);
|
|
1257
1249
|
|
|
1258
|
-
|
|
1259
|
-
|
|
1250
|
+
_react2.fireEvent.change(input, {
|
|
1251
|
+
target: {
|
|
1252
|
+
value: "["
|
|
1253
|
+
}
|
|
1254
|
+
});
|
|
1260
1255
|
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1256
|
+
expect(list).toBeTruthy();
|
|
1257
|
+
expect(getAllByText("[").length).toBe(1);
|
|
1258
|
+
|
|
1259
|
+
_react2.fireEvent.change(input, {
|
|
1260
|
+
target: {
|
|
1261
|
+
value: "]"
|
|
1265
1262
|
}
|
|
1266
|
-
}
|
|
1267
|
-
|
|
1263
|
+
});
|
|
1264
|
+
|
|
1265
|
+
expect(list).toBeTruthy();
|
|
1266
|
+
expect(getAllByText("]").length).toBe(1);
|
|
1267
|
+
|
|
1268
|
+
_react2.fireEvent.change(input, {
|
|
1269
|
+
target: {
|
|
1270
|
+
value: "+"
|
|
1271
|
+
}
|
|
1272
|
+
});
|
|
1273
|
+
|
|
1274
|
+
expect(list).toBeTruthy();
|
|
1275
|
+
expect(getAllByText("+").length).toBe(1);
|
|
1276
|
+
|
|
1277
|
+
_react2.fireEvent.change(input, {
|
|
1278
|
+
target: {
|
|
1279
|
+
value: "?"
|
|
1280
|
+
}
|
|
1281
|
+
});
|
|
1282
|
+
|
|
1283
|
+
expect(list).toBeTruthy();
|
|
1284
|
+
expect(getAllByText("?").length).toBe(1);
|
|
1285
|
+
});
|
|
1268
1286
|
});
|
|
1269
1287
|
describe("TextInput component asynchronous autosuggest tests", function () {
|
|
1270
|
-
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1271
|
-
var callbackFunc, onChange,
|
|
1288
|
+
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
1289
|
+
var callbackFunc, onChange, _render38, getByRole, getByText, input;
|
|
1272
1290
|
|
|
1273
|
-
return _regenerator["default"].wrap(function
|
|
1291
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
1274
1292
|
while (1) {
|
|
1275
|
-
switch (
|
|
1293
|
+
switch (_context.prev = _context.next) {
|
|
1276
1294
|
case 0:
|
|
1277
1295
|
callbackFunc = jest.fn(function (newValue) {
|
|
1278
1296
|
var result = new Promise(function (resolve) {
|
|
@@ -1285,17 +1303,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1285
1303
|
return result;
|
|
1286
1304
|
});
|
|
1287
1305
|
onChange = jest.fn();
|
|
1288
|
-
|
|
1306
|
+
_render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1289
1307
|
label: "Autosuggest Countries",
|
|
1290
1308
|
suggestions: callbackFunc,
|
|
1291
1309
|
onChange: onChange
|
|
1292
|
-
})), getByRole =
|
|
1310
|
+
})), getByRole = _render38.getByRole, getByText = _render38.getByText;
|
|
1293
1311
|
input = getByRole("combobox");
|
|
1294
1312
|
|
|
1295
1313
|
_react2.fireEvent.focus(input);
|
|
1296
1314
|
|
|
1297
1315
|
expect(getByRole("listbox")).toBeTruthy();
|
|
1298
|
-
|
|
1316
|
+
_context.next = 8;
|
|
1299
1317
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1300
1318
|
return getByText("Searching...");
|
|
1301
1319
|
});
|
|
@@ -1308,7 +1326,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1308
1326
|
|
|
1309
1327
|
_userEvent["default"].type(input, "Ab");
|
|
1310
1328
|
|
|
1311
|
-
|
|
1329
|
+
_context.next = 15;
|
|
1312
1330
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1313
1331
|
return getByText("Searching...");
|
|
1314
1332
|
});
|
|
@@ -1334,66 +1352,58 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1334
1352
|
|
|
1335
1353
|
case 19:
|
|
1336
1354
|
case "end":
|
|
1337
|
-
return
|
|
1355
|
+
return _context.stop();
|
|
1338
1356
|
}
|
|
1339
1357
|
}
|
|
1340
|
-
},
|
|
1358
|
+
}, _callee);
|
|
1341
1359
|
})));
|
|
1342
|
-
test("Autosuggest Esc key works while 'Searching...' message is shown",
|
|
1343
|
-
var callbackFunc
|
|
1360
|
+
test("Autosuggest Esc key works while 'Searching...' message is shown", function () {
|
|
1361
|
+
var callbackFunc = jest.fn(function (newValue) {
|
|
1362
|
+
var result = new Promise(function (resolve) {
|
|
1363
|
+
return setTimeout(function () {
|
|
1364
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1365
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1366
|
+
}) : countries);
|
|
1367
|
+
}, 100);
|
|
1368
|
+
});
|
|
1369
|
+
return result;
|
|
1370
|
+
});
|
|
1371
|
+
var onChange = jest.fn();
|
|
1344
1372
|
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1354
|
-
}) : countries);
|
|
1355
|
-
}, 100);
|
|
1356
|
-
});
|
|
1357
|
-
return result;
|
|
1358
|
-
});
|
|
1359
|
-
onChange = jest.fn();
|
|
1360
|
-
_render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1361
|
-
label: "Autosuggest Countries",
|
|
1362
|
-
suggestions: callbackFunc,
|
|
1363
|
-
onChange: onChange
|
|
1364
|
-
})), getByRole = _render41.getByRole, queryByText = _render41.queryByText, queryByRole = _render41.queryByRole;
|
|
1365
|
-
input = getByRole("combobox");
|
|
1373
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1374
|
+
label: "Autosuggest Countries",
|
|
1375
|
+
suggestions: callbackFunc,
|
|
1376
|
+
onChange: onChange
|
|
1377
|
+
})),
|
|
1378
|
+
getByRole = _render39.getByRole,
|
|
1379
|
+
queryByText = _render39.queryByText,
|
|
1380
|
+
queryByRole = _render39.queryByRole;
|
|
1366
1381
|
|
|
1367
|
-
|
|
1382
|
+
var input = getByRole("combobox");
|
|
1368
1383
|
|
|
1369
|
-
|
|
1384
|
+
_react2.fireEvent.focus(input);
|
|
1370
1385
|
|
|
1371
|
-
|
|
1386
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
1372
1387
|
|
|
1373
|
-
|
|
1374
|
-
key: "Esc",
|
|
1375
|
-
code: "Esc",
|
|
1376
|
-
keyCode: 27,
|
|
1377
|
-
charCode: 27
|
|
1378
|
-
});
|
|
1388
|
+
_userEvent["default"].type(input, "Ab");
|
|
1379
1389
|
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1390
|
+
_react2.fireEvent.keyDown(input, {
|
|
1391
|
+
key: "Esc",
|
|
1392
|
+
code: "Esc",
|
|
1393
|
+
keyCode: 27,
|
|
1394
|
+
charCode: 27
|
|
1395
|
+
});
|
|
1383
1396
|
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
})));
|
|
1391
|
-
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
|
|
1392
|
-
var callbackFunc, onChange, _render42, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1397
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1398
|
+
expect(queryByText("Searching...")).toBeFalsy();
|
|
1399
|
+
expect(input.value).toBe("");
|
|
1400
|
+
});
|
|
1401
|
+
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
1402
|
+
var callbackFunc, onChange, _render40, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1393
1403
|
|
|
1394
|
-
return _regenerator["default"].wrap(function
|
|
1404
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
1395
1405
|
while (1) {
|
|
1396
|
-
switch (
|
|
1406
|
+
switch (_context2.prev = _context2.next) {
|
|
1397
1407
|
case 0:
|
|
1398
1408
|
callbackFunc = jest.fn(function (newValue) {
|
|
1399
1409
|
var result = new Promise(function (resolve) {
|
|
@@ -1406,11 +1416,11 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1406
1416
|
return result;
|
|
1407
1417
|
});
|
|
1408
1418
|
onChange = jest.fn();
|
|
1409
|
-
|
|
1419
|
+
_render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1410
1420
|
label: "Autosuggest Countries",
|
|
1411
1421
|
suggestions: callbackFunc,
|
|
1412
1422
|
onChange: onChange
|
|
1413
|
-
})), getByRole =
|
|
1423
|
+
})), getByRole = _render40.getByRole, getByText = _render40.getByText, queryByText = _render40.queryByText, queryByRole = _render40.queryByRole;
|
|
1414
1424
|
input = getByRole("combobox");
|
|
1415
1425
|
|
|
1416
1426
|
_react2.fireEvent.focus(input);
|
|
@@ -1439,7 +1449,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1439
1449
|
});
|
|
1440
1450
|
|
|
1441
1451
|
expect(list).toBeTruthy();
|
|
1442
|
-
|
|
1452
|
+
_context2.next = 16;
|
|
1443
1453
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1444
1454
|
return getByText("Searching...");
|
|
1445
1455
|
});
|
|
@@ -1452,17 +1462,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1452
1462
|
|
|
1453
1463
|
case 20:
|
|
1454
1464
|
case "end":
|
|
1455
|
-
return
|
|
1465
|
+
return _context2.stop();
|
|
1456
1466
|
}
|
|
1457
1467
|
}
|
|
1458
|
-
},
|
|
1468
|
+
}, _callee2);
|
|
1459
1469
|
})));
|
|
1460
|
-
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1461
|
-
var callbackFunc, onChange,
|
|
1470
|
+
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
1471
|
+
var callbackFunc, onChange, _render41, getByRole, getByText, input;
|
|
1462
1472
|
|
|
1463
|
-
return _regenerator["default"].wrap(function
|
|
1473
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
1464
1474
|
while (1) {
|
|
1465
|
-
switch (
|
|
1475
|
+
switch (_context3.prev = _context3.next) {
|
|
1466
1476
|
case 0:
|
|
1467
1477
|
callbackFunc = jest.fn(function (newValue) {
|
|
1468
1478
|
var result = new Promise(function (resolve) {
|
|
@@ -1475,18 +1485,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1475
1485
|
return result;
|
|
1476
1486
|
});
|
|
1477
1487
|
onChange = jest.fn();
|
|
1478
|
-
|
|
1488
|
+
_render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1479
1489
|
label: "Autosuggest Countries",
|
|
1480
1490
|
onChange: onChange,
|
|
1481
1491
|
suggestions: callbackFunc
|
|
1482
|
-
})), getByRole =
|
|
1492
|
+
})), getByRole = _render41.getByRole, getByText = _render41.getByText;
|
|
1483
1493
|
input = getByRole("combobox");
|
|
1484
1494
|
|
|
1485
1495
|
_react2.fireEvent.focus(input);
|
|
1486
1496
|
|
|
1487
1497
|
_userEvent["default"].type(input, "Den");
|
|
1488
1498
|
|
|
1489
|
-
|
|
1499
|
+
_context3.next = 8;
|
|
1490
1500
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1491
1501
|
return getByText("Searching...");
|
|
1492
1502
|
});
|
|
@@ -1503,17 +1513,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1503
1513
|
|
|
1504
1514
|
case 12:
|
|
1505
1515
|
case "end":
|
|
1506
|
-
return
|
|
1516
|
+
return _context3.stop();
|
|
1507
1517
|
}
|
|
1508
1518
|
}
|
|
1509
|
-
},
|
|
1519
|
+
}, _callee3);
|
|
1510
1520
|
})));
|
|
1511
|
-
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1512
|
-
var callbackFunc, onChange,
|
|
1521
|
+
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
1522
|
+
var callbackFunc, onChange, _render42, getByRole, getByText, queryByRole, input;
|
|
1513
1523
|
|
|
1514
|
-
return _regenerator["default"].wrap(function
|
|
1524
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
1515
1525
|
while (1) {
|
|
1516
|
-
switch (
|
|
1526
|
+
switch (_context4.prev = _context4.next) {
|
|
1517
1527
|
case 0:
|
|
1518
1528
|
callbackFunc = jest.fn(function (newValue) {
|
|
1519
1529
|
var result = new Promise(function (resolve) {
|
|
@@ -1526,45 +1536,47 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1526
1536
|
return result;
|
|
1527
1537
|
});
|
|
1528
1538
|
onChange = jest.fn();
|
|
1529
|
-
|
|
1539
|
+
_render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1530
1540
|
label: "Autosuggest Countries",
|
|
1531
1541
|
value: "Denm",
|
|
1532
1542
|
onChange: onChange,
|
|
1533
1543
|
suggestions: callbackFunc
|
|
1534
|
-
})), getByRole =
|
|
1544
|
+
})), getByRole = _render42.getByRole, getByText = _render42.getByText, queryByRole = _render42.queryByRole;
|
|
1535
1545
|
input = getByRole("combobox");
|
|
1546
|
+
expect(input.value).toBe("Denm");
|
|
1536
1547
|
|
|
1537
|
-
|
|
1548
|
+
_userEvent["default"].click(getByText("Autosuggest Countries"));
|
|
1538
1549
|
|
|
1539
|
-
|
|
1550
|
+
_context4.next = 8;
|
|
1540
1551
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1541
1552
|
return getByText("Searching...");
|
|
1542
1553
|
});
|
|
1543
1554
|
|
|
1544
|
-
case
|
|
1545
|
-
expect(input.value).toBe("Denm");
|
|
1555
|
+
case 8:
|
|
1546
1556
|
expect(getByText("Denmark")).toBeTruthy();
|
|
1547
1557
|
|
|
1548
|
-
|
|
1558
|
+
_react2.fireEvent.focus(getByRole("option"));
|
|
1559
|
+
|
|
1560
|
+
_userEvent["default"].click(getByText("Denmark"));
|
|
1549
1561
|
|
|
1550
1562
|
expect(onChange).toHaveBeenCalledWith({
|
|
1551
1563
|
value: "Denmark"
|
|
1552
1564
|
});
|
|
1553
1565
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1554
1566
|
|
|
1555
|
-
case
|
|
1567
|
+
case 13:
|
|
1556
1568
|
case "end":
|
|
1557
|
-
return
|
|
1569
|
+
return _context4.stop();
|
|
1558
1570
|
}
|
|
1559
1571
|
}
|
|
1560
|
-
},
|
|
1572
|
+
}, _callee4);
|
|
1561
1573
|
})));
|
|
1562
|
-
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1563
|
-
var callbackFunc, onChange,
|
|
1574
|
+
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
1575
|
+
var callbackFunc, onChange, _render43, getByText, getByRole, queryByRole, input;
|
|
1564
1576
|
|
|
1565
|
-
return _regenerator["default"].wrap(function
|
|
1577
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
1566
1578
|
while (1) {
|
|
1567
|
-
switch (
|
|
1579
|
+
switch (_context5.prev = _context5.next) {
|
|
1568
1580
|
case 0:
|
|
1569
1581
|
callbackFunc = jest.fn(function (newValue) {
|
|
1570
1582
|
var result = new Promise(function (resolve) {
|
|
@@ -1577,18 +1589,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1577
1589
|
return result;
|
|
1578
1590
|
});
|
|
1579
1591
|
onChange = jest.fn();
|
|
1580
|
-
|
|
1592
|
+
_render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1581
1593
|
label: "Autosuggest Countries",
|
|
1582
1594
|
onChange: onChange,
|
|
1583
1595
|
suggestions: callbackFunc
|
|
1584
|
-
})), getByText =
|
|
1596
|
+
})), getByText = _render43.getByText, getByRole = _render43.getByRole, queryByRole = _render43.queryByRole;
|
|
1585
1597
|
input = getByRole("combobox");
|
|
1586
1598
|
|
|
1587
1599
|
_react2.fireEvent.focus(input);
|
|
1588
1600
|
|
|
1589
1601
|
_userEvent["default"].type(input, "Example text");
|
|
1590
1602
|
|
|
1591
|
-
|
|
1603
|
+
_context5.next = 8;
|
|
1592
1604
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1593
1605
|
return getByText("Searching...");
|
|
1594
1606
|
});
|
|
@@ -1598,17 +1610,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1598
1610
|
|
|
1599
1611
|
case 9:
|
|
1600
1612
|
case "end":
|
|
1601
|
-
return
|
|
1613
|
+
return _context5.stop();
|
|
1602
1614
|
}
|
|
1603
1615
|
}
|
|
1604
|
-
},
|
|
1616
|
+
}, _callee5);
|
|
1605
1617
|
})));
|
|
1606
|
-
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1607
|
-
var callbackFunc, onChange,
|
|
1618
|
+
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
1619
|
+
var callbackFunc, onChange, _render44, getByText, getByRole, queryByRole, input;
|
|
1608
1620
|
|
|
1609
|
-
return _regenerator["default"].wrap(function
|
|
1621
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1610
1622
|
while (1) {
|
|
1611
|
-
switch (
|
|
1623
|
+
switch (_context6.prev = _context6.next) {
|
|
1612
1624
|
case 0:
|
|
1613
1625
|
callbackFunc = jest.fn(function (newValue) {
|
|
1614
1626
|
var result = new Promise(function (resolve) {
|
|
@@ -1621,18 +1633,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1621
1633
|
return result;
|
|
1622
1634
|
});
|
|
1623
1635
|
onChange = jest.fn();
|
|
1624
|
-
|
|
1636
|
+
_render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1625
1637
|
label: "Autosuggest Countries",
|
|
1626
1638
|
onChange: onChange,
|
|
1627
1639
|
suggestions: callbackFunc
|
|
1628
|
-
})), getByText =
|
|
1640
|
+
})), getByText = _render44.getByText, getByRole = _render44.getByRole, queryByRole = _render44.queryByRole;
|
|
1629
1641
|
input = getByRole("combobox");
|
|
1630
1642
|
|
|
1631
1643
|
_react2.fireEvent.focus(input);
|
|
1632
1644
|
|
|
1633
1645
|
_userEvent["default"].type(input, "wrong");
|
|
1634
1646
|
|
|
1635
|
-
|
|
1647
|
+
_context6.next = 8;
|
|
1636
1648
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1637
1649
|
return getByText("Searching...");
|
|
1638
1650
|
});
|
|
@@ -1664,17 +1676,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1664
1676
|
|
|
1665
1677
|
case 15:
|
|
1666
1678
|
case "end":
|
|
1667
|
-
return
|
|
1679
|
+
return _context6.stop();
|
|
1668
1680
|
}
|
|
1669
1681
|
}
|
|
1670
|
-
},
|
|
1682
|
+
}, _callee6);
|
|
1671
1683
|
})));
|
|
1672
|
-
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1673
|
-
var errorCallbackFunc, onChange,
|
|
1684
|
+
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
1685
|
+
var errorCallbackFunc, onChange, _render45, getByRole, getByText, input;
|
|
1674
1686
|
|
|
1675
|
-
return _regenerator["default"].wrap(function
|
|
1687
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1676
1688
|
while (1) {
|
|
1677
|
-
switch (
|
|
1689
|
+
switch (_context7.prev = _context7.next) {
|
|
1678
1690
|
case 0:
|
|
1679
1691
|
errorCallbackFunc = jest.fn(function () {
|
|
1680
1692
|
var result = new Promise(function (resolve, reject) {
|
|
@@ -1685,16 +1697,16 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1685
1697
|
return result;
|
|
1686
1698
|
});
|
|
1687
1699
|
onChange = jest.fn();
|
|
1688
|
-
|
|
1700
|
+
_render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1689
1701
|
label: "Autosuggest Countries",
|
|
1690
1702
|
onChange: onChange,
|
|
1691
1703
|
suggestions: errorCallbackFunc
|
|
1692
|
-
})), getByRole =
|
|
1704
|
+
})), getByRole = _render45.getByRole, getByText = _render45.getByText;
|
|
1693
1705
|
input = getByRole("combobox");
|
|
1694
1706
|
|
|
1695
1707
|
_react2.fireEvent.focus(input);
|
|
1696
1708
|
|
|
1697
|
-
|
|
1709
|
+
_context7.next = 7;
|
|
1698
1710
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1699
1711
|
return getByText("Searching...");
|
|
1700
1712
|
});
|
|
@@ -1704,9 +1716,9 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1704
1716
|
|
|
1705
1717
|
case 8:
|
|
1706
1718
|
case "end":
|
|
1707
|
-
return
|
|
1719
|
+
return _context7.stop();
|
|
1708
1720
|
}
|
|
1709
1721
|
}
|
|
1710
|
-
},
|
|
1722
|
+
}, _callee7);
|
|
1711
1723
|
})));
|
|
1712
1724
|
});
|