@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3ac293
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/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1336 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -126
- package/accordion/Accordion.stories.tsx +115 -27
- package/accordion/Accordion.test.js +26 -12
- package/accordion/types.d.ts +9 -4
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +17 -38
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +31 -38
- package/accordion-group/types.d.ts +14 -3
- package/alert/Alert.js +7 -4
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +25 -37
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- 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 +52 -69
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +7 -7
- package/card/Card.js +25 -28
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +107 -110
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +101 -11
- package/checkbox/types.d.ts +13 -5
- package/chip/Chip.js +18 -24
- package/chip/Chip.stories.tsx +96 -9
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1625 -0
- package/common/variables.js +483 -352
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +169 -258
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +521 -155
- 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 +67 -9
- package/dialog/Dialog.js +76 -93
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -253
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- 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 +181 -223
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- 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.js +16 -89
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +108 -129
- package/header/Header.stories.tsx +189 -36
- package/header/Header.test.js +20 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +72 -132
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +59 -76
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +9 -19
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -10
- package/main.js +46 -56
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +125 -0
- package/nav-tabs/NavTabs.stories.tsx +260 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +150 -0
- package/nav-tabs/types.d.ts +53 -0
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +46 -12
- package/number-input/types.d.ts +17 -10
- package/package.json +20 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +78 -39
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +17 -19
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +68 -23
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +32 -28
- package/radio-group/RadioGroup.stories.tsx +135 -17
- package/radio-group/RadioGroup.test.js +145 -117
- package/radio-group/types.d.ts +79 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +2 -2
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.js +179 -384
- package/select/Select.stories.tsx +531 -142
- package/select/Select.test.js +652 -324
- package/select/types.d.ts +53 -13
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +183 -53
- 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 +124 -98
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +143 -22
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +4 -4
- package/spinner/Spinner.stories.jsx +27 -1
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +152 -69
- package/switch/Switch.stories.tsx +53 -42
- package/switch/Switch.test.js +156 -4
- package/switch/types.d.ts +12 -4
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +363 -109
- package/tabs/Tabs.stories.tsx +119 -13
- package/tabs/Tabs.test.js +241 -14
- package/tabs/types.d.ts +19 -5
- package/tag/Tag.js +17 -22
- package/tag/Tag.stories.tsx +25 -8
- package/tag/Tag.test.js +1 -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.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +221 -344
- package/text-input/TextInput.stories.tsx +290 -195
- package/text-input/TextInput.test.js +763 -731
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +17 -26
- package/textarea/Textarea.stories.jsx +65 -6
- package/textarea/Textarea.test.js +38 -37
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +6 -5
- package/toggle-group/ToggleGroup.stories.tsx +46 -4
- package/toggle-group/ToggleGroup.test.js +36 -5
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +59 -55
- package/wizard/Wizard.stories.tsx +48 -19
- package/wizard/Wizard.test.js +37 -24
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- 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 -10
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → nav-tabs}/types.js +0 -0
- /package/{stack → quick-nav}/types.js +0 -0
package/select/Select.test.js
CHANGED
|
@@ -2,15 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
6
|
+
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
6
8
|
|
|
7
|
-
var
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
10
|
|
|
9
11
|
var _react2 = require("@testing-library/react");
|
|
10
12
|
|
|
11
13
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
12
14
|
|
|
13
|
-
var
|
|
15
|
+
var _Select = _interopRequireDefault(require("./Select.tsx"));
|
|
16
|
+
|
|
17
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
18
|
+
global.globalThis = global;
|
|
19
|
+
global.DOMRect = {
|
|
20
|
+
fromRect: function fromRect() {
|
|
21
|
+
return {
|
|
22
|
+
top: 0,
|
|
23
|
+
left: 0,
|
|
24
|
+
bottom: 0,
|
|
25
|
+
right: 0,
|
|
26
|
+
width: 0,
|
|
27
|
+
height: 0
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
33
|
+
function ResizeObserver() {
|
|
34
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
38
|
+
key: "observe",
|
|
39
|
+
value: function observe() {}
|
|
40
|
+
}, {
|
|
41
|
+
key: "unobserve",
|
|
42
|
+
value: function unobserve() {}
|
|
43
|
+
}, {
|
|
44
|
+
key: "disconnect",
|
|
45
|
+
value: function disconnect() {}
|
|
46
|
+
}]);
|
|
47
|
+
return ResizeObserver;
|
|
48
|
+
}();
|
|
49
|
+
|
|
50
|
+
var singleOptions = [{
|
|
14
51
|
label: "Option 01",
|
|
15
52
|
value: "1"
|
|
16
53
|
}, {
|
|
@@ -71,7 +108,7 @@ var single_options = [{
|
|
|
71
108
|
label: "Option 20",
|
|
72
109
|
value: "20"
|
|
73
110
|
}];
|
|
74
|
-
var
|
|
111
|
+
var svgIconOptions = [{
|
|
75
112
|
label: "3G Mobile",
|
|
76
113
|
value: "1",
|
|
77
114
|
icon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
@@ -135,7 +172,7 @@ var svg_icon_options = [{
|
|
|
135
172
|
label: "Regular",
|
|
136
173
|
value: "Regular"
|
|
137
174
|
}];
|
|
138
|
-
var
|
|
175
|
+
var urlIconOptions = [{
|
|
139
176
|
label: "Instagram",
|
|
140
177
|
value: "1",
|
|
141
178
|
icon: "https://cdn.icon-icons.com/icons2/2518/PNG/512/brand_instagram_icon_151534.png"
|
|
@@ -155,7 +192,7 @@ var url_icon_options = [{
|
|
|
155
192
|
value: "5",
|
|
156
193
|
icon: "https://cdn-icons-png.flaticon.com/512/145/145808.png"
|
|
157
194
|
}];
|
|
158
|
-
var
|
|
195
|
+
var groupOptions = [{
|
|
159
196
|
label: "Colores",
|
|
160
197
|
options: [{
|
|
161
198
|
label: "Azul",
|
|
@@ -219,7 +256,7 @@ var group_options = [{
|
|
|
219
256
|
value: "ebro"
|
|
220
257
|
}]
|
|
221
258
|
}];
|
|
222
|
-
var
|
|
259
|
+
var groupedIconOptions = [{
|
|
223
260
|
label: "Social Media",
|
|
224
261
|
options: [{
|
|
225
262
|
label: "Instagram",
|
|
@@ -264,7 +301,7 @@ var grouped_icon_options = [{
|
|
|
264
301
|
}]
|
|
265
302
|
}];
|
|
266
303
|
describe("Select component tests", function () {
|
|
267
|
-
test("
|
|
304
|
+
test("When clicking the label, the focus goes to the select", function () {
|
|
268
305
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
269
306
|
label: "test-select-label",
|
|
270
307
|
helperText: "test-select-helper-text",
|
|
@@ -275,60 +312,153 @@ describe("Select component tests", function () {
|
|
|
275
312
|
|
|
276
313
|
var select = getByRole("combobox");
|
|
277
314
|
var label = getByText("test-select-label");
|
|
278
|
-
expect(label).toBeTruthy();
|
|
279
315
|
|
|
280
316
|
_userEvent["default"].click(label);
|
|
281
317
|
|
|
282
318
|
expect(document.activeElement).toEqual(select);
|
|
283
319
|
});
|
|
284
|
-
test("Renders with correct
|
|
320
|
+
test("Renders with correct aria attributes when is in error state", function () {
|
|
285
321
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
286
|
-
label: "
|
|
287
|
-
|
|
288
|
-
placeholder: "Example text"
|
|
322
|
+
label: "Error label",
|
|
323
|
+
error: "Error message."
|
|
289
324
|
})),
|
|
290
|
-
getByText = _render2.getByText
|
|
325
|
+
getByText = _render2.getByText,
|
|
326
|
+
getByRole = _render2.getByRole;
|
|
291
327
|
|
|
292
|
-
|
|
293
|
-
|
|
328
|
+
var select = getByRole("combobox");
|
|
329
|
+
var errorMessage = getByText("Error message.");
|
|
330
|
+
expect(errorMessage).toBeTruthy();
|
|
331
|
+
expect(select.getAttribute("aria-errormessage")).toBe(errorMessage.id);
|
|
332
|
+
expect(select.getAttribute("aria-invalid")).toBe("true");
|
|
333
|
+
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
294
334
|
});
|
|
295
|
-
test("Renders with correct
|
|
335
|
+
test("Renders with correct aria attributes", function () {
|
|
296
336
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
297
337
|
label: "test-select-label",
|
|
298
|
-
|
|
338
|
+
placeholder: "Example",
|
|
339
|
+
options: singleOptions
|
|
299
340
|
})),
|
|
300
|
-
getByText = _render3.getByText
|
|
341
|
+
getByText = _render3.getByText,
|
|
342
|
+
getByRole = _render3.getByRole;
|
|
301
343
|
|
|
302
|
-
|
|
303
|
-
|
|
344
|
+
var select = getByRole("combobox");
|
|
345
|
+
var label = getByText("test-select-label");
|
|
346
|
+
expect(select.getAttribute("aria-disabled")).toBe("false");
|
|
347
|
+
expect(select.getAttribute("aria-haspopup")).toBe("listbox");
|
|
348
|
+
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
349
|
+
expect(select.getAttribute("aria-required")).toBe("true");
|
|
350
|
+
expect(select.getAttribute("aria-labelledby")).toBe(label.id);
|
|
351
|
+
expect(select.getAttribute("aria-activedescendant")).toBeNull();
|
|
352
|
+
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
353
|
+
|
|
354
|
+
_userEvent["default"].click(select);
|
|
355
|
+
|
|
356
|
+
var list = getByRole("listbox");
|
|
357
|
+
expect(select.getAttribute("aria-controls")).toBe(list.id);
|
|
358
|
+
expect(list.getAttribute("aria-multiselectable")).toBe("false");
|
|
304
359
|
});
|
|
305
|
-
test("Renders with
|
|
360
|
+
test("Single selection: Renders with correct default value", function () {
|
|
306
361
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
307
|
-
label: "
|
|
308
|
-
|
|
362
|
+
label: "test-select-label",
|
|
363
|
+
name: "test",
|
|
364
|
+
defaultValue: "4",
|
|
365
|
+
options: singleOptions
|
|
309
366
|
})),
|
|
310
367
|
getByText = _render4.getByText,
|
|
311
|
-
getByRole = _render4.getByRole
|
|
368
|
+
getByRole = _render4.getByRole,
|
|
369
|
+
getAllByRole = _render4.getAllByRole,
|
|
370
|
+
queryByRole = _render4.queryByRole,
|
|
371
|
+
container = _render4.container;
|
|
312
372
|
|
|
313
373
|
var select = getByRole("combobox");
|
|
314
|
-
var
|
|
315
|
-
expect(
|
|
316
|
-
expect(
|
|
317
|
-
expect(
|
|
318
|
-
|
|
374
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
375
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
376
|
+
expect(getByText("Option 04")).toBeTruthy();
|
|
377
|
+
expect(submitInput.value).toBe("4");
|
|
378
|
+
|
|
379
|
+
_userEvent["default"].click(select);
|
|
380
|
+
|
|
381
|
+
expect(getAllByRole("option")[3].getAttribute("aria-selected")).toBe("true");
|
|
382
|
+
|
|
383
|
+
_userEvent["default"].click(getAllByRole("option")[7]);
|
|
384
|
+
|
|
385
|
+
expect(getByText("Option 08")).toBeTruthy();
|
|
386
|
+
expect(submitInput.value).toBe("8");
|
|
319
387
|
});
|
|
320
|
-
test("
|
|
388
|
+
test("Multiple selection: Renders with correct default value", function () {
|
|
321
389
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
322
390
|
label: "test-select-label",
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
searchable: true,
|
|
391
|
+
name: "test",
|
|
392
|
+
defaultValue: ["4", "2", "6"],
|
|
393
|
+
options: singleOptions,
|
|
327
394
|
multiple: true
|
|
328
395
|
})),
|
|
329
|
-
getByRole = _render5.getByRole,
|
|
330
396
|
getByText = _render5.getByText,
|
|
331
|
-
|
|
397
|
+
getByRole = _render5.getByRole,
|
|
398
|
+
getAllByRole = _render5.getAllByRole,
|
|
399
|
+
queryByRole = _render5.queryByRole,
|
|
400
|
+
container = _render5.container;
|
|
401
|
+
|
|
402
|
+
var select = getByRole("combobox");
|
|
403
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
404
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
405
|
+
expect(getByText("Option 02, Option 04, Option 06")).toBeTruthy();
|
|
406
|
+
expect(submitInput.value).toBe("4,2,6");
|
|
407
|
+
|
|
408
|
+
_userEvent["default"].click(select);
|
|
409
|
+
|
|
410
|
+
expect(getAllByRole("option")[3].getAttribute("aria-selected")).toBe("true");
|
|
411
|
+
expect(getAllByRole("option")[1].getAttribute("aria-selected")).toBe("true");
|
|
412
|
+
expect(getAllByRole("option")[5].getAttribute("aria-selected")).toBe("true");
|
|
413
|
+
|
|
414
|
+
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
415
|
+
|
|
416
|
+
expect(getByText("Option 02, Option 03, Option 04, Option 06")).toBeTruthy();
|
|
417
|
+
expect(submitInput.value).toBe("4,2,6,3");
|
|
418
|
+
});
|
|
419
|
+
test("Sends its value when submitted", function () {
|
|
420
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
421
|
+
e.preventDefault();
|
|
422
|
+
var formData = new FormData(e.target);
|
|
423
|
+
var formProps = Object.fromEntries(formData);
|
|
424
|
+
expect(formProps).toStrictEqual({
|
|
425
|
+
options: "1,5,3"
|
|
426
|
+
});
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
430
|
+
onSubmit: handlerOnSubmit
|
|
431
|
+
}, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
432
|
+
name: "options",
|
|
433
|
+
label: "test-select-label",
|
|
434
|
+
defaultValue: ["1", "5"],
|
|
435
|
+
options: singleOptions,
|
|
436
|
+
multiple: true
|
|
437
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
438
|
+
type: "submit"
|
|
439
|
+
}, "Submit"))),
|
|
440
|
+
getByText = _render6.getByText,
|
|
441
|
+
getByRole = _render6.getByRole,
|
|
442
|
+
getAllByRole = _render6.getAllByRole;
|
|
443
|
+
|
|
444
|
+
var select = getByRole("combobox");
|
|
445
|
+
var submit = getByText("Submit");
|
|
446
|
+
|
|
447
|
+
_userEvent["default"].click(select);
|
|
448
|
+
|
|
449
|
+
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
450
|
+
|
|
451
|
+
_userEvent["default"].click(submit);
|
|
452
|
+
});
|
|
453
|
+
test("Disabled select - Cannot gain focus or open the listbox via click", function () {
|
|
454
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
455
|
+
label: "test-select-label",
|
|
456
|
+
value: ["1", "2"],
|
|
457
|
+
options: singleOptions,
|
|
458
|
+
disabled: true
|
|
459
|
+
})),
|
|
460
|
+
getByRole = _render7.getByRole,
|
|
461
|
+
queryByRole = _render7.queryByRole;
|
|
332
462
|
|
|
333
463
|
var select = getByRole("combobox");
|
|
334
464
|
expect(select.getAttribute("aria-disabled")).toBe("true");
|
|
@@ -336,41 +466,103 @@ describe("Select component tests", function () {
|
|
|
336
466
|
_userEvent["default"].click(select);
|
|
337
467
|
|
|
338
468
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
469
|
+
expect(document.activeElement === select).toBeFalsy();
|
|
470
|
+
});
|
|
471
|
+
test("Disabled select - Clear all options action must be shown but not clickable", function () {
|
|
472
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
473
|
+
label: "test-select-label",
|
|
474
|
+
value: ["1", "2"],
|
|
475
|
+
options: singleOptions,
|
|
476
|
+
disabled: true,
|
|
477
|
+
searchable: true,
|
|
478
|
+
multiple: true
|
|
479
|
+
})),
|
|
480
|
+
getByRole = _render8.getByRole,
|
|
481
|
+
getByText = _render8.getByText;
|
|
339
482
|
|
|
340
483
|
_userEvent["default"].click(getByRole("button"));
|
|
341
484
|
|
|
342
485
|
expect(getByText("Option 01, Option 02")).toBeTruthy();
|
|
343
486
|
});
|
|
344
|
-
test("
|
|
345
|
-
var
|
|
487
|
+
test("Disabled select - Does not call onBlur event", function () {
|
|
488
|
+
var onBlur = jest.fn();
|
|
489
|
+
|
|
490
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
491
|
+
label: "test-select-label",
|
|
492
|
+
options: singleOptions,
|
|
493
|
+
disabled: true,
|
|
494
|
+
onBlur: onBlur
|
|
495
|
+
})),
|
|
496
|
+
getByRole = _render9.getByRole;
|
|
497
|
+
|
|
498
|
+
var select = getByRole("combobox");
|
|
499
|
+
|
|
500
|
+
_userEvent["default"].click(select);
|
|
501
|
+
|
|
502
|
+
_react2.fireEvent.keyDown(getByRole("combobox"), {
|
|
503
|
+
key: "Tab",
|
|
504
|
+
code: "Tab",
|
|
505
|
+
keyCode: 9,
|
|
506
|
+
charCode: 9
|
|
507
|
+
});
|
|
508
|
+
|
|
509
|
+
expect(onBlur).not.toHaveBeenCalled();
|
|
510
|
+
});
|
|
511
|
+
test("Disabled select - When the component gains the focus, the listbox does not open", function () {
|
|
512
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
346
513
|
label: "test-select-label",
|
|
347
514
|
value: ["1", "2"],
|
|
348
|
-
options:
|
|
515
|
+
options: singleOptions,
|
|
349
516
|
disabled: true,
|
|
350
517
|
searchable: true,
|
|
351
518
|
multiple: true
|
|
352
519
|
})),
|
|
353
|
-
getByRole =
|
|
354
|
-
queryByRole =
|
|
520
|
+
getByRole = _render10.getByRole,
|
|
521
|
+
queryByRole = _render10.queryByRole;
|
|
355
522
|
|
|
356
523
|
var select = getByRole("combobox");
|
|
357
524
|
|
|
358
525
|
_react2.fireEvent.focus(select);
|
|
359
526
|
|
|
360
527
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
528
|
+
expect(document.activeElement === select).toBeFalsy();
|
|
361
529
|
});
|
|
362
|
-
test("
|
|
530
|
+
test("Disabled select - Doesn't send its value when submitted", function () {
|
|
531
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
532
|
+
e.preventDefault();
|
|
533
|
+
var formData = new FormData(e.target);
|
|
534
|
+
var formProps = Object.fromEntries(formData);
|
|
535
|
+
expect(formProps).toStrictEqual({});
|
|
536
|
+
});
|
|
537
|
+
|
|
538
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
539
|
+
onSubmit: handlerOnSubmit
|
|
540
|
+
}, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
541
|
+
label: "test-select-label",
|
|
542
|
+
defaultValue: "1",
|
|
543
|
+
options: singleOptions,
|
|
544
|
+
disabled: true
|
|
545
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
546
|
+
type: "submit"
|
|
547
|
+
}, "Submit"))),
|
|
548
|
+
getByText = _render11.getByText;
|
|
549
|
+
|
|
550
|
+
var submit = getByText("Submit");
|
|
551
|
+
|
|
552
|
+
_userEvent["default"].click(submit);
|
|
553
|
+
});
|
|
554
|
+
test("Controlled - Single selection - Not optional constraint", function () {
|
|
363
555
|
var onChange = jest.fn();
|
|
364
556
|
var onBlur = jest.fn();
|
|
365
557
|
|
|
366
|
-
var
|
|
558
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
367
559
|
label: "test-select-label",
|
|
368
|
-
options:
|
|
560
|
+
options: singleOptions,
|
|
369
561
|
onChange: onChange,
|
|
370
562
|
onBlur: onBlur
|
|
371
563
|
})),
|
|
372
|
-
getByRole =
|
|
373
|
-
getAllByRole =
|
|
564
|
+
getByRole = _render12.getByRole,
|
|
565
|
+
getAllByRole = _render12.getAllByRole;
|
|
374
566
|
|
|
375
567
|
var select = getByRole("combobox");
|
|
376
568
|
expect(select.getAttribute("aria-required")).toBe("true");
|
|
@@ -391,32 +583,93 @@ describe("Select component tests", function () {
|
|
|
391
583
|
|
|
392
584
|
expect(onChange).toHaveBeenCalled();
|
|
393
585
|
expect(onChange).toHaveBeenCalledWith({
|
|
394
|
-
value: "1"
|
|
395
|
-
error: null
|
|
586
|
+
value: "1"
|
|
396
587
|
});
|
|
397
588
|
|
|
589
|
+
_react2.fireEvent.blur(select);
|
|
590
|
+
|
|
591
|
+
expect(onBlur).toHaveBeenCalled();
|
|
592
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
593
|
+
value: "1"
|
|
594
|
+
});
|
|
595
|
+
});
|
|
596
|
+
test("Controlled - Multiple selection - Not optional constraint", function () {
|
|
597
|
+
var onChange = jest.fn();
|
|
598
|
+
var onBlur = jest.fn();
|
|
599
|
+
|
|
600
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
601
|
+
label: "test-select-label",
|
|
602
|
+
options: singleOptions,
|
|
603
|
+
onChange: onChange,
|
|
604
|
+
onBlur: onBlur,
|
|
605
|
+
multiple: true
|
|
606
|
+
})),
|
|
607
|
+
getByRole = _render13.getByRole,
|
|
608
|
+
getAllByRole = _render13.getAllByRole;
|
|
609
|
+
|
|
610
|
+
var select = getByRole("combobox");
|
|
611
|
+
expect(select.getAttribute("aria-required")).toBe("true");
|
|
612
|
+
|
|
398
613
|
_react2.fireEvent.focus(select);
|
|
399
614
|
|
|
400
615
|
_react2.fireEvent.blur(select);
|
|
401
616
|
|
|
402
617
|
expect(onBlur).toHaveBeenCalled();
|
|
403
618
|
expect(onBlur).toHaveBeenCalledWith({
|
|
404
|
-
value:
|
|
405
|
-
error:
|
|
619
|
+
value: [],
|
|
620
|
+
error: "This field is required. Please, enter a value."
|
|
621
|
+
});
|
|
622
|
+
|
|
623
|
+
_userEvent["default"].click(select);
|
|
624
|
+
|
|
625
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
626
|
+
|
|
627
|
+
_userEvent["default"].click(getAllByRole("option")[1]);
|
|
628
|
+
|
|
629
|
+
expect(onChange).toHaveBeenCalled();
|
|
630
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
631
|
+
value: ["1", "2"]
|
|
632
|
+
});
|
|
633
|
+
|
|
634
|
+
_react2.fireEvent.blur(select);
|
|
635
|
+
|
|
636
|
+
expect(onBlur).toHaveBeenCalled();
|
|
637
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
638
|
+
value: ["1", "2"]
|
|
639
|
+
});
|
|
640
|
+
|
|
641
|
+
_userEvent["default"].click(select);
|
|
642
|
+
|
|
643
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
644
|
+
|
|
645
|
+
_userEvent["default"].click(getAllByRole("option")[1]);
|
|
646
|
+
|
|
647
|
+
expect(onChange).toHaveBeenCalled();
|
|
648
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
649
|
+
value: [],
|
|
650
|
+
error: "This field is required. Please, enter a value."
|
|
651
|
+
});
|
|
652
|
+
|
|
653
|
+
_react2.fireEvent.blur(select);
|
|
654
|
+
|
|
655
|
+
expect(onBlur).toHaveBeenCalled();
|
|
656
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
657
|
+
value: [],
|
|
658
|
+
error: "This field is required. Please, enter a value."
|
|
406
659
|
});
|
|
407
660
|
});
|
|
408
661
|
test("Controlled - Optional constraint", function () {
|
|
409
662
|
var onChange = jest.fn();
|
|
410
663
|
var onBlur = jest.fn();
|
|
411
664
|
|
|
412
|
-
var
|
|
665
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
413
666
|
label: "test-select-label",
|
|
414
|
-
options:
|
|
667
|
+
options: singleOptions,
|
|
415
668
|
onChange: onChange,
|
|
416
669
|
onBlur: onBlur,
|
|
417
670
|
optional: true
|
|
418
671
|
})),
|
|
419
|
-
getByRole =
|
|
672
|
+
getByRole = _render14.getByRole;
|
|
420
673
|
|
|
421
674
|
var select = getByRole("combobox");
|
|
422
675
|
expect(select.getAttribute("aria-required")).toBe("false");
|
|
@@ -427,20 +680,19 @@ describe("Select component tests", function () {
|
|
|
427
680
|
|
|
428
681
|
expect(onBlur).toHaveBeenCalled();
|
|
429
682
|
expect(onBlur).toHaveBeenCalledWith({
|
|
430
|
-
value: ""
|
|
431
|
-
error: null
|
|
683
|
+
value: ""
|
|
432
684
|
});
|
|
433
685
|
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
434
686
|
});
|
|
435
687
|
test("Non-Grouped Options - Opens listbox and renders correctly or closes it with a click on select", function () {
|
|
436
|
-
var
|
|
688
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
437
689
|
label: "test-select-label",
|
|
438
|
-
options:
|
|
690
|
+
options: singleOptions
|
|
439
691
|
})),
|
|
440
|
-
getByText =
|
|
441
|
-
getByRole =
|
|
442
|
-
getAllByRole =
|
|
443
|
-
queryByRole =
|
|
692
|
+
getByText = _render15.getByText,
|
|
693
|
+
getByRole = _render15.getByRole,
|
|
694
|
+
getAllByRole = _render15.getAllByRole,
|
|
695
|
+
queryByRole = _render15.queryByRole;
|
|
444
696
|
|
|
445
697
|
var select = getByRole("combobox");
|
|
446
698
|
|
|
@@ -460,12 +712,12 @@ describe("Select component tests", function () {
|
|
|
460
712
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
461
713
|
});
|
|
462
714
|
test("Non-Grouped Options - If an empty list of options is passed, the select is rendered but doestn't open the listbox", function () {
|
|
463
|
-
var
|
|
715
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
464
716
|
label: "test-select-label",
|
|
465
717
|
options: []
|
|
466
718
|
})),
|
|
467
|
-
getByRole =
|
|
468
|
-
queryByRole =
|
|
719
|
+
getByRole = _render16.getByRole,
|
|
720
|
+
queryByRole = _render16.queryByRole;
|
|
469
721
|
|
|
470
722
|
var select = getByRole("combobox");
|
|
471
723
|
|
|
@@ -477,17 +729,17 @@ describe("Select component tests", function () {
|
|
|
477
729
|
test("Non-Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
478
730
|
var onChange = jest.fn();
|
|
479
731
|
|
|
480
|
-
var
|
|
732
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
481
733
|
name: "test",
|
|
482
734
|
label: "test-select-label",
|
|
483
|
-
options:
|
|
735
|
+
options: singleOptions,
|
|
484
736
|
onChange: onChange
|
|
485
737
|
})),
|
|
486
|
-
getByText =
|
|
487
|
-
getByRole =
|
|
488
|
-
getAllByRole =
|
|
489
|
-
queryByRole =
|
|
490
|
-
container =
|
|
738
|
+
getByText = _render17.getByText,
|
|
739
|
+
getByRole = _render17.getByRole,
|
|
740
|
+
getAllByRole = _render17.getAllByRole,
|
|
741
|
+
queryByRole = _render17.queryByRole,
|
|
742
|
+
container = _render17.container;
|
|
491
743
|
|
|
492
744
|
var select = getByRole("combobox");
|
|
493
745
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -497,8 +749,7 @@ describe("Select component tests", function () {
|
|
|
497
749
|
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
498
750
|
|
|
499
751
|
expect(onChange).toHaveBeenCalledWith({
|
|
500
|
-
value: "3"
|
|
501
|
-
error: null
|
|
752
|
+
value: "3"
|
|
502
753
|
});
|
|
503
754
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
504
755
|
expect(getByText("Option 03")).toBeTruthy();
|
|
@@ -508,19 +759,19 @@ describe("Select component tests", function () {
|
|
|
508
759
|
expect(getAllByRole("option")[2].getAttribute("aria-selected")).toBe("true");
|
|
509
760
|
expect(submitInput.value).toBe("3");
|
|
510
761
|
});
|
|
511
|
-
test("Non-Grouped Options - Optional renders an empty first option with the placeholder as its label", function () {
|
|
762
|
+
test("Non-Grouped Options - Optional renders an empty first option (selected by default) with the placeholder as its label", function () {
|
|
512
763
|
var onChange = jest.fn();
|
|
513
764
|
|
|
514
|
-
var
|
|
765
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
515
766
|
label: "test-select-label",
|
|
516
767
|
placeholder: "Choose an option",
|
|
517
|
-
options:
|
|
768
|
+
options: singleOptions,
|
|
518
769
|
onChange: onChange,
|
|
519
770
|
optional: true
|
|
520
771
|
})),
|
|
521
|
-
getByRole =
|
|
522
|
-
getAllByRole =
|
|
523
|
-
getAllByText =
|
|
772
|
+
getByRole = _render18.getByRole,
|
|
773
|
+
getAllByRole = _render18.getAllByRole,
|
|
774
|
+
getAllByText = _render18.getAllByText;
|
|
524
775
|
|
|
525
776
|
var select = getByRole("combobox");
|
|
526
777
|
|
|
@@ -532,8 +783,7 @@ describe("Select component tests", function () {
|
|
|
532
783
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
533
784
|
|
|
534
785
|
expect(onChange).toHaveBeenCalledWith({
|
|
535
|
-
value: ""
|
|
536
|
-
error: null
|
|
786
|
+
value: ""
|
|
537
787
|
});
|
|
538
788
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
539
789
|
|
|
@@ -554,8 +804,7 @@ describe("Select component tests", function () {
|
|
|
554
804
|
});
|
|
555
805
|
|
|
556
806
|
expect(onChange).toHaveBeenCalledWith({
|
|
557
|
-
value: ""
|
|
558
|
-
error: null
|
|
807
|
+
value: ""
|
|
559
808
|
});
|
|
560
809
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
561
810
|
|
|
@@ -568,13 +817,42 @@ describe("Select component tests", function () {
|
|
|
568
817
|
|
|
569
818
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
570
819
|
});
|
|
820
|
+
test("Non-Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
821
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
822
|
+
label: "test-select-label",
|
|
823
|
+
placeholder: "Placeholder example",
|
|
824
|
+
options: singleOptions,
|
|
825
|
+
optional: true,
|
|
826
|
+
searchable: true
|
|
827
|
+
})),
|
|
828
|
+
getByRole = _render19.getByRole,
|
|
829
|
+
getAllByRole = _render19.getAllByRole,
|
|
830
|
+
getByText = _render19.getByText,
|
|
831
|
+
queryByText = _render19.queryByText,
|
|
832
|
+
container = _render19.container;
|
|
833
|
+
|
|
834
|
+
var select = getByRole("combobox");
|
|
835
|
+
var searchInput = container.querySelectorAll("input")[1];
|
|
836
|
+
|
|
837
|
+
_userEvent["default"].click(select);
|
|
838
|
+
|
|
839
|
+
_userEvent["default"].type(searchInput, "1");
|
|
840
|
+
|
|
841
|
+
expect(getByText("Placeholder example")).toBeTruthy();
|
|
842
|
+
expect(getAllByRole("option").length).toBe(12);
|
|
843
|
+
|
|
844
|
+
_userEvent["default"].type(searchInput, "123");
|
|
845
|
+
|
|
846
|
+
expect(queryByText("Placeholder example")).toBeFalsy();
|
|
847
|
+
expect(getByText("No matches found")).toBeTruthy();
|
|
848
|
+
});
|
|
571
849
|
test("Non-Grouped Options - Renders SVG icons correctly when passed with options", function () {
|
|
572
|
-
var
|
|
850
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
573
851
|
label: "test-select-label",
|
|
574
|
-
options:
|
|
852
|
+
options: svgIconOptions
|
|
575
853
|
})),
|
|
576
|
-
getByRole =
|
|
577
|
-
getAllByRole =
|
|
854
|
+
getByRole = _render20.getByRole,
|
|
855
|
+
getAllByRole = _render20.getAllByRole;
|
|
578
856
|
|
|
579
857
|
var select = getByRole("combobox");
|
|
580
858
|
|
|
@@ -584,13 +862,13 @@ describe("Select component tests", function () {
|
|
|
584
862
|
expect(getAllByRole("option").length).toBe(5);
|
|
585
863
|
});
|
|
586
864
|
test("Non-Grouped Options - Renders string url icons correctly when passed with options", function () {
|
|
587
|
-
var
|
|
865
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
588
866
|
label: "test-select-label",
|
|
589
|
-
options:
|
|
867
|
+
options: urlIconOptions,
|
|
590
868
|
optional: true
|
|
591
869
|
})),
|
|
592
|
-
getByRole =
|
|
593
|
-
getAllByRole =
|
|
870
|
+
getByRole = _render21.getByRole,
|
|
871
|
+
getAllByRole = _render21.getAllByRole;
|
|
594
872
|
|
|
595
873
|
var select = getByRole("combobox");
|
|
596
874
|
|
|
@@ -600,12 +878,12 @@ describe("Select component tests", function () {
|
|
|
600
878
|
expect(getAllByRole("option").length).toBe(6);
|
|
601
879
|
});
|
|
602
880
|
test("Non-Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
603
|
-
var
|
|
881
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
604
882
|
label: "test-select-label",
|
|
605
|
-
options:
|
|
883
|
+
options: singleOptions
|
|
606
884
|
})),
|
|
607
|
-
getByRole =
|
|
608
|
-
queryByRole =
|
|
885
|
+
getByRole = _render22.getByRole,
|
|
886
|
+
queryByRole = _render22.queryByRole;
|
|
609
887
|
|
|
610
888
|
var select = getByRole("combobox");
|
|
611
889
|
|
|
@@ -620,12 +898,12 @@ describe("Select component tests", function () {
|
|
|
620
898
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
621
899
|
});
|
|
622
900
|
test("Non-Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
623
|
-
var
|
|
901
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
624
902
|
label: "test-select-label",
|
|
625
|
-
options:
|
|
903
|
+
options: singleOptions
|
|
626
904
|
})),
|
|
627
|
-
getByRole =
|
|
628
|
-
queryByRole =
|
|
905
|
+
getByRole = _render23.getByRole,
|
|
906
|
+
queryByRole = _render23.queryByRole;
|
|
629
907
|
|
|
630
908
|
var select = getByRole("combobox");
|
|
631
909
|
|
|
@@ -647,12 +925,12 @@ describe("Select component tests", function () {
|
|
|
647
925
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
648
926
|
});
|
|
649
927
|
test("Non-Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
650
|
-
var
|
|
928
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
651
929
|
label: "test-select-label",
|
|
652
|
-
options:
|
|
930
|
+
options: singleOptions
|
|
653
931
|
})),
|
|
654
|
-
getByRole =
|
|
655
|
-
queryByRole =
|
|
932
|
+
getByRole = _render24.getByRole,
|
|
933
|
+
queryByRole = _render24.queryByRole;
|
|
656
934
|
|
|
657
935
|
var select = getByRole("combobox");
|
|
658
936
|
|
|
@@ -667,12 +945,12 @@ describe("Select component tests", function () {
|
|
|
667
945
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
668
946
|
});
|
|
669
947
|
test("Non-Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
670
|
-
var
|
|
948
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
671
949
|
label: "test-select-label",
|
|
672
|
-
options:
|
|
950
|
+
options: singleOptions
|
|
673
951
|
})),
|
|
674
|
-
getByRole =
|
|
675
|
-
queryByRole =
|
|
952
|
+
getByRole = _render25.getByRole,
|
|
953
|
+
queryByRole = _render25.queryByRole;
|
|
676
954
|
|
|
677
955
|
var select = getByRole("combobox");
|
|
678
956
|
|
|
@@ -696,16 +974,16 @@ describe("Select component tests", function () {
|
|
|
696
974
|
test("Non-Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
697
975
|
var onChange = jest.fn();
|
|
698
976
|
|
|
699
|
-
var
|
|
977
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
700
978
|
label: "test-select-label",
|
|
701
|
-
options:
|
|
979
|
+
options: singleOptions,
|
|
702
980
|
onChange: onChange,
|
|
703
981
|
optional: true
|
|
704
982
|
})),
|
|
705
|
-
getByText =
|
|
706
|
-
getByRole =
|
|
707
|
-
getAllByRole =
|
|
708
|
-
queryByRole =
|
|
983
|
+
getByText = _render26.getByText,
|
|
984
|
+
getByRole = _render26.getByRole,
|
|
985
|
+
getAllByRole = _render26.getAllByRole,
|
|
986
|
+
queryByRole = _render26.queryByRole;
|
|
709
987
|
|
|
710
988
|
var select = getByRole("combobox");
|
|
711
989
|
|
|
@@ -745,8 +1023,7 @@ describe("Select component tests", function () {
|
|
|
745
1023
|
});
|
|
746
1024
|
|
|
747
1025
|
expect(onChange).toHaveBeenCalledWith({
|
|
748
|
-
value: "20"
|
|
749
|
-
error: null
|
|
1026
|
+
value: "20"
|
|
750
1027
|
});
|
|
751
1028
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
752
1029
|
expect(getByText("Option 20")).toBeTruthy();
|
|
@@ -758,17 +1035,17 @@ describe("Select component tests", function () {
|
|
|
758
1035
|
test("Non-Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
759
1036
|
var onChange = jest.fn();
|
|
760
1037
|
|
|
761
|
-
var
|
|
1038
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
762
1039
|
label: "test-select-label",
|
|
763
|
-
options:
|
|
1040
|
+
options: singleOptions,
|
|
764
1041
|
onChange: onChange,
|
|
765
1042
|
searchable: true
|
|
766
1043
|
})),
|
|
767
|
-
container =
|
|
768
|
-
getByText =
|
|
769
|
-
getByRole =
|
|
770
|
-
getAllByRole =
|
|
771
|
-
queryByRole =
|
|
1044
|
+
container = _render27.container,
|
|
1045
|
+
getByText = _render27.getByText,
|
|
1046
|
+
getByRole = _render27.getByRole,
|
|
1047
|
+
getAllByRole = _render27.getAllByRole,
|
|
1048
|
+
queryByRole = _render27.queryByRole;
|
|
772
1049
|
|
|
773
1050
|
var select = getByRole("combobox");
|
|
774
1051
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -782,8 +1059,7 @@ describe("Select component tests", function () {
|
|
|
782
1059
|
_userEvent["default"].click(getByRole("option"));
|
|
783
1060
|
|
|
784
1061
|
expect(onChange).toHaveBeenCalledWith({
|
|
785
|
-
value: "8"
|
|
786
|
-
error: null
|
|
1062
|
+
value: "8"
|
|
787
1063
|
});
|
|
788
1064
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
789
1065
|
expect(getByText("Option 08")).toBeTruthy();
|
|
@@ -796,15 +1072,15 @@ describe("Select component tests", function () {
|
|
|
796
1072
|
test("Non-Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
797
1073
|
var onChange = jest.fn();
|
|
798
1074
|
|
|
799
|
-
var
|
|
1075
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
800
1076
|
label: "test-select-label",
|
|
801
|
-
options:
|
|
1077
|
+
options: singleOptions,
|
|
802
1078
|
onChange: onChange,
|
|
803
1079
|
searchable: true
|
|
804
1080
|
})),
|
|
805
|
-
container =
|
|
806
|
-
getByText =
|
|
807
|
-
getByRole =
|
|
1081
|
+
container = _render28.container,
|
|
1082
|
+
getByText = _render28.getByText,
|
|
1083
|
+
getByRole = _render28.getByRole;
|
|
808
1084
|
|
|
809
1085
|
var select = getByRole("combobox");
|
|
810
1086
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -820,16 +1096,16 @@ describe("Select component tests", function () {
|
|
|
820
1096
|
test("Non-Grouped Options: Searchable - Clicking the select, when the list is open, clears the search value", function () {
|
|
821
1097
|
var onChange = jest.fn();
|
|
822
1098
|
|
|
823
|
-
var
|
|
1099
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
824
1100
|
label: "test-select-label",
|
|
825
|
-
options:
|
|
1101
|
+
options: singleOptions,
|
|
826
1102
|
onChange: onChange,
|
|
827
1103
|
searchable: true
|
|
828
1104
|
})),
|
|
829
|
-
container =
|
|
830
|
-
getByText =
|
|
831
|
-
getByRole =
|
|
832
|
-
getAllByRole =
|
|
1105
|
+
container = _render29.container,
|
|
1106
|
+
getByText = _render29.getByText,
|
|
1107
|
+
getByRole = _render29.getByRole,
|
|
1108
|
+
getAllByRole = _render29.getAllByRole;
|
|
833
1109
|
|
|
834
1110
|
var select = getByRole("combobox");
|
|
835
1111
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -852,15 +1128,15 @@ describe("Select component tests", function () {
|
|
|
852
1128
|
test("Non-Grouped Options: Searchable - Writing displays the listbox, if it was not open", function () {
|
|
853
1129
|
var onChange = jest.fn();
|
|
854
1130
|
|
|
855
|
-
var
|
|
1131
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
856
1132
|
label: "test-select-label",
|
|
857
|
-
options:
|
|
1133
|
+
options: singleOptions,
|
|
858
1134
|
onChange: onChange,
|
|
859
1135
|
searchable: true
|
|
860
1136
|
})),
|
|
861
|
-
container =
|
|
862
|
-
getByRole =
|
|
863
|
-
queryByRole =
|
|
1137
|
+
container = _render30.container,
|
|
1138
|
+
getByRole = _render30.getByRole,
|
|
1139
|
+
queryByRole = _render30.queryByRole;
|
|
864
1140
|
|
|
865
1141
|
var select = getByRole("combobox");
|
|
866
1142
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -878,15 +1154,15 @@ describe("Select component tests", function () {
|
|
|
878
1154
|
test("Non-Grouped Options: Searchable - Key Esc cleans the search value and closes the options", function () {
|
|
879
1155
|
var onChange = jest.fn();
|
|
880
1156
|
|
|
881
|
-
var
|
|
1157
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
882
1158
|
label: "test-select-label",
|
|
883
|
-
options:
|
|
1159
|
+
options: singleOptions,
|
|
884
1160
|
onChange: onChange,
|
|
885
1161
|
searchable: true
|
|
886
1162
|
})),
|
|
887
|
-
container =
|
|
888
|
-
getByRole =
|
|
889
|
-
queryByRole =
|
|
1163
|
+
container = _render31.container,
|
|
1164
|
+
getByRole = _render31.getByRole,
|
|
1165
|
+
queryByRole = _render31.queryByRole;
|
|
890
1166
|
|
|
891
1167
|
var select = getByRole("combobox");
|
|
892
1168
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -906,16 +1182,16 @@ describe("Select component tests", function () {
|
|
|
906
1182
|
test("Non-Grouped Options: Searchable - While user types, a clear action is displayed for cleaning the search value", function () {
|
|
907
1183
|
var onChange = jest.fn();
|
|
908
1184
|
|
|
909
|
-
var
|
|
1185
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
910
1186
|
label: "test-select-label",
|
|
911
|
-
options:
|
|
1187
|
+
options: singleOptions,
|
|
912
1188
|
onChange: onChange,
|
|
913
1189
|
searchable: true
|
|
914
1190
|
})),
|
|
915
|
-
container =
|
|
916
|
-
getByRole =
|
|
917
|
-
getAllByRole =
|
|
918
|
-
queryByTitle =
|
|
1191
|
+
container = _render32.container,
|
|
1192
|
+
getByRole = _render32.getByRole,
|
|
1193
|
+
getAllByRole = _render32.getAllByRole,
|
|
1194
|
+
queryByTitle = _render32.queryByTitle;
|
|
919
1195
|
|
|
920
1196
|
var searchInput = container.querySelectorAll("input")[1];
|
|
921
1197
|
|
|
@@ -935,19 +1211,19 @@ describe("Select component tests", function () {
|
|
|
935
1211
|
test("Non-Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
936
1212
|
var onChange = jest.fn();
|
|
937
1213
|
|
|
938
|
-
var
|
|
1214
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
939
1215
|
name: "test",
|
|
940
1216
|
label: "test-select-label",
|
|
941
|
-
options:
|
|
1217
|
+
options: singleOptions,
|
|
942
1218
|
onChange: onChange,
|
|
943
1219
|
multiple: true
|
|
944
1220
|
})),
|
|
945
|
-
getByText =
|
|
946
|
-
getAllByText =
|
|
947
|
-
getByRole =
|
|
948
|
-
getAllByRole =
|
|
949
|
-
queryByRole =
|
|
950
|
-
container =
|
|
1221
|
+
getByText = _render33.getByText,
|
|
1222
|
+
getAllByText = _render33.getAllByText,
|
|
1223
|
+
getByRole = _render33.getByRole,
|
|
1224
|
+
getAllByRole = _render33.getAllByRole,
|
|
1225
|
+
queryByRole = _render33.queryByRole,
|
|
1226
|
+
container = _render33.container;
|
|
951
1227
|
|
|
952
1228
|
var select = getByRole("combobox");
|
|
953
1229
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -956,9 +1232,11 @@ describe("Select component tests", function () {
|
|
|
956
1232
|
|
|
957
1233
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
958
1234
|
|
|
959
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
960
|
-
|
|
1235
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
961
1236
|
|
|
1237
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1238
|
+
value: ["11"]
|
|
1239
|
+
});
|
|
962
1240
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
963
1241
|
expect(getAllByText("Option 11").length).toBe(2);
|
|
964
1242
|
|
|
@@ -981,31 +1259,33 @@ describe("Select component tests", function () {
|
|
|
981
1259
|
code: "Enter",
|
|
982
1260
|
keyCode: 13,
|
|
983
1261
|
charCode: 13
|
|
984
|
-
});
|
|
985
|
-
|
|
1262
|
+
});
|
|
986
1263
|
|
|
1264
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1265
|
+
value: ["11", "19"]
|
|
1266
|
+
});
|
|
987
1267
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
988
1268
|
expect(getByText("Option 11, Option 19")).toBeTruthy();
|
|
989
1269
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
990
1270
|
expect(getAllByRole("option")[18].getAttribute("aria-selected")).toBe("true");
|
|
991
|
-
expect(submitInput.value).toBe("11,
|
|
1271
|
+
expect(submitInput.value).toBe("11,19");
|
|
992
1272
|
});
|
|
993
1273
|
test("Non-Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
994
1274
|
var onChange = jest.fn();
|
|
995
1275
|
|
|
996
|
-
var
|
|
1276
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
997
1277
|
label: "test-select-label",
|
|
998
|
-
options:
|
|
1278
|
+
options: singleOptions,
|
|
999
1279
|
onChange: onChange,
|
|
1000
1280
|
multiple: true
|
|
1001
1281
|
})),
|
|
1002
|
-
getByText =
|
|
1003
|
-
queryByText =
|
|
1004
|
-
getByRole =
|
|
1005
|
-
getAllByRole =
|
|
1006
|
-
queryByRole =
|
|
1007
|
-
getByTitle =
|
|
1008
|
-
queryByTitle =
|
|
1282
|
+
getByText = _render34.getByText,
|
|
1283
|
+
queryByText = _render34.queryByText,
|
|
1284
|
+
getByRole = _render34.getByRole,
|
|
1285
|
+
getAllByRole = _render34.getAllByRole,
|
|
1286
|
+
queryByRole = _render34.queryByRole,
|
|
1287
|
+
getByTitle = _render34.getByTitle,
|
|
1288
|
+
queryByTitle = _render34.queryByTitle;
|
|
1009
1289
|
|
|
1010
1290
|
var select = getByRole("combobox");
|
|
1011
1291
|
|
|
@@ -1015,9 +1295,11 @@ describe("Select component tests", function () {
|
|
|
1015
1295
|
|
|
1016
1296
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1017
1297
|
|
|
1018
|
-
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1019
|
-
|
|
1298
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1020
1299
|
|
|
1300
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1301
|
+
value: ["6", "9", "14"]
|
|
1302
|
+
});
|
|
1021
1303
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1022
1304
|
expect(getByText("Option 06, Option 09, Option 14")).toBeTruthy();
|
|
1023
1305
|
expect(getByText("3", {
|
|
@@ -1026,6 +1308,10 @@ describe("Select component tests", function () {
|
|
|
1026
1308
|
|
|
1027
1309
|
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
1028
1310
|
|
|
1311
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1312
|
+
value: [],
|
|
1313
|
+
error: "This field is required. Please, enter a value."
|
|
1314
|
+
});
|
|
1029
1315
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1030
1316
|
expect(queryByText("Option 06, Option 09, Option 14")).toBeFalsy();
|
|
1031
1317
|
expect(queryByText("3")).toBeFalsy();
|
|
@@ -1034,18 +1320,18 @@ describe("Select component tests", function () {
|
|
|
1034
1320
|
test("Non-Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1035
1321
|
var onChange = jest.fn();
|
|
1036
1322
|
|
|
1037
|
-
var
|
|
1323
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1038
1324
|
label: "test-select-label",
|
|
1039
1325
|
placeholder: "Choose an option",
|
|
1040
|
-
options:
|
|
1326
|
+
options: singleOptions,
|
|
1041
1327
|
onChange: onChange,
|
|
1042
1328
|
multiple: true,
|
|
1043
1329
|
optional: true
|
|
1044
1330
|
})),
|
|
1045
|
-
getByText =
|
|
1046
|
-
getAllByText =
|
|
1047
|
-
getByRole =
|
|
1048
|
-
getAllByRole =
|
|
1331
|
+
getByText = _render35.getByText,
|
|
1332
|
+
getAllByText = _render35.getAllByText,
|
|
1333
|
+
getByRole = _render35.getByRole,
|
|
1334
|
+
getAllByRole = _render35.getAllByRole;
|
|
1049
1335
|
|
|
1050
1336
|
var select = getByRole("combobox");
|
|
1051
1337
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1055,19 +1341,21 @@ describe("Select component tests", function () {
|
|
|
1055
1341
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1056
1342
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1057
1343
|
|
|
1058
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1059
|
-
|
|
1344
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1060
1345
|
|
|
1346
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1347
|
+
value: ["1"]
|
|
1348
|
+
});
|
|
1061
1349
|
expect(getAllByText("Option 01").length).toBe(2);
|
|
1062
1350
|
});
|
|
1063
1351
|
test("Non-Grouped Options - If an options was previously selected when its opened (by key press), the visual focus appears always in the selected option", function () {
|
|
1064
|
-
var
|
|
1352
|
+
var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1065
1353
|
label: "test-select-label",
|
|
1066
|
-
options:
|
|
1354
|
+
options: singleOptions
|
|
1067
1355
|
})),
|
|
1068
|
-
getByText =
|
|
1069
|
-
getByRole =
|
|
1070
|
-
getAllByRole =
|
|
1356
|
+
getByText = _render36.getByText,
|
|
1357
|
+
getByRole = _render36.getByRole,
|
|
1358
|
+
getAllByRole = _render36.getAllByRole;
|
|
1071
1359
|
|
|
1072
1360
|
var select = getByRole("combobox");
|
|
1073
1361
|
|
|
@@ -1135,14 +1423,14 @@ describe("Select component tests", function () {
|
|
|
1135
1423
|
expect(getByText("Option 06")).toBeTruthy();
|
|
1136
1424
|
});
|
|
1137
1425
|
test("Non-Grouped Options - If an options was previously selected when its opened (by click and key press), the visual focus appears always in the selected option", function () {
|
|
1138
|
-
var
|
|
1426
|
+
var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1139
1427
|
label: "test-select-label",
|
|
1140
|
-
options:
|
|
1428
|
+
options: singleOptions
|
|
1141
1429
|
})),
|
|
1142
|
-
getByText =
|
|
1143
|
-
getByRole =
|
|
1144
|
-
getAllByRole =
|
|
1145
|
-
queryByRole =
|
|
1430
|
+
getByText = _render37.getByText,
|
|
1431
|
+
getByRole = _render37.getByRole,
|
|
1432
|
+
getAllByRole = _render37.getAllByRole,
|
|
1433
|
+
queryByRole = _render37.queryByRole;
|
|
1146
1434
|
|
|
1147
1435
|
var select = getByRole("combobox");
|
|
1148
1436
|
|
|
@@ -1210,14 +1498,14 @@ describe("Select component tests", function () {
|
|
|
1210
1498
|
expect(getByText("Option 17")).toBeTruthy();
|
|
1211
1499
|
});
|
|
1212
1500
|
test("Grouped Options - Opens listbox and renders it correctly or closes it with a click on select", function () {
|
|
1213
|
-
var
|
|
1501
|
+
var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1214
1502
|
label: "test-select-label",
|
|
1215
|
-
options:
|
|
1503
|
+
options: groupOptions
|
|
1216
1504
|
})),
|
|
1217
|
-
getByText =
|
|
1218
|
-
getByRole =
|
|
1219
|
-
getAllByRole =
|
|
1220
|
-
queryByRole =
|
|
1505
|
+
getByText = _render38.getByText,
|
|
1506
|
+
getByRole = _render38.getByRole,
|
|
1507
|
+
getAllByRole = _render38.getAllByRole,
|
|
1508
|
+
queryByRole = _render38.queryByRole;
|
|
1221
1509
|
|
|
1222
1510
|
var select = getByRole("combobox");
|
|
1223
1511
|
|
|
@@ -1245,15 +1533,15 @@ describe("Select component tests", function () {
|
|
|
1245
1533
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
1246
1534
|
});
|
|
1247
1535
|
test("Grouped Options - If an empty list of options in a group is passed, the select is rendered but doestn't open the listbox", function () {
|
|
1248
|
-
var
|
|
1536
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1249
1537
|
label: "test-select-label",
|
|
1250
1538
|
options: [{
|
|
1251
1539
|
label: "Group 1",
|
|
1252
1540
|
options: []
|
|
1253
1541
|
}]
|
|
1254
1542
|
})),
|
|
1255
|
-
getByRole =
|
|
1256
|
-
queryByRole =
|
|
1543
|
+
getByRole = _render39.getByRole,
|
|
1544
|
+
queryByRole = _render39.queryByRole;
|
|
1257
1545
|
|
|
1258
1546
|
var select = getByRole("combobox");
|
|
1259
1547
|
|
|
@@ -1265,17 +1553,17 @@ describe("Select component tests", function () {
|
|
|
1265
1553
|
test("Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
1266
1554
|
var onChange = jest.fn();
|
|
1267
1555
|
|
|
1268
|
-
var
|
|
1556
|
+
var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1269
1557
|
name: "test",
|
|
1270
1558
|
label: "test-select-label",
|
|
1271
|
-
options:
|
|
1559
|
+
options: groupOptions,
|
|
1272
1560
|
onChange: onChange
|
|
1273
1561
|
})),
|
|
1274
|
-
getByText =
|
|
1275
|
-
getByRole =
|
|
1276
|
-
getAllByRole =
|
|
1277
|
-
queryByRole =
|
|
1278
|
-
container =
|
|
1562
|
+
getByText = _render40.getByText,
|
|
1563
|
+
getByRole = _render40.getByRole,
|
|
1564
|
+
getAllByRole = _render40.getAllByRole,
|
|
1565
|
+
queryByRole = _render40.queryByRole,
|
|
1566
|
+
container = _render40.container;
|
|
1279
1567
|
|
|
1280
1568
|
var select = getByRole("combobox");
|
|
1281
1569
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1285,8 +1573,7 @@ describe("Select component tests", function () {
|
|
|
1285
1573
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1286
1574
|
|
|
1287
1575
|
expect(onChange).toHaveBeenCalledWith({
|
|
1288
|
-
value: "oviedo"
|
|
1289
|
-
error: null
|
|
1576
|
+
value: "oviedo"
|
|
1290
1577
|
});
|
|
1291
1578
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1292
1579
|
expect(getByText("Oviedo")).toBeTruthy();
|
|
@@ -1299,16 +1586,16 @@ describe("Select component tests", function () {
|
|
|
1299
1586
|
test("Grouped Options - Optional renders an empty first option (out of any group) with the placeholder as its label", function () {
|
|
1300
1587
|
var onChange = jest.fn();
|
|
1301
1588
|
|
|
1302
|
-
var
|
|
1589
|
+
var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1303
1590
|
label: "test-select-label",
|
|
1304
1591
|
placeholder: "Placeholder example",
|
|
1305
|
-
options:
|
|
1592
|
+
options: groupOptions,
|
|
1306
1593
|
onChange: onChange,
|
|
1307
1594
|
optional: true
|
|
1308
1595
|
})),
|
|
1309
|
-
getByRole =
|
|
1310
|
-
getAllByRole =
|
|
1311
|
-
getAllByText =
|
|
1596
|
+
getByRole = _render41.getByRole,
|
|
1597
|
+
getAllByRole = _render41.getAllByRole,
|
|
1598
|
+
getAllByText = _render41.getAllByText;
|
|
1312
1599
|
|
|
1313
1600
|
var select = getByRole("combobox");
|
|
1314
1601
|
|
|
@@ -1320,8 +1607,7 @@ describe("Select component tests", function () {
|
|
|
1320
1607
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1321
1608
|
|
|
1322
1609
|
expect(onChange).toHaveBeenCalledWith({
|
|
1323
|
-
value: ""
|
|
1324
|
-
error: null
|
|
1610
|
+
value: ""
|
|
1325
1611
|
});
|
|
1326
1612
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1327
1613
|
|
|
@@ -1342,8 +1628,7 @@ describe("Select component tests", function () {
|
|
|
1342
1628
|
});
|
|
1343
1629
|
|
|
1344
1630
|
expect(onChange).toHaveBeenCalledWith({
|
|
1345
|
-
value: ""
|
|
1346
|
-
error: null
|
|
1631
|
+
value: ""
|
|
1347
1632
|
});
|
|
1348
1633
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1349
1634
|
|
|
@@ -1356,14 +1641,43 @@ describe("Select component tests", function () {
|
|
|
1356
1641
|
|
|
1357
1642
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1358
1643
|
});
|
|
1644
|
+
test("Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
1645
|
+
var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1646
|
+
label: "test-select-label",
|
|
1647
|
+
placeholder: "Placeholder example",
|
|
1648
|
+
options: groupOptions,
|
|
1649
|
+
optional: true,
|
|
1650
|
+
searchable: true
|
|
1651
|
+
})),
|
|
1652
|
+
getByRole = _render42.getByRole,
|
|
1653
|
+
getAllByRole = _render42.getAllByRole,
|
|
1654
|
+
getByText = _render42.getByText,
|
|
1655
|
+
queryByText = _render42.queryByText,
|
|
1656
|
+
container = _render42.container;
|
|
1657
|
+
|
|
1658
|
+
var select = getByRole("combobox");
|
|
1659
|
+
var searchInput = container.querySelectorAll("input")[1];
|
|
1660
|
+
|
|
1661
|
+
_userEvent["default"].click(select);
|
|
1662
|
+
|
|
1663
|
+
_userEvent["default"].type(searchInput, "ro");
|
|
1664
|
+
|
|
1665
|
+
expect(getByText("Placeholder example")).toBeTruthy();
|
|
1666
|
+
expect(getAllByRole("option").length).toBe(6);
|
|
1667
|
+
|
|
1668
|
+
_userEvent["default"].type(searchInput, "roro");
|
|
1669
|
+
|
|
1670
|
+
expect(queryByText("Placeholder example")).toBeFalsy();
|
|
1671
|
+
expect(getByText("No matches found")).toBeTruthy();
|
|
1672
|
+
});
|
|
1359
1673
|
test("Grouped Options - Renders icons correctly when passed with group options", function () {
|
|
1360
|
-
var
|
|
1674
|
+
var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1361
1675
|
label: "test-select-label",
|
|
1362
|
-
options:
|
|
1676
|
+
options: groupedIconOptions,
|
|
1363
1677
|
optional: true
|
|
1364
1678
|
})),
|
|
1365
|
-
getByRole =
|
|
1366
|
-
getAllByRole =
|
|
1679
|
+
getByRole = _render43.getByRole,
|
|
1680
|
+
getAllByRole = _render43.getAllByRole;
|
|
1367
1681
|
|
|
1368
1682
|
var select = getByRole("combobox");
|
|
1369
1683
|
|
|
@@ -1373,12 +1687,12 @@ describe("Select component tests", function () {
|
|
|
1373
1687
|
expect(getAllByRole("option").length).toBe(11);
|
|
1374
1688
|
});
|
|
1375
1689
|
test("Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
1376
|
-
var
|
|
1690
|
+
var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1377
1691
|
label: "test-select-label",
|
|
1378
|
-
options:
|
|
1692
|
+
options: groupOptions
|
|
1379
1693
|
})),
|
|
1380
|
-
getByRole =
|
|
1381
|
-
queryByRole =
|
|
1694
|
+
getByRole = _render44.getByRole,
|
|
1695
|
+
queryByRole = _render44.queryByRole;
|
|
1382
1696
|
|
|
1383
1697
|
var select = getByRole("combobox");
|
|
1384
1698
|
|
|
@@ -1393,12 +1707,12 @@ describe("Select component tests", function () {
|
|
|
1393
1707
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1394
1708
|
});
|
|
1395
1709
|
test("Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
1396
|
-
var
|
|
1710
|
+
var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1397
1711
|
label: "test-select-label",
|
|
1398
|
-
options:
|
|
1712
|
+
options: groupOptions
|
|
1399
1713
|
})),
|
|
1400
|
-
getByRole =
|
|
1401
|
-
queryByRole =
|
|
1714
|
+
getByRole = _render45.getByRole,
|
|
1715
|
+
queryByRole = _render45.queryByRole;
|
|
1402
1716
|
|
|
1403
1717
|
var select = getByRole("combobox");
|
|
1404
1718
|
|
|
@@ -1420,12 +1734,12 @@ describe("Select component tests", function () {
|
|
|
1420
1734
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1421
1735
|
});
|
|
1422
1736
|
test("Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
1423
|
-
var
|
|
1737
|
+
var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1424
1738
|
label: "test-select-label",
|
|
1425
|
-
options:
|
|
1739
|
+
options: groupOptions
|
|
1426
1740
|
})),
|
|
1427
|
-
getByRole =
|
|
1428
|
-
queryByRole =
|
|
1741
|
+
getByRole = _render46.getByRole,
|
|
1742
|
+
queryByRole = _render46.queryByRole;
|
|
1429
1743
|
|
|
1430
1744
|
var select = getByRole("combobox");
|
|
1431
1745
|
|
|
@@ -1440,12 +1754,12 @@ describe("Select component tests", function () {
|
|
|
1440
1754
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1441
1755
|
});
|
|
1442
1756
|
test("Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
1443
|
-
var
|
|
1757
|
+
var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1444
1758
|
label: "test-select-label",
|
|
1445
|
-
options:
|
|
1759
|
+
options: groupOptions
|
|
1446
1760
|
})),
|
|
1447
|
-
getByRole =
|
|
1448
|
-
queryByRole =
|
|
1761
|
+
getByRole = _render47.getByRole,
|
|
1762
|
+
queryByRole = _render47.queryByRole;
|
|
1449
1763
|
|
|
1450
1764
|
var select = getByRole("combobox");
|
|
1451
1765
|
|
|
@@ -1469,16 +1783,16 @@ describe("Select component tests", function () {
|
|
|
1469
1783
|
test("Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
1470
1784
|
var onChange = jest.fn();
|
|
1471
1785
|
|
|
1472
|
-
var
|
|
1786
|
+
var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1473
1787
|
label: "test-select-label",
|
|
1474
|
-
options:
|
|
1788
|
+
options: groupOptions,
|
|
1475
1789
|
onChange: onChange,
|
|
1476
1790
|
optional: true
|
|
1477
1791
|
})),
|
|
1478
|
-
getByText =
|
|
1479
|
-
getByRole =
|
|
1480
|
-
getAllByRole =
|
|
1481
|
-
queryByRole =
|
|
1792
|
+
getByText = _render48.getByText,
|
|
1793
|
+
getByRole = _render48.getByRole,
|
|
1794
|
+
getAllByRole = _render48.getAllByRole,
|
|
1795
|
+
queryByRole = _render48.queryByRole;
|
|
1482
1796
|
|
|
1483
1797
|
var select = getByRole("combobox");
|
|
1484
1798
|
|
|
@@ -1518,8 +1832,7 @@ describe("Select component tests", function () {
|
|
|
1518
1832
|
});
|
|
1519
1833
|
|
|
1520
1834
|
expect(onChange).toHaveBeenCalledWith({
|
|
1521
|
-
value: "ebro"
|
|
1522
|
-
error: null
|
|
1835
|
+
value: "ebro"
|
|
1523
1836
|
});
|
|
1524
1837
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1525
1838
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1531,17 +1844,17 @@ describe("Select component tests", function () {
|
|
|
1531
1844
|
test("Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
1532
1845
|
var onChange = jest.fn();
|
|
1533
1846
|
|
|
1534
|
-
var
|
|
1847
|
+
var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1535
1848
|
label: "test-select-label",
|
|
1536
|
-
options:
|
|
1849
|
+
options: groupOptions,
|
|
1537
1850
|
onChange: onChange,
|
|
1538
1851
|
searchable: true
|
|
1539
1852
|
})),
|
|
1540
|
-
container =
|
|
1541
|
-
getByText =
|
|
1542
|
-
getByRole =
|
|
1543
|
-
getAllByRole =
|
|
1544
|
-
queryByRole =
|
|
1853
|
+
container = _render49.container,
|
|
1854
|
+
getByText = _render49.getByText,
|
|
1855
|
+
getByRole = _render49.getByRole,
|
|
1856
|
+
getAllByRole = _render49.getAllByRole,
|
|
1857
|
+
queryByRole = _render49.queryByRole;
|
|
1545
1858
|
|
|
1546
1859
|
var select = getByRole("combobox");
|
|
1547
1860
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1561,8 +1874,7 @@ describe("Select component tests", function () {
|
|
|
1561
1874
|
_userEvent["default"].click(getAllByRole("option")[4]);
|
|
1562
1875
|
|
|
1563
1876
|
expect(onChange).toHaveBeenCalledWith({
|
|
1564
|
-
value: "ebro"
|
|
1565
|
-
error: null
|
|
1877
|
+
value: "ebro"
|
|
1566
1878
|
});
|
|
1567
1879
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1568
1880
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1575,15 +1887,15 @@ describe("Select component tests", function () {
|
|
|
1575
1887
|
test("Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
1576
1888
|
var onChange = jest.fn();
|
|
1577
1889
|
|
|
1578
|
-
var
|
|
1890
|
+
var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1579
1891
|
label: "test-select-label",
|
|
1580
|
-
options:
|
|
1892
|
+
options: groupOptions,
|
|
1581
1893
|
onChange: onChange,
|
|
1582
1894
|
searchable: true
|
|
1583
1895
|
})),
|
|
1584
|
-
container =
|
|
1585
|
-
getByText =
|
|
1586
|
-
getByRole =
|
|
1896
|
+
container = _render50.container,
|
|
1897
|
+
getByText = _render50.getByText,
|
|
1898
|
+
getByRole = _render50.getByRole;
|
|
1587
1899
|
|
|
1588
1900
|
var select = getByRole("combobox");
|
|
1589
1901
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1599,19 +1911,19 @@ describe("Select component tests", function () {
|
|
|
1599
1911
|
test("Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
1600
1912
|
var onChange = jest.fn();
|
|
1601
1913
|
|
|
1602
|
-
var
|
|
1914
|
+
var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1603
1915
|
name: "test",
|
|
1604
1916
|
label: "test-select-label",
|
|
1605
|
-
options:
|
|
1917
|
+
options: groupOptions,
|
|
1606
1918
|
onChange: onChange,
|
|
1607
1919
|
multiple: true
|
|
1608
1920
|
})),
|
|
1609
|
-
getByText =
|
|
1610
|
-
getAllByText =
|
|
1611
|
-
getByRole =
|
|
1612
|
-
getAllByRole =
|
|
1613
|
-
queryByRole =
|
|
1614
|
-
container =
|
|
1921
|
+
getByText = _render51.getByText,
|
|
1922
|
+
getAllByText = _render51.getAllByText,
|
|
1923
|
+
getByRole = _render51.getByRole,
|
|
1924
|
+
getAllByRole = _render51.getAllByRole,
|
|
1925
|
+
queryByRole = _render51.queryByRole,
|
|
1926
|
+
container = _render51.container;
|
|
1615
1927
|
|
|
1616
1928
|
var select = getByRole("combobox");
|
|
1617
1929
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1620,9 +1932,11 @@ describe("Select component tests", function () {
|
|
|
1620
1932
|
|
|
1621
1933
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
1622
1934
|
|
|
1623
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1624
|
-
|
|
1935
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1625
1936
|
|
|
1937
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1938
|
+
value: ["bilbao"]
|
|
1939
|
+
});
|
|
1626
1940
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1627
1941
|
expect(getAllByText("Bilbao").length).toBe(2);
|
|
1628
1942
|
|
|
@@ -1645,31 +1959,33 @@ describe("Select component tests", function () {
|
|
|
1645
1959
|
code: "Enter",
|
|
1646
1960
|
keyCode: 13,
|
|
1647
1961
|
charCode: 13
|
|
1648
|
-
});
|
|
1649
|
-
|
|
1962
|
+
});
|
|
1650
1963
|
|
|
1964
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1965
|
+
value: ["bilbao", "guadalquivir"]
|
|
1966
|
+
});
|
|
1651
1967
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1652
1968
|
expect(getByText("Bilbao, Guadalquivir")).toBeTruthy();
|
|
1653
1969
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
1654
1970
|
expect(getAllByRole("option")[16].getAttribute("aria-selected")).toBe("true");
|
|
1655
|
-
expect(submitInput.value).toBe("bilbao,
|
|
1971
|
+
expect(submitInput.value).toBe("bilbao,guadalquivir");
|
|
1656
1972
|
});
|
|
1657
1973
|
test("Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
1658
1974
|
var onChange = jest.fn();
|
|
1659
1975
|
|
|
1660
|
-
var
|
|
1976
|
+
var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1661
1977
|
label: "test-select-label",
|
|
1662
|
-
options:
|
|
1978
|
+
options: groupOptions,
|
|
1663
1979
|
onChange: onChange,
|
|
1664
1980
|
multiple: true
|
|
1665
1981
|
})),
|
|
1666
|
-
getByText =
|
|
1667
|
-
queryByText =
|
|
1668
|
-
getByRole =
|
|
1669
|
-
getAllByRole =
|
|
1670
|
-
queryByRole =
|
|
1671
|
-
getByTitle =
|
|
1672
|
-
queryByTitle =
|
|
1982
|
+
getByText = _render52.getByText,
|
|
1983
|
+
queryByText = _render52.queryByText,
|
|
1984
|
+
getByRole = _render52.getByRole,
|
|
1985
|
+
getAllByRole = _render52.getAllByRole,
|
|
1986
|
+
queryByRole = _render52.queryByRole,
|
|
1987
|
+
getByTitle = _render52.getByTitle,
|
|
1988
|
+
queryByTitle = _render52.queryByTitle;
|
|
1673
1989
|
|
|
1674
1990
|
var select = getByRole("combobox");
|
|
1675
1991
|
|
|
@@ -1681,9 +1997,11 @@ describe("Select component tests", function () {
|
|
|
1681
1997
|
|
|
1682
1998
|
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1683
1999
|
|
|
1684
|
-
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1685
|
-
|
|
2000
|
+
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1686
2001
|
|
|
2002
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2003
|
+
value: ["blanco", "oviedo", "duero", "ebro"]
|
|
2004
|
+
});
|
|
1687
2005
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1688
2006
|
expect(getByText("Blanco, Oviedo, Duero, Ebro")).toBeTruthy();
|
|
1689
2007
|
expect(getByText("4", {
|
|
@@ -1700,18 +2018,18 @@ describe("Select component tests", function () {
|
|
|
1700
2018
|
test("Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1701
2019
|
var onChange = jest.fn();
|
|
1702
2020
|
|
|
1703
|
-
var
|
|
2021
|
+
var _render53 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1704
2022
|
label: "test-select-label",
|
|
1705
2023
|
placeholder: "Choose an option",
|
|
1706
|
-
options:
|
|
2024
|
+
options: groupOptions,
|
|
1707
2025
|
onChange: onChange,
|
|
1708
2026
|
multiple: true,
|
|
1709
2027
|
optional: true
|
|
1710
2028
|
})),
|
|
1711
|
-
getByText =
|
|
1712
|
-
getAllByText =
|
|
1713
|
-
getByRole =
|
|
1714
|
-
getAllByRole =
|
|
2029
|
+
getByText = _render53.getByText,
|
|
2030
|
+
getAllByText = _render53.getAllByText,
|
|
2031
|
+
getByRole = _render53.getByRole,
|
|
2032
|
+
getAllByRole = _render53.getAllByRole;
|
|
1715
2033
|
|
|
1716
2034
|
var select = getByRole("combobox");
|
|
1717
2035
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1721,19 +2039,21 @@ describe("Select component tests", function () {
|
|
|
1721
2039
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1722
2040
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1723
2041
|
|
|
1724
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1725
|
-
|
|
2042
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1726
2043
|
|
|
2044
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2045
|
+
value: ["azul"]
|
|
2046
|
+
});
|
|
1727
2047
|
expect(getAllByText("Azul").length).toBe(2);
|
|
1728
2048
|
});
|
|
1729
2049
|
test("Grouped Options - If an options was previously selected when its opened (by key press), the visual focus appears always in the selected option", function () {
|
|
1730
|
-
var
|
|
2050
|
+
var _render54 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1731
2051
|
label: "test-select-label",
|
|
1732
|
-
options:
|
|
2052
|
+
options: groupOptions
|
|
1733
2053
|
})),
|
|
1734
|
-
getByText =
|
|
1735
|
-
getByRole =
|
|
1736
|
-
getAllByRole =
|
|
2054
|
+
getByText = _render54.getByText,
|
|
2055
|
+
getByRole = _render54.getByRole,
|
|
2056
|
+
getAllByRole = _render54.getAllByRole;
|
|
1737
2057
|
|
|
1738
2058
|
var select = getByRole("combobox");
|
|
1739
2059
|
|
|
@@ -1801,14 +2121,13 @@ describe("Select component tests", function () {
|
|
|
1801
2121
|
expect(getByText("Verde")).toBeTruthy();
|
|
1802
2122
|
});
|
|
1803
2123
|
test("Grouped Options - If an options was previously selected when its opened (by click and key press), the visual focus appears always in the selected option", function () {
|
|
1804
|
-
var
|
|
2124
|
+
var _render55 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1805
2125
|
label: "test-select-label",
|
|
1806
|
-
options:
|
|
2126
|
+
options: groupOptions
|
|
1807
2127
|
})),
|
|
1808
|
-
getByText =
|
|
1809
|
-
getByRole =
|
|
1810
|
-
getAllByRole =
|
|
1811
|
-
queryByRole = _render47.queryByRole;
|
|
2128
|
+
getByText = _render55.getByText,
|
|
2129
|
+
getByRole = _render55.getByRole,
|
|
2130
|
+
getAllByRole = _render55.getAllByRole;
|
|
1812
2131
|
|
|
1813
2132
|
var select = getByRole("combobox");
|
|
1814
2133
|
|
|
@@ -1872,29 +2191,38 @@ describe("Select component tests", function () {
|
|
|
1872
2191
|
|
|
1873
2192
|
expect(getByText("Azul")).toBeTruthy();
|
|
1874
2193
|
});
|
|
1875
|
-
test("
|
|
1876
|
-
var
|
|
2194
|
+
test("Multiple selection and optional - Clear action cleans every selected option but does not display an error", function () {
|
|
2195
|
+
var onChange = jest.fn();
|
|
2196
|
+
|
|
2197
|
+
var _render56 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1877
2198
|
label: "test-select-label",
|
|
1878
|
-
|
|
1879
|
-
|
|
2199
|
+
options: singleOptions,
|
|
2200
|
+
onChange: onChange,
|
|
2201
|
+
multiple: true,
|
|
2202
|
+
optional: true
|
|
1880
2203
|
})),
|
|
1881
|
-
|
|
1882
|
-
|
|
2204
|
+
getByRole = _render56.getByRole,
|
|
2205
|
+
getAllByRole = _render56.getAllByRole,
|
|
2206
|
+
getByTitle = _render56.getByTitle;
|
|
1883
2207
|
|
|
1884
2208
|
var select = getByRole("combobox");
|
|
1885
|
-
var label = getByText("test-select-label");
|
|
1886
|
-
expect(select.getAttribute("aria-disabled")).toBe("false");
|
|
1887
|
-
expect(select.getAttribute("aria-haspopup")).toBe("listbox");
|
|
1888
|
-
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
1889
|
-
expect(select.getAttribute("aria-required")).toBe("true");
|
|
1890
|
-
expect(select.getAttribute("aria-labelledby")).toBe(label.id);
|
|
1891
|
-
expect(select.getAttribute("aria-activedescendant")).toBeNull();
|
|
1892
|
-
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
1893
2209
|
|
|
1894
2210
|
_userEvent["default"].click(select);
|
|
1895
2211
|
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
2212
|
+
_userEvent["default"].click(getAllByRole("option")[5]);
|
|
2213
|
+
|
|
2214
|
+
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
2215
|
+
|
|
2216
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
2217
|
+
|
|
2218
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2219
|
+
value: ["6", "9", "14"]
|
|
2220
|
+
});
|
|
2221
|
+
|
|
2222
|
+
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
2223
|
+
|
|
2224
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2225
|
+
value: []
|
|
2226
|
+
});
|
|
1899
2227
|
});
|
|
1900
2228
|
});
|