@dxc-technology/halstack-react 0.0.0-0271b6e → 0.0.0-0276e5a
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 +108 -134
- package/accordion/Accordion.stories.tsx +108 -118
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +1 -12
- package/accordion-group/AccordionGroup.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +34 -76
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +33 -50
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +11 -12
- package/alert/Alert.js +9 -10
- 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 +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -48
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.js +52 -70
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +5 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +37 -58
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +104 -101
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +7 -3
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +1100 -1112
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +155 -240
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +502 -159
- 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 +63 -9
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +68 -103
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +0 -12
- 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 +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +180 -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 +18 -1
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +49 -142
- package/footer/Footer.stories.tsx +37 -16
- package/footer/Footer.test.js +16 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +11 -12
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +102 -150
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +20 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +0 -13
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +78 -135
- 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 +19 -35
- package/link/Link.d.ts +3 -2
- package/link/Link.js +60 -77
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +9 -19
- package/link/types.d.ts +5 -21
- package/main.d.ts +8 -10
- package/main.js +47 -57
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/number-input/NumberInput.test.js +46 -12
- package/number-input/types.d.ts +13 -10
- package/package.json +19 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +20 -49
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +91 -39
- package/paragraph/Paragraph.d.ts +5 -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.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +77 -26
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/quick-nav/types.d.ts +4 -4
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +46 -31
- package/radio-group/RadioGroup.js +37 -36
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- 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 +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.js +11 -24
- package/select/Select.js +150 -224
- package/select/Select.stories.tsx +522 -133
- package/select/Select.test.js +551 -339
- package/select/types.d.ts +32 -13
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +146 -44
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +18 -24
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +138 -68
- package/switch/Switch.stories.tsx +49 -38
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +6 -2
- 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 +132 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +360 -112
- package/tabs/Tabs.stories.tsx +119 -13
- package/tabs/Tabs.test.js +244 -17
- package/tabs/types.d.ts +17 -3
- package/tag/Tag.js +12 -17
- package/tag/Tag.stories.tsx +14 -1
- 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 -346
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +756 -758
- package/text-input/types.d.ts +46 -12
- package/textarea/Textarea.js +13 -23
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/textarea/types.d.ts +10 -7
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +12 -8
- package/toggle-group/ToggleGroup.stories.tsx +46 -4
- package/toggle-group/ToggleGroup.test.js +36 -5
- package/toggle-group/types.d.ts +10 -2
- 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 +138 -0
- package/wizard/Wizard.js +44 -45
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- 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 -28
- 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 -24
- 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 → grid}/types.js +0 -0
- /package/{stack → nav-tabs}/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,40 +312,18 @@ 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: "test-select-label",
|
|
287
|
-
helperText: "test-select-helper-text",
|
|
288
|
-
placeholder: "Example text"
|
|
289
|
-
})),
|
|
290
|
-
getByText = _render2.getByText;
|
|
291
|
-
|
|
292
|
-
expect(getByText("test-select-helper-text")).toBeTruthy();
|
|
293
|
-
expect(getByText("Example text")).toBeTruthy();
|
|
294
|
-
});
|
|
295
|
-
test("Renders with correct optional label", function () {
|
|
296
|
-
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
297
|
-
label: "test-select-label",
|
|
298
|
-
optional: true
|
|
299
|
-
})),
|
|
300
|
-
getByText = _render3.getByText;
|
|
301
|
-
|
|
302
|
-
expect(getByText("test-select-label")).toBeTruthy();
|
|
303
|
-
expect(getByText("(Optional)")).toBeTruthy();
|
|
304
|
-
});
|
|
305
|
-
test("Renders with error message and correct aria attributes", function () {
|
|
306
|
-
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
307
322
|
label: "Error label",
|
|
308
323
|
error: "Error message."
|
|
309
324
|
})),
|
|
310
|
-
getByText =
|
|
311
|
-
getByRole =
|
|
325
|
+
getByText = _render2.getByText,
|
|
326
|
+
getByRole = _render2.getByRole;
|
|
312
327
|
|
|
313
328
|
var select = getByRole("combobox");
|
|
314
329
|
var errorMessage = getByText("Error message.");
|
|
@@ -318,13 +333,13 @@ describe("Select component tests", function () {
|
|
|
318
333
|
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
319
334
|
});
|
|
320
335
|
test("Renders with correct aria attributes", function () {
|
|
321
|
-
var
|
|
336
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
322
337
|
label: "test-select-label",
|
|
323
338
|
placeholder: "Example",
|
|
324
|
-
options:
|
|
339
|
+
options: singleOptions
|
|
325
340
|
})),
|
|
326
|
-
getByText =
|
|
327
|
-
getByRole =
|
|
341
|
+
getByText = _render3.getByText,
|
|
342
|
+
getByRole = _render3.getByRole;
|
|
328
343
|
|
|
329
344
|
var select = getByRole("combobox");
|
|
330
345
|
var label = getByText("test-select-label");
|
|
@@ -343,17 +358,17 @@ describe("Select component tests", function () {
|
|
|
343
358
|
expect(list.getAttribute("aria-multiselectable")).toBe("false");
|
|
344
359
|
});
|
|
345
360
|
test("Single selection: Renders with correct default value", function () {
|
|
346
|
-
var
|
|
361
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
347
362
|
label: "test-select-label",
|
|
348
363
|
name: "test",
|
|
349
364
|
defaultValue: "4",
|
|
350
|
-
options:
|
|
365
|
+
options: singleOptions
|
|
351
366
|
})),
|
|
352
|
-
getByText =
|
|
353
|
-
getByRole =
|
|
354
|
-
getAllByRole =
|
|
355
|
-
queryByRole =
|
|
356
|
-
container =
|
|
367
|
+
getByText = _render4.getByText,
|
|
368
|
+
getByRole = _render4.getByRole,
|
|
369
|
+
getAllByRole = _render4.getAllByRole,
|
|
370
|
+
queryByRole = _render4.queryByRole,
|
|
371
|
+
container = _render4.container;
|
|
357
372
|
|
|
358
373
|
var select = getByRole("combobox");
|
|
359
374
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -371,18 +386,18 @@ describe("Select component tests", function () {
|
|
|
371
386
|
expect(submitInput.value).toBe("8");
|
|
372
387
|
});
|
|
373
388
|
test("Multiple selection: Renders with correct default value", function () {
|
|
374
|
-
var
|
|
389
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
375
390
|
label: "test-select-label",
|
|
376
391
|
name: "test",
|
|
377
392
|
defaultValue: ["4", "2", "6"],
|
|
378
|
-
options:
|
|
393
|
+
options: singleOptions,
|
|
379
394
|
multiple: true
|
|
380
395
|
})),
|
|
381
|
-
getByText =
|
|
382
|
-
getByRole =
|
|
383
|
-
getAllByRole =
|
|
384
|
-
queryByRole =
|
|
385
|
-
container =
|
|
396
|
+
getByText = _render5.getByText,
|
|
397
|
+
getByRole = _render5.getByRole,
|
|
398
|
+
getAllByRole = _render5.getAllByRole,
|
|
399
|
+
queryByRole = _render5.queryByRole,
|
|
400
|
+
container = _render5.container;
|
|
386
401
|
|
|
387
402
|
var select = getByRole("combobox");
|
|
388
403
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -401,18 +416,49 @@ describe("Select component tests", function () {
|
|
|
401
416
|
expect(getByText("Option 02, Option 03, Option 04, Option 06")).toBeTruthy();
|
|
402
417
|
expect(submitInput.value).toBe("4,2,6,3");
|
|
403
418
|
});
|
|
404
|
-
test("
|
|
405
|
-
var
|
|
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",
|
|
406
433
|
label: "test-select-label",
|
|
407
|
-
|
|
408
|
-
options:
|
|
409
|
-
disabled: true,
|
|
410
|
-
searchable: true,
|
|
434
|
+
defaultValue: ["1", "5"],
|
|
435
|
+
options: singleOptions,
|
|
411
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
|
|
412
459
|
})),
|
|
413
|
-
getByRole =
|
|
414
|
-
|
|
415
|
-
queryByRole = _render8.queryByRole;
|
|
460
|
+
getByRole = _render7.getByRole,
|
|
461
|
+
queryByRole = _render7.queryByRole;
|
|
416
462
|
|
|
417
463
|
var select = getByRole("combobox");
|
|
418
464
|
expect(select.getAttribute("aria-disabled")).toBe("true");
|
|
@@ -420,41 +466,103 @@ describe("Select component tests", function () {
|
|
|
420
466
|
_userEvent["default"].click(select);
|
|
421
467
|
|
|
422
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;
|
|
423
482
|
|
|
424
483
|
_userEvent["default"].click(getByRole("button"));
|
|
425
484
|
|
|
426
485
|
expect(getByText("Option 01, Option 02")).toBeTruthy();
|
|
427
486
|
});
|
|
428
|
-
test("
|
|
487
|
+
test("Disabled select - Does not call onBlur event", function () {
|
|
488
|
+
var onBlur = jest.fn();
|
|
489
|
+
|
|
429
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"], {
|
|
430
513
|
label: "test-select-label",
|
|
431
514
|
value: ["1", "2"],
|
|
432
|
-
options:
|
|
515
|
+
options: singleOptions,
|
|
433
516
|
disabled: true,
|
|
434
517
|
searchable: true,
|
|
435
518
|
multiple: true
|
|
436
519
|
})),
|
|
437
|
-
getByRole =
|
|
438
|
-
queryByRole =
|
|
520
|
+
getByRole = _render10.getByRole,
|
|
521
|
+
queryByRole = _render10.queryByRole;
|
|
439
522
|
|
|
440
523
|
var select = getByRole("combobox");
|
|
441
524
|
|
|
442
525
|
_react2.fireEvent.focus(select);
|
|
443
526
|
|
|
444
527
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
528
|
+
expect(document.activeElement === select).toBeFalsy();
|
|
529
|
+
});
|
|
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);
|
|
445
553
|
});
|
|
446
|
-
test("Controlled - Not optional constraint", function () {
|
|
554
|
+
test("Controlled - Single selection - Not optional constraint", function () {
|
|
447
555
|
var onChange = jest.fn();
|
|
448
556
|
var onBlur = jest.fn();
|
|
449
557
|
|
|
450
|
-
var
|
|
558
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
451
559
|
label: "test-select-label",
|
|
452
|
-
options:
|
|
560
|
+
options: singleOptions,
|
|
453
561
|
onChange: onChange,
|
|
454
562
|
onBlur: onBlur
|
|
455
563
|
})),
|
|
456
|
-
getByRole =
|
|
457
|
-
getAllByRole =
|
|
564
|
+
getByRole = _render12.getByRole,
|
|
565
|
+
getAllByRole = _render12.getAllByRole;
|
|
458
566
|
|
|
459
567
|
var select = getByRole("combobox");
|
|
460
568
|
expect(select.getAttribute("aria-required")).toBe("true");
|
|
@@ -475,32 +583,93 @@ describe("Select component tests", function () {
|
|
|
475
583
|
|
|
476
584
|
expect(onChange).toHaveBeenCalled();
|
|
477
585
|
expect(onChange).toHaveBeenCalledWith({
|
|
478
|
-
value: "1"
|
|
479
|
-
error: null
|
|
586
|
+
value: "1"
|
|
480
587
|
});
|
|
481
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
|
+
|
|
482
613
|
_react2.fireEvent.focus(select);
|
|
483
614
|
|
|
484
615
|
_react2.fireEvent.blur(select);
|
|
485
616
|
|
|
486
617
|
expect(onBlur).toHaveBeenCalled();
|
|
487
618
|
expect(onBlur).toHaveBeenCalledWith({
|
|
488
|
-
value:
|
|
489
|
-
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."
|
|
490
659
|
});
|
|
491
660
|
});
|
|
492
661
|
test("Controlled - Optional constraint", function () {
|
|
493
662
|
var onChange = jest.fn();
|
|
494
663
|
var onBlur = jest.fn();
|
|
495
664
|
|
|
496
|
-
var
|
|
665
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
497
666
|
label: "test-select-label",
|
|
498
|
-
options:
|
|
667
|
+
options: singleOptions,
|
|
499
668
|
onChange: onChange,
|
|
500
669
|
onBlur: onBlur,
|
|
501
670
|
optional: true
|
|
502
671
|
})),
|
|
503
|
-
getByRole =
|
|
672
|
+
getByRole = _render14.getByRole;
|
|
504
673
|
|
|
505
674
|
var select = getByRole("combobox");
|
|
506
675
|
expect(select.getAttribute("aria-required")).toBe("false");
|
|
@@ -511,20 +680,19 @@ describe("Select component tests", function () {
|
|
|
511
680
|
|
|
512
681
|
expect(onBlur).toHaveBeenCalled();
|
|
513
682
|
expect(onBlur).toHaveBeenCalledWith({
|
|
514
|
-
value: ""
|
|
515
|
-
error: null
|
|
683
|
+
value: ""
|
|
516
684
|
});
|
|
517
685
|
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
518
686
|
});
|
|
519
687
|
test("Non-Grouped Options - Opens listbox and renders correctly or closes it with a click on select", function () {
|
|
520
|
-
var
|
|
688
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
521
689
|
label: "test-select-label",
|
|
522
|
-
options:
|
|
690
|
+
options: singleOptions
|
|
523
691
|
})),
|
|
524
|
-
getByText =
|
|
525
|
-
getByRole =
|
|
526
|
-
getAllByRole =
|
|
527
|
-
queryByRole =
|
|
692
|
+
getByText = _render15.getByText,
|
|
693
|
+
getByRole = _render15.getByRole,
|
|
694
|
+
getAllByRole = _render15.getAllByRole,
|
|
695
|
+
queryByRole = _render15.queryByRole;
|
|
528
696
|
|
|
529
697
|
var select = getByRole("combobox");
|
|
530
698
|
|
|
@@ -544,12 +712,12 @@ describe("Select component tests", function () {
|
|
|
544
712
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
545
713
|
});
|
|
546
714
|
test("Non-Grouped Options - If an empty list of options is passed, the select is rendered but doestn't open the listbox", function () {
|
|
547
|
-
var
|
|
715
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
548
716
|
label: "test-select-label",
|
|
549
717
|
options: []
|
|
550
718
|
})),
|
|
551
|
-
getByRole =
|
|
552
|
-
queryByRole =
|
|
719
|
+
getByRole = _render16.getByRole,
|
|
720
|
+
queryByRole = _render16.queryByRole;
|
|
553
721
|
|
|
554
722
|
var select = getByRole("combobox");
|
|
555
723
|
|
|
@@ -561,17 +729,17 @@ describe("Select component tests", function () {
|
|
|
561
729
|
test("Non-Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
562
730
|
var onChange = jest.fn();
|
|
563
731
|
|
|
564
|
-
var
|
|
732
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
565
733
|
name: "test",
|
|
566
734
|
label: "test-select-label",
|
|
567
|
-
options:
|
|
735
|
+
options: singleOptions,
|
|
568
736
|
onChange: onChange
|
|
569
737
|
})),
|
|
570
|
-
getByText =
|
|
571
|
-
getByRole =
|
|
572
|
-
getAllByRole =
|
|
573
|
-
queryByRole =
|
|
574
|
-
container =
|
|
738
|
+
getByText = _render17.getByText,
|
|
739
|
+
getByRole = _render17.getByRole,
|
|
740
|
+
getAllByRole = _render17.getAllByRole,
|
|
741
|
+
queryByRole = _render17.queryByRole,
|
|
742
|
+
container = _render17.container;
|
|
575
743
|
|
|
576
744
|
var select = getByRole("combobox");
|
|
577
745
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -581,8 +749,7 @@ describe("Select component tests", function () {
|
|
|
581
749
|
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
582
750
|
|
|
583
751
|
expect(onChange).toHaveBeenCalledWith({
|
|
584
|
-
value: "3"
|
|
585
|
-
error: null
|
|
752
|
+
value: "3"
|
|
586
753
|
});
|
|
587
754
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
588
755
|
expect(getByText("Option 03")).toBeTruthy();
|
|
@@ -595,16 +762,16 @@ describe("Select component tests", function () {
|
|
|
595
762
|
test("Non-Grouped Options - Optional renders an empty first option (selected by default) with the placeholder as its label", function () {
|
|
596
763
|
var onChange = jest.fn();
|
|
597
764
|
|
|
598
|
-
var
|
|
765
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
599
766
|
label: "test-select-label",
|
|
600
767
|
placeholder: "Choose an option",
|
|
601
|
-
options:
|
|
768
|
+
options: singleOptions,
|
|
602
769
|
onChange: onChange,
|
|
603
770
|
optional: true
|
|
604
771
|
})),
|
|
605
|
-
getByRole =
|
|
606
|
-
getAllByRole =
|
|
607
|
-
getAllByText =
|
|
772
|
+
getByRole = _render18.getByRole,
|
|
773
|
+
getAllByRole = _render18.getAllByRole,
|
|
774
|
+
getAllByText = _render18.getAllByText;
|
|
608
775
|
|
|
609
776
|
var select = getByRole("combobox");
|
|
610
777
|
|
|
@@ -616,8 +783,7 @@ describe("Select component tests", function () {
|
|
|
616
783
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
617
784
|
|
|
618
785
|
expect(onChange).toHaveBeenCalledWith({
|
|
619
|
-
value: ""
|
|
620
|
-
error: null
|
|
786
|
+
value: ""
|
|
621
787
|
});
|
|
622
788
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
623
789
|
|
|
@@ -638,8 +804,7 @@ describe("Select component tests", function () {
|
|
|
638
804
|
});
|
|
639
805
|
|
|
640
806
|
expect(onChange).toHaveBeenCalledWith({
|
|
641
|
-
value: ""
|
|
642
|
-
error: null
|
|
807
|
+
value: ""
|
|
643
808
|
});
|
|
644
809
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
645
810
|
|
|
@@ -653,18 +818,18 @@ describe("Select component tests", function () {
|
|
|
653
818
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
654
819
|
});
|
|
655
820
|
test("Non-Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
656
|
-
var
|
|
821
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
657
822
|
label: "test-select-label",
|
|
658
823
|
placeholder: "Placeholder example",
|
|
659
|
-
options:
|
|
824
|
+
options: singleOptions,
|
|
660
825
|
optional: true,
|
|
661
826
|
searchable: true
|
|
662
827
|
})),
|
|
663
|
-
getByRole =
|
|
664
|
-
getAllByRole =
|
|
665
|
-
getByText =
|
|
666
|
-
queryByText =
|
|
667
|
-
container =
|
|
828
|
+
getByRole = _render19.getByRole,
|
|
829
|
+
getAllByRole = _render19.getAllByRole,
|
|
830
|
+
getByText = _render19.getByText,
|
|
831
|
+
queryByText = _render19.queryByText,
|
|
832
|
+
container = _render19.container;
|
|
668
833
|
|
|
669
834
|
var select = getByRole("combobox");
|
|
670
835
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -682,12 +847,12 @@ describe("Select component tests", function () {
|
|
|
682
847
|
expect(getByText("No matches found")).toBeTruthy();
|
|
683
848
|
});
|
|
684
849
|
test("Non-Grouped Options - Renders SVG icons correctly when passed with options", function () {
|
|
685
|
-
var
|
|
850
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
686
851
|
label: "test-select-label",
|
|
687
|
-
options:
|
|
852
|
+
options: svgIconOptions
|
|
688
853
|
})),
|
|
689
|
-
getByRole =
|
|
690
|
-
getAllByRole =
|
|
854
|
+
getByRole = _render20.getByRole,
|
|
855
|
+
getAllByRole = _render20.getAllByRole;
|
|
691
856
|
|
|
692
857
|
var select = getByRole("combobox");
|
|
693
858
|
|
|
@@ -697,13 +862,13 @@ describe("Select component tests", function () {
|
|
|
697
862
|
expect(getAllByRole("option").length).toBe(5);
|
|
698
863
|
});
|
|
699
864
|
test("Non-Grouped Options - Renders string url icons correctly when passed with options", function () {
|
|
700
|
-
var
|
|
865
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
701
866
|
label: "test-select-label",
|
|
702
|
-
options:
|
|
867
|
+
options: urlIconOptions,
|
|
703
868
|
optional: true
|
|
704
869
|
})),
|
|
705
|
-
getByRole =
|
|
706
|
-
getAllByRole =
|
|
870
|
+
getByRole = _render21.getByRole,
|
|
871
|
+
getAllByRole = _render21.getAllByRole;
|
|
707
872
|
|
|
708
873
|
var select = getByRole("combobox");
|
|
709
874
|
|
|
@@ -713,12 +878,12 @@ describe("Select component tests", function () {
|
|
|
713
878
|
expect(getAllByRole("option").length).toBe(6);
|
|
714
879
|
});
|
|
715
880
|
test("Non-Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
716
|
-
var
|
|
881
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
717
882
|
label: "test-select-label",
|
|
718
|
-
options:
|
|
883
|
+
options: singleOptions
|
|
719
884
|
})),
|
|
720
|
-
getByRole =
|
|
721
|
-
queryByRole =
|
|
885
|
+
getByRole = _render22.getByRole,
|
|
886
|
+
queryByRole = _render22.queryByRole;
|
|
722
887
|
|
|
723
888
|
var select = getByRole("combobox");
|
|
724
889
|
|
|
@@ -733,12 +898,12 @@ describe("Select component tests", function () {
|
|
|
733
898
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
734
899
|
});
|
|
735
900
|
test("Non-Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
736
|
-
var
|
|
901
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
737
902
|
label: "test-select-label",
|
|
738
|
-
options:
|
|
903
|
+
options: singleOptions
|
|
739
904
|
})),
|
|
740
|
-
getByRole =
|
|
741
|
-
queryByRole =
|
|
905
|
+
getByRole = _render23.getByRole,
|
|
906
|
+
queryByRole = _render23.queryByRole;
|
|
742
907
|
|
|
743
908
|
var select = getByRole("combobox");
|
|
744
909
|
|
|
@@ -760,12 +925,12 @@ describe("Select component tests", function () {
|
|
|
760
925
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
761
926
|
});
|
|
762
927
|
test("Non-Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
763
|
-
var
|
|
928
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
764
929
|
label: "test-select-label",
|
|
765
|
-
options:
|
|
930
|
+
options: singleOptions
|
|
766
931
|
})),
|
|
767
|
-
getByRole =
|
|
768
|
-
queryByRole =
|
|
932
|
+
getByRole = _render24.getByRole,
|
|
933
|
+
queryByRole = _render24.queryByRole;
|
|
769
934
|
|
|
770
935
|
var select = getByRole("combobox");
|
|
771
936
|
|
|
@@ -780,12 +945,12 @@ describe("Select component tests", function () {
|
|
|
780
945
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
781
946
|
});
|
|
782
947
|
test("Non-Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
783
|
-
var
|
|
948
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
784
949
|
label: "test-select-label",
|
|
785
|
-
options:
|
|
950
|
+
options: singleOptions
|
|
786
951
|
})),
|
|
787
|
-
getByRole =
|
|
788
|
-
queryByRole =
|
|
952
|
+
getByRole = _render25.getByRole,
|
|
953
|
+
queryByRole = _render25.queryByRole;
|
|
789
954
|
|
|
790
955
|
var select = getByRole("combobox");
|
|
791
956
|
|
|
@@ -809,16 +974,16 @@ describe("Select component tests", function () {
|
|
|
809
974
|
test("Non-Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
810
975
|
var onChange = jest.fn();
|
|
811
976
|
|
|
812
|
-
var
|
|
977
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
813
978
|
label: "test-select-label",
|
|
814
|
-
options:
|
|
979
|
+
options: singleOptions,
|
|
815
980
|
onChange: onChange,
|
|
816
981
|
optional: true
|
|
817
982
|
})),
|
|
818
|
-
getByText =
|
|
819
|
-
getByRole =
|
|
820
|
-
getAllByRole =
|
|
821
|
-
queryByRole =
|
|
983
|
+
getByText = _render26.getByText,
|
|
984
|
+
getByRole = _render26.getByRole,
|
|
985
|
+
getAllByRole = _render26.getAllByRole,
|
|
986
|
+
queryByRole = _render26.queryByRole;
|
|
822
987
|
|
|
823
988
|
var select = getByRole("combobox");
|
|
824
989
|
|
|
@@ -858,8 +1023,7 @@ describe("Select component tests", function () {
|
|
|
858
1023
|
});
|
|
859
1024
|
|
|
860
1025
|
expect(onChange).toHaveBeenCalledWith({
|
|
861
|
-
value: "20"
|
|
862
|
-
error: null
|
|
1026
|
+
value: "20"
|
|
863
1027
|
});
|
|
864
1028
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
865
1029
|
expect(getByText("Option 20")).toBeTruthy();
|
|
@@ -871,17 +1035,17 @@ describe("Select component tests", function () {
|
|
|
871
1035
|
test("Non-Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
872
1036
|
var onChange = jest.fn();
|
|
873
1037
|
|
|
874
|
-
var
|
|
1038
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
875
1039
|
label: "test-select-label",
|
|
876
|
-
options:
|
|
1040
|
+
options: singleOptions,
|
|
877
1041
|
onChange: onChange,
|
|
878
1042
|
searchable: true
|
|
879
1043
|
})),
|
|
880
|
-
container =
|
|
881
|
-
getByText =
|
|
882
|
-
getByRole =
|
|
883
|
-
getAllByRole =
|
|
884
|
-
queryByRole =
|
|
1044
|
+
container = _render27.container,
|
|
1045
|
+
getByText = _render27.getByText,
|
|
1046
|
+
getByRole = _render27.getByRole,
|
|
1047
|
+
getAllByRole = _render27.getAllByRole,
|
|
1048
|
+
queryByRole = _render27.queryByRole;
|
|
885
1049
|
|
|
886
1050
|
var select = getByRole("combobox");
|
|
887
1051
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -895,8 +1059,7 @@ describe("Select component tests", function () {
|
|
|
895
1059
|
_userEvent["default"].click(getByRole("option"));
|
|
896
1060
|
|
|
897
1061
|
expect(onChange).toHaveBeenCalledWith({
|
|
898
|
-
value: "8"
|
|
899
|
-
error: null
|
|
1062
|
+
value: "8"
|
|
900
1063
|
});
|
|
901
1064
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
902
1065
|
expect(getByText("Option 08")).toBeTruthy();
|
|
@@ -909,15 +1072,15 @@ describe("Select component tests", function () {
|
|
|
909
1072
|
test("Non-Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
910
1073
|
var onChange = jest.fn();
|
|
911
1074
|
|
|
912
|
-
var
|
|
1075
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
913
1076
|
label: "test-select-label",
|
|
914
|
-
options:
|
|
1077
|
+
options: singleOptions,
|
|
915
1078
|
onChange: onChange,
|
|
916
1079
|
searchable: true
|
|
917
1080
|
})),
|
|
918
|
-
container =
|
|
919
|
-
getByText =
|
|
920
|
-
getByRole =
|
|
1081
|
+
container = _render28.container,
|
|
1082
|
+
getByText = _render28.getByText,
|
|
1083
|
+
getByRole = _render28.getByRole;
|
|
921
1084
|
|
|
922
1085
|
var select = getByRole("combobox");
|
|
923
1086
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -933,16 +1096,16 @@ describe("Select component tests", function () {
|
|
|
933
1096
|
test("Non-Grouped Options: Searchable - Clicking the select, when the list is open, clears the search value", function () {
|
|
934
1097
|
var onChange = jest.fn();
|
|
935
1098
|
|
|
936
|
-
var
|
|
1099
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
937
1100
|
label: "test-select-label",
|
|
938
|
-
options:
|
|
1101
|
+
options: singleOptions,
|
|
939
1102
|
onChange: onChange,
|
|
940
1103
|
searchable: true
|
|
941
1104
|
})),
|
|
942
|
-
container =
|
|
943
|
-
getByText =
|
|
944
|
-
getByRole =
|
|
945
|
-
getAllByRole =
|
|
1105
|
+
container = _render29.container,
|
|
1106
|
+
getByText = _render29.getByText,
|
|
1107
|
+
getByRole = _render29.getByRole,
|
|
1108
|
+
getAllByRole = _render29.getAllByRole;
|
|
946
1109
|
|
|
947
1110
|
var select = getByRole("combobox");
|
|
948
1111
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -965,15 +1128,15 @@ describe("Select component tests", function () {
|
|
|
965
1128
|
test("Non-Grouped Options: Searchable - Writing displays the listbox, if it was not open", function () {
|
|
966
1129
|
var onChange = jest.fn();
|
|
967
1130
|
|
|
968
|
-
var
|
|
1131
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
969
1132
|
label: "test-select-label",
|
|
970
|
-
options:
|
|
1133
|
+
options: singleOptions,
|
|
971
1134
|
onChange: onChange,
|
|
972
1135
|
searchable: true
|
|
973
1136
|
})),
|
|
974
|
-
container =
|
|
975
|
-
getByRole =
|
|
976
|
-
queryByRole =
|
|
1137
|
+
container = _render30.container,
|
|
1138
|
+
getByRole = _render30.getByRole,
|
|
1139
|
+
queryByRole = _render30.queryByRole;
|
|
977
1140
|
|
|
978
1141
|
var select = getByRole("combobox");
|
|
979
1142
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -991,15 +1154,15 @@ describe("Select component tests", function () {
|
|
|
991
1154
|
test("Non-Grouped Options: Searchable - Key Esc cleans the search value and closes the options", function () {
|
|
992
1155
|
var onChange = jest.fn();
|
|
993
1156
|
|
|
994
|
-
var
|
|
1157
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
995
1158
|
label: "test-select-label",
|
|
996
|
-
options:
|
|
1159
|
+
options: singleOptions,
|
|
997
1160
|
onChange: onChange,
|
|
998
1161
|
searchable: true
|
|
999
1162
|
})),
|
|
1000
|
-
container =
|
|
1001
|
-
getByRole =
|
|
1002
|
-
queryByRole =
|
|
1163
|
+
container = _render31.container,
|
|
1164
|
+
getByRole = _render31.getByRole,
|
|
1165
|
+
queryByRole = _render31.queryByRole;
|
|
1003
1166
|
|
|
1004
1167
|
var select = getByRole("combobox");
|
|
1005
1168
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1019,16 +1182,16 @@ describe("Select component tests", function () {
|
|
|
1019
1182
|
test("Non-Grouped Options: Searchable - While user types, a clear action is displayed for cleaning the search value", function () {
|
|
1020
1183
|
var onChange = jest.fn();
|
|
1021
1184
|
|
|
1022
|
-
var
|
|
1185
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1023
1186
|
label: "test-select-label",
|
|
1024
|
-
options:
|
|
1187
|
+
options: singleOptions,
|
|
1025
1188
|
onChange: onChange,
|
|
1026
1189
|
searchable: true
|
|
1027
1190
|
})),
|
|
1028
|
-
container =
|
|
1029
|
-
getByRole =
|
|
1030
|
-
getAllByRole =
|
|
1031
|
-
queryByTitle =
|
|
1191
|
+
container = _render32.container,
|
|
1192
|
+
getByRole = _render32.getByRole,
|
|
1193
|
+
getAllByRole = _render32.getAllByRole,
|
|
1194
|
+
queryByTitle = _render32.queryByTitle;
|
|
1032
1195
|
|
|
1033
1196
|
var searchInput = container.querySelectorAll("input")[1];
|
|
1034
1197
|
|
|
@@ -1048,19 +1211,19 @@ describe("Select component tests", function () {
|
|
|
1048
1211
|
test("Non-Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
1049
1212
|
var onChange = jest.fn();
|
|
1050
1213
|
|
|
1051
|
-
var
|
|
1214
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1052
1215
|
name: "test",
|
|
1053
1216
|
label: "test-select-label",
|
|
1054
|
-
options:
|
|
1217
|
+
options: singleOptions,
|
|
1055
1218
|
onChange: onChange,
|
|
1056
1219
|
multiple: true
|
|
1057
1220
|
})),
|
|
1058
|
-
getByText =
|
|
1059
|
-
getAllByText =
|
|
1060
|
-
getByRole =
|
|
1061
|
-
getAllByRole =
|
|
1062
|
-
queryByRole =
|
|
1063
|
-
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;
|
|
1064
1227
|
|
|
1065
1228
|
var select = getByRole("combobox");
|
|
1066
1229
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1069,9 +1232,11 @@ describe("Select component tests", function () {
|
|
|
1069
1232
|
|
|
1070
1233
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
1071
1234
|
|
|
1072
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1073
|
-
|
|
1235
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1074
1236
|
|
|
1237
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1238
|
+
value: ["11"]
|
|
1239
|
+
});
|
|
1075
1240
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1076
1241
|
expect(getAllByText("Option 11").length).toBe(2);
|
|
1077
1242
|
|
|
@@ -1094,9 +1259,11 @@ describe("Select component tests", function () {
|
|
|
1094
1259
|
code: "Enter",
|
|
1095
1260
|
keyCode: 13,
|
|
1096
1261
|
charCode: 13
|
|
1097
|
-
});
|
|
1098
|
-
|
|
1262
|
+
});
|
|
1099
1263
|
|
|
1264
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1265
|
+
value: ["11", "19"]
|
|
1266
|
+
});
|
|
1100
1267
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1101
1268
|
expect(getByText("Option 11, Option 19")).toBeTruthy();
|
|
1102
1269
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
@@ -1106,19 +1273,19 @@ describe("Select component tests", function () {
|
|
|
1106
1273
|
test("Non-Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
1107
1274
|
var onChange = jest.fn();
|
|
1108
1275
|
|
|
1109
|
-
var
|
|
1276
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1110
1277
|
label: "test-select-label",
|
|
1111
|
-
options:
|
|
1278
|
+
options: singleOptions,
|
|
1112
1279
|
onChange: onChange,
|
|
1113
1280
|
multiple: true
|
|
1114
1281
|
})),
|
|
1115
|
-
getByText =
|
|
1116
|
-
queryByText =
|
|
1117
|
-
getByRole =
|
|
1118
|
-
getAllByRole =
|
|
1119
|
-
queryByRole =
|
|
1120
|
-
getByTitle =
|
|
1121
|
-
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;
|
|
1122
1289
|
|
|
1123
1290
|
var select = getByRole("combobox");
|
|
1124
1291
|
|
|
@@ -1128,9 +1295,11 @@ describe("Select component tests", function () {
|
|
|
1128
1295
|
|
|
1129
1296
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1130
1297
|
|
|
1131
|
-
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1132
|
-
|
|
1298
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1133
1299
|
|
|
1300
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1301
|
+
value: ["6", "9", "14"]
|
|
1302
|
+
});
|
|
1134
1303
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1135
1304
|
expect(getByText("Option 06, Option 09, Option 14")).toBeTruthy();
|
|
1136
1305
|
expect(getByText("3", {
|
|
@@ -1139,6 +1308,10 @@ describe("Select component tests", function () {
|
|
|
1139
1308
|
|
|
1140
1309
|
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
1141
1310
|
|
|
1311
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1312
|
+
value: [],
|
|
1313
|
+
error: "This field is required. Please, enter a value."
|
|
1314
|
+
});
|
|
1142
1315
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1143
1316
|
expect(queryByText("Option 06, Option 09, Option 14")).toBeFalsy();
|
|
1144
1317
|
expect(queryByText("3")).toBeFalsy();
|
|
@@ -1147,18 +1320,18 @@ describe("Select component tests", function () {
|
|
|
1147
1320
|
test("Non-Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1148
1321
|
var onChange = jest.fn();
|
|
1149
1322
|
|
|
1150
|
-
var
|
|
1323
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1151
1324
|
label: "test-select-label",
|
|
1152
1325
|
placeholder: "Choose an option",
|
|
1153
|
-
options:
|
|
1326
|
+
options: singleOptions,
|
|
1154
1327
|
onChange: onChange,
|
|
1155
1328
|
multiple: true,
|
|
1156
1329
|
optional: true
|
|
1157
1330
|
})),
|
|
1158
|
-
getByText =
|
|
1159
|
-
getAllByText =
|
|
1160
|
-
getByRole =
|
|
1161
|
-
getAllByRole =
|
|
1331
|
+
getByText = _render35.getByText,
|
|
1332
|
+
getAllByText = _render35.getAllByText,
|
|
1333
|
+
getByRole = _render35.getByRole,
|
|
1334
|
+
getAllByRole = _render35.getAllByRole;
|
|
1162
1335
|
|
|
1163
1336
|
var select = getByRole("combobox");
|
|
1164
1337
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1168,19 +1341,21 @@ describe("Select component tests", function () {
|
|
|
1168
1341
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1169
1342
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1170
1343
|
|
|
1171
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1172
|
-
|
|
1344
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1173
1345
|
|
|
1346
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1347
|
+
value: ["1"]
|
|
1348
|
+
});
|
|
1174
1349
|
expect(getAllByText("Option 01").length).toBe(2);
|
|
1175
1350
|
});
|
|
1176
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 () {
|
|
1177
|
-
var
|
|
1352
|
+
var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1178
1353
|
label: "test-select-label",
|
|
1179
|
-
options:
|
|
1354
|
+
options: singleOptions
|
|
1180
1355
|
})),
|
|
1181
|
-
getByText =
|
|
1182
|
-
getByRole =
|
|
1183
|
-
getAllByRole =
|
|
1356
|
+
getByText = _render36.getByText,
|
|
1357
|
+
getByRole = _render36.getByRole,
|
|
1358
|
+
getAllByRole = _render36.getAllByRole;
|
|
1184
1359
|
|
|
1185
1360
|
var select = getByRole("combobox");
|
|
1186
1361
|
|
|
@@ -1248,14 +1423,14 @@ describe("Select component tests", function () {
|
|
|
1248
1423
|
expect(getByText("Option 06")).toBeTruthy();
|
|
1249
1424
|
});
|
|
1250
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 () {
|
|
1251
|
-
var
|
|
1426
|
+
var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1252
1427
|
label: "test-select-label",
|
|
1253
|
-
options:
|
|
1428
|
+
options: singleOptions
|
|
1254
1429
|
})),
|
|
1255
|
-
getByText =
|
|
1256
|
-
getByRole =
|
|
1257
|
-
getAllByRole =
|
|
1258
|
-
queryByRole =
|
|
1430
|
+
getByText = _render37.getByText,
|
|
1431
|
+
getByRole = _render37.getByRole,
|
|
1432
|
+
getAllByRole = _render37.getAllByRole,
|
|
1433
|
+
queryByRole = _render37.queryByRole;
|
|
1259
1434
|
|
|
1260
1435
|
var select = getByRole("combobox");
|
|
1261
1436
|
|
|
@@ -1323,14 +1498,14 @@ describe("Select component tests", function () {
|
|
|
1323
1498
|
expect(getByText("Option 17")).toBeTruthy();
|
|
1324
1499
|
});
|
|
1325
1500
|
test("Grouped Options - Opens listbox and renders it correctly or closes it with a click on select", function () {
|
|
1326
|
-
var
|
|
1501
|
+
var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1327
1502
|
label: "test-select-label",
|
|
1328
|
-
options:
|
|
1503
|
+
options: groupOptions
|
|
1329
1504
|
})),
|
|
1330
|
-
getByText =
|
|
1331
|
-
getByRole =
|
|
1332
|
-
getAllByRole =
|
|
1333
|
-
queryByRole =
|
|
1505
|
+
getByText = _render38.getByText,
|
|
1506
|
+
getByRole = _render38.getByRole,
|
|
1507
|
+
getAllByRole = _render38.getAllByRole,
|
|
1508
|
+
queryByRole = _render38.queryByRole;
|
|
1334
1509
|
|
|
1335
1510
|
var select = getByRole("combobox");
|
|
1336
1511
|
|
|
@@ -1358,15 +1533,15 @@ describe("Select component tests", function () {
|
|
|
1358
1533
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
1359
1534
|
});
|
|
1360
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 () {
|
|
1361
|
-
var
|
|
1536
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1362
1537
|
label: "test-select-label",
|
|
1363
1538
|
options: [{
|
|
1364
1539
|
label: "Group 1",
|
|
1365
1540
|
options: []
|
|
1366
1541
|
}]
|
|
1367
1542
|
})),
|
|
1368
|
-
getByRole =
|
|
1369
|
-
queryByRole =
|
|
1543
|
+
getByRole = _render39.getByRole,
|
|
1544
|
+
queryByRole = _render39.queryByRole;
|
|
1370
1545
|
|
|
1371
1546
|
var select = getByRole("combobox");
|
|
1372
1547
|
|
|
@@ -1378,17 +1553,17 @@ describe("Select component tests", function () {
|
|
|
1378
1553
|
test("Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
1379
1554
|
var onChange = jest.fn();
|
|
1380
1555
|
|
|
1381
|
-
var
|
|
1556
|
+
var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1382
1557
|
name: "test",
|
|
1383
1558
|
label: "test-select-label",
|
|
1384
|
-
options:
|
|
1559
|
+
options: groupOptions,
|
|
1385
1560
|
onChange: onChange
|
|
1386
1561
|
})),
|
|
1387
|
-
getByText =
|
|
1388
|
-
getByRole =
|
|
1389
|
-
getAllByRole =
|
|
1390
|
-
queryByRole =
|
|
1391
|
-
container =
|
|
1562
|
+
getByText = _render40.getByText,
|
|
1563
|
+
getByRole = _render40.getByRole,
|
|
1564
|
+
getAllByRole = _render40.getAllByRole,
|
|
1565
|
+
queryByRole = _render40.queryByRole,
|
|
1566
|
+
container = _render40.container;
|
|
1392
1567
|
|
|
1393
1568
|
var select = getByRole("combobox");
|
|
1394
1569
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1398,8 +1573,7 @@ describe("Select component tests", function () {
|
|
|
1398
1573
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1399
1574
|
|
|
1400
1575
|
expect(onChange).toHaveBeenCalledWith({
|
|
1401
|
-
value: "oviedo"
|
|
1402
|
-
error: null
|
|
1576
|
+
value: "oviedo"
|
|
1403
1577
|
});
|
|
1404
1578
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1405
1579
|
expect(getByText("Oviedo")).toBeTruthy();
|
|
@@ -1412,16 +1586,16 @@ describe("Select component tests", function () {
|
|
|
1412
1586
|
test("Grouped Options - Optional renders an empty first option (out of any group) with the placeholder as its label", function () {
|
|
1413
1587
|
var onChange = jest.fn();
|
|
1414
1588
|
|
|
1415
|
-
var
|
|
1589
|
+
var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1416
1590
|
label: "test-select-label",
|
|
1417
1591
|
placeholder: "Placeholder example",
|
|
1418
|
-
options:
|
|
1592
|
+
options: groupOptions,
|
|
1419
1593
|
onChange: onChange,
|
|
1420
1594
|
optional: true
|
|
1421
1595
|
})),
|
|
1422
|
-
getByRole =
|
|
1423
|
-
getAllByRole =
|
|
1424
|
-
getAllByText =
|
|
1596
|
+
getByRole = _render41.getByRole,
|
|
1597
|
+
getAllByRole = _render41.getAllByRole,
|
|
1598
|
+
getAllByText = _render41.getAllByText;
|
|
1425
1599
|
|
|
1426
1600
|
var select = getByRole("combobox");
|
|
1427
1601
|
|
|
@@ -1433,8 +1607,7 @@ describe("Select component tests", function () {
|
|
|
1433
1607
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1434
1608
|
|
|
1435
1609
|
expect(onChange).toHaveBeenCalledWith({
|
|
1436
|
-
value: ""
|
|
1437
|
-
error: null
|
|
1610
|
+
value: ""
|
|
1438
1611
|
});
|
|
1439
1612
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1440
1613
|
|
|
@@ -1455,8 +1628,7 @@ describe("Select component tests", function () {
|
|
|
1455
1628
|
});
|
|
1456
1629
|
|
|
1457
1630
|
expect(onChange).toHaveBeenCalledWith({
|
|
1458
|
-
value: ""
|
|
1459
|
-
error: null
|
|
1631
|
+
value: ""
|
|
1460
1632
|
});
|
|
1461
1633
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1462
1634
|
|
|
@@ -1470,18 +1642,18 @@ describe("Select component tests", function () {
|
|
|
1470
1642
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1471
1643
|
});
|
|
1472
1644
|
test("Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
1473
|
-
var
|
|
1645
|
+
var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1474
1646
|
label: "test-select-label",
|
|
1475
1647
|
placeholder: "Placeholder example",
|
|
1476
|
-
options:
|
|
1648
|
+
options: groupOptions,
|
|
1477
1649
|
optional: true,
|
|
1478
1650
|
searchable: true
|
|
1479
1651
|
})),
|
|
1480
|
-
getByRole =
|
|
1481
|
-
getAllByRole =
|
|
1482
|
-
getByText =
|
|
1483
|
-
queryByText =
|
|
1484
|
-
container =
|
|
1652
|
+
getByRole = _render42.getByRole,
|
|
1653
|
+
getAllByRole = _render42.getAllByRole,
|
|
1654
|
+
getByText = _render42.getByText,
|
|
1655
|
+
queryByText = _render42.queryByText,
|
|
1656
|
+
container = _render42.container;
|
|
1485
1657
|
|
|
1486
1658
|
var select = getByRole("combobox");
|
|
1487
1659
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1499,13 +1671,13 @@ describe("Select component tests", function () {
|
|
|
1499
1671
|
expect(getByText("No matches found")).toBeTruthy();
|
|
1500
1672
|
});
|
|
1501
1673
|
test("Grouped Options - Renders icons correctly when passed with group options", function () {
|
|
1502
|
-
var
|
|
1674
|
+
var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1503
1675
|
label: "test-select-label",
|
|
1504
|
-
options:
|
|
1676
|
+
options: groupedIconOptions,
|
|
1505
1677
|
optional: true
|
|
1506
1678
|
})),
|
|
1507
|
-
getByRole =
|
|
1508
|
-
getAllByRole =
|
|
1679
|
+
getByRole = _render43.getByRole,
|
|
1680
|
+
getAllByRole = _render43.getAllByRole;
|
|
1509
1681
|
|
|
1510
1682
|
var select = getByRole("combobox");
|
|
1511
1683
|
|
|
@@ -1515,12 +1687,12 @@ describe("Select component tests", function () {
|
|
|
1515
1687
|
expect(getAllByRole("option").length).toBe(11);
|
|
1516
1688
|
});
|
|
1517
1689
|
test("Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
1518
|
-
var
|
|
1690
|
+
var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1519
1691
|
label: "test-select-label",
|
|
1520
|
-
options:
|
|
1692
|
+
options: groupOptions
|
|
1521
1693
|
})),
|
|
1522
|
-
getByRole =
|
|
1523
|
-
queryByRole =
|
|
1694
|
+
getByRole = _render44.getByRole,
|
|
1695
|
+
queryByRole = _render44.queryByRole;
|
|
1524
1696
|
|
|
1525
1697
|
var select = getByRole("combobox");
|
|
1526
1698
|
|
|
@@ -1535,12 +1707,12 @@ describe("Select component tests", function () {
|
|
|
1535
1707
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1536
1708
|
});
|
|
1537
1709
|
test("Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
1538
|
-
var
|
|
1710
|
+
var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1539
1711
|
label: "test-select-label",
|
|
1540
|
-
options:
|
|
1712
|
+
options: groupOptions
|
|
1541
1713
|
})),
|
|
1542
|
-
getByRole =
|
|
1543
|
-
queryByRole =
|
|
1714
|
+
getByRole = _render45.getByRole,
|
|
1715
|
+
queryByRole = _render45.queryByRole;
|
|
1544
1716
|
|
|
1545
1717
|
var select = getByRole("combobox");
|
|
1546
1718
|
|
|
@@ -1562,12 +1734,12 @@ describe("Select component tests", function () {
|
|
|
1562
1734
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1563
1735
|
});
|
|
1564
1736
|
test("Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
1565
|
-
var
|
|
1737
|
+
var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1566
1738
|
label: "test-select-label",
|
|
1567
|
-
options:
|
|
1739
|
+
options: groupOptions
|
|
1568
1740
|
})),
|
|
1569
|
-
getByRole =
|
|
1570
|
-
queryByRole =
|
|
1741
|
+
getByRole = _render46.getByRole,
|
|
1742
|
+
queryByRole = _render46.queryByRole;
|
|
1571
1743
|
|
|
1572
1744
|
var select = getByRole("combobox");
|
|
1573
1745
|
|
|
@@ -1582,12 +1754,12 @@ describe("Select component tests", function () {
|
|
|
1582
1754
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1583
1755
|
});
|
|
1584
1756
|
test("Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
1585
|
-
var
|
|
1757
|
+
var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1586
1758
|
label: "test-select-label",
|
|
1587
|
-
options:
|
|
1759
|
+
options: groupOptions
|
|
1588
1760
|
})),
|
|
1589
|
-
getByRole =
|
|
1590
|
-
queryByRole =
|
|
1761
|
+
getByRole = _render47.getByRole,
|
|
1762
|
+
queryByRole = _render47.queryByRole;
|
|
1591
1763
|
|
|
1592
1764
|
var select = getByRole("combobox");
|
|
1593
1765
|
|
|
@@ -1611,16 +1783,16 @@ describe("Select component tests", function () {
|
|
|
1611
1783
|
test("Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
1612
1784
|
var onChange = jest.fn();
|
|
1613
1785
|
|
|
1614
|
-
var
|
|
1786
|
+
var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1615
1787
|
label: "test-select-label",
|
|
1616
|
-
options:
|
|
1788
|
+
options: groupOptions,
|
|
1617
1789
|
onChange: onChange,
|
|
1618
1790
|
optional: true
|
|
1619
1791
|
})),
|
|
1620
|
-
getByText =
|
|
1621
|
-
getByRole =
|
|
1622
|
-
getAllByRole =
|
|
1623
|
-
queryByRole =
|
|
1792
|
+
getByText = _render48.getByText,
|
|
1793
|
+
getByRole = _render48.getByRole,
|
|
1794
|
+
getAllByRole = _render48.getAllByRole,
|
|
1795
|
+
queryByRole = _render48.queryByRole;
|
|
1624
1796
|
|
|
1625
1797
|
var select = getByRole("combobox");
|
|
1626
1798
|
|
|
@@ -1660,8 +1832,7 @@ describe("Select component tests", function () {
|
|
|
1660
1832
|
});
|
|
1661
1833
|
|
|
1662
1834
|
expect(onChange).toHaveBeenCalledWith({
|
|
1663
|
-
value: "ebro"
|
|
1664
|
-
error: null
|
|
1835
|
+
value: "ebro"
|
|
1665
1836
|
});
|
|
1666
1837
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1667
1838
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1673,17 +1844,17 @@ describe("Select component tests", function () {
|
|
|
1673
1844
|
test("Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
1674
1845
|
var onChange = jest.fn();
|
|
1675
1846
|
|
|
1676
|
-
var
|
|
1847
|
+
var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1677
1848
|
label: "test-select-label",
|
|
1678
|
-
options:
|
|
1849
|
+
options: groupOptions,
|
|
1679
1850
|
onChange: onChange,
|
|
1680
1851
|
searchable: true
|
|
1681
1852
|
})),
|
|
1682
|
-
container =
|
|
1683
|
-
getByText =
|
|
1684
|
-
getByRole =
|
|
1685
|
-
getAllByRole =
|
|
1686
|
-
queryByRole =
|
|
1853
|
+
container = _render49.container,
|
|
1854
|
+
getByText = _render49.getByText,
|
|
1855
|
+
getByRole = _render49.getByRole,
|
|
1856
|
+
getAllByRole = _render49.getAllByRole,
|
|
1857
|
+
queryByRole = _render49.queryByRole;
|
|
1687
1858
|
|
|
1688
1859
|
var select = getByRole("combobox");
|
|
1689
1860
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1703,8 +1874,7 @@ describe("Select component tests", function () {
|
|
|
1703
1874
|
_userEvent["default"].click(getAllByRole("option")[4]);
|
|
1704
1875
|
|
|
1705
1876
|
expect(onChange).toHaveBeenCalledWith({
|
|
1706
|
-
value: "ebro"
|
|
1707
|
-
error: null
|
|
1877
|
+
value: "ebro"
|
|
1708
1878
|
});
|
|
1709
1879
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1710
1880
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1717,15 +1887,15 @@ describe("Select component tests", function () {
|
|
|
1717
1887
|
test("Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
1718
1888
|
var onChange = jest.fn();
|
|
1719
1889
|
|
|
1720
|
-
var
|
|
1890
|
+
var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1721
1891
|
label: "test-select-label",
|
|
1722
|
-
options:
|
|
1892
|
+
options: groupOptions,
|
|
1723
1893
|
onChange: onChange,
|
|
1724
1894
|
searchable: true
|
|
1725
1895
|
})),
|
|
1726
|
-
container =
|
|
1727
|
-
getByText =
|
|
1728
|
-
getByRole =
|
|
1896
|
+
container = _render50.container,
|
|
1897
|
+
getByText = _render50.getByText,
|
|
1898
|
+
getByRole = _render50.getByRole;
|
|
1729
1899
|
|
|
1730
1900
|
var select = getByRole("combobox");
|
|
1731
1901
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1741,19 +1911,19 @@ describe("Select component tests", function () {
|
|
|
1741
1911
|
test("Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
1742
1912
|
var onChange = jest.fn();
|
|
1743
1913
|
|
|
1744
|
-
var
|
|
1914
|
+
var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1745
1915
|
name: "test",
|
|
1746
1916
|
label: "test-select-label",
|
|
1747
|
-
options:
|
|
1917
|
+
options: groupOptions,
|
|
1748
1918
|
onChange: onChange,
|
|
1749
1919
|
multiple: true
|
|
1750
1920
|
})),
|
|
1751
|
-
getByText =
|
|
1752
|
-
getAllByText =
|
|
1753
|
-
getByRole =
|
|
1754
|
-
getAllByRole =
|
|
1755
|
-
queryByRole =
|
|
1756
|
-
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;
|
|
1757
1927
|
|
|
1758
1928
|
var select = getByRole("combobox");
|
|
1759
1929
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1762,9 +1932,11 @@ describe("Select component tests", function () {
|
|
|
1762
1932
|
|
|
1763
1933
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
1764
1934
|
|
|
1765
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1766
|
-
|
|
1935
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1767
1936
|
|
|
1937
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1938
|
+
value: ["bilbao"]
|
|
1939
|
+
});
|
|
1768
1940
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1769
1941
|
expect(getAllByText("Bilbao").length).toBe(2);
|
|
1770
1942
|
|
|
@@ -1787,9 +1959,11 @@ describe("Select component tests", function () {
|
|
|
1787
1959
|
code: "Enter",
|
|
1788
1960
|
keyCode: 13,
|
|
1789
1961
|
charCode: 13
|
|
1790
|
-
});
|
|
1791
|
-
|
|
1962
|
+
});
|
|
1792
1963
|
|
|
1964
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1965
|
+
value: ["bilbao", "guadalquivir"]
|
|
1966
|
+
});
|
|
1793
1967
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1794
1968
|
expect(getByText("Bilbao, Guadalquivir")).toBeTruthy();
|
|
1795
1969
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
@@ -1799,19 +1973,19 @@ describe("Select component tests", function () {
|
|
|
1799
1973
|
test("Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
1800
1974
|
var onChange = jest.fn();
|
|
1801
1975
|
|
|
1802
|
-
var
|
|
1976
|
+
var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1803
1977
|
label: "test-select-label",
|
|
1804
|
-
options:
|
|
1978
|
+
options: groupOptions,
|
|
1805
1979
|
onChange: onChange,
|
|
1806
1980
|
multiple: true
|
|
1807
1981
|
})),
|
|
1808
|
-
getByText =
|
|
1809
|
-
queryByText =
|
|
1810
|
-
getByRole =
|
|
1811
|
-
getAllByRole =
|
|
1812
|
-
queryByRole =
|
|
1813
|
-
getByTitle =
|
|
1814
|
-
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;
|
|
1815
1989
|
|
|
1816
1990
|
var select = getByRole("combobox");
|
|
1817
1991
|
|
|
@@ -1823,9 +1997,11 @@ describe("Select component tests", function () {
|
|
|
1823
1997
|
|
|
1824
1998
|
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1825
1999
|
|
|
1826
|
-
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1827
|
-
|
|
2000
|
+
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1828
2001
|
|
|
2002
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2003
|
+
value: ["blanco", "oviedo", "duero", "ebro"]
|
|
2004
|
+
});
|
|
1829
2005
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1830
2006
|
expect(getByText("Blanco, Oviedo, Duero, Ebro")).toBeTruthy();
|
|
1831
2007
|
expect(getByText("4", {
|
|
@@ -1842,18 +2018,18 @@ describe("Select component tests", function () {
|
|
|
1842
2018
|
test("Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1843
2019
|
var onChange = jest.fn();
|
|
1844
2020
|
|
|
1845
|
-
var
|
|
2021
|
+
var _render53 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1846
2022
|
label: "test-select-label",
|
|
1847
2023
|
placeholder: "Choose an option",
|
|
1848
|
-
options:
|
|
2024
|
+
options: groupOptions,
|
|
1849
2025
|
onChange: onChange,
|
|
1850
2026
|
multiple: true,
|
|
1851
2027
|
optional: true
|
|
1852
2028
|
})),
|
|
1853
|
-
getByText =
|
|
1854
|
-
getAllByText =
|
|
1855
|
-
getByRole =
|
|
1856
|
-
getAllByRole =
|
|
2029
|
+
getByText = _render53.getByText,
|
|
2030
|
+
getAllByText = _render53.getAllByText,
|
|
2031
|
+
getByRole = _render53.getByRole,
|
|
2032
|
+
getAllByRole = _render53.getAllByRole;
|
|
1857
2033
|
|
|
1858
2034
|
var select = getByRole("combobox");
|
|
1859
2035
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1863,19 +2039,21 @@ describe("Select component tests", function () {
|
|
|
1863
2039
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1864
2040
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1865
2041
|
|
|
1866
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1867
|
-
|
|
2042
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1868
2043
|
|
|
2044
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2045
|
+
value: ["azul"]
|
|
2046
|
+
});
|
|
1869
2047
|
expect(getAllByText("Azul").length).toBe(2);
|
|
1870
2048
|
});
|
|
1871
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 () {
|
|
1872
|
-
var
|
|
2050
|
+
var _render54 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1873
2051
|
label: "test-select-label",
|
|
1874
|
-
options:
|
|
2052
|
+
options: groupOptions
|
|
1875
2053
|
})),
|
|
1876
|
-
getByText =
|
|
1877
|
-
getByRole =
|
|
1878
|
-
getAllByRole =
|
|
2054
|
+
getByText = _render54.getByText,
|
|
2055
|
+
getByRole = _render54.getByRole,
|
|
2056
|
+
getAllByRole = _render54.getAllByRole;
|
|
1879
2057
|
|
|
1880
2058
|
var select = getByRole("combobox");
|
|
1881
2059
|
|
|
@@ -1943,13 +2121,13 @@ describe("Select component tests", function () {
|
|
|
1943
2121
|
expect(getByText("Verde")).toBeTruthy();
|
|
1944
2122
|
});
|
|
1945
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 () {
|
|
1946
|
-
var
|
|
2124
|
+
var _render55 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1947
2125
|
label: "test-select-label",
|
|
1948
|
-
options:
|
|
2126
|
+
options: groupOptions
|
|
1949
2127
|
})),
|
|
1950
|
-
getByText =
|
|
1951
|
-
getByRole =
|
|
1952
|
-
getAllByRole =
|
|
2128
|
+
getByText = _render55.getByText,
|
|
2129
|
+
getByRole = _render55.getByRole,
|
|
2130
|
+
getAllByRole = _render55.getAllByRole;
|
|
1953
2131
|
|
|
1954
2132
|
var select = getByRole("combobox");
|
|
1955
2133
|
|
|
@@ -2013,4 +2191,38 @@ describe("Select component tests", function () {
|
|
|
2013
2191
|
|
|
2014
2192
|
expect(getByText("Azul")).toBeTruthy();
|
|
2015
2193
|
});
|
|
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"], {
|
|
2198
|
+
label: "test-select-label",
|
|
2199
|
+
options: singleOptions,
|
|
2200
|
+
onChange: onChange,
|
|
2201
|
+
multiple: true,
|
|
2202
|
+
optional: true
|
|
2203
|
+
})),
|
|
2204
|
+
getByRole = _render56.getByRole,
|
|
2205
|
+
getAllByRole = _render56.getAllByRole,
|
|
2206
|
+
getByTitle = _render56.getByTitle;
|
|
2207
|
+
|
|
2208
|
+
var select = getByRole("combobox");
|
|
2209
|
+
|
|
2210
|
+
_userEvent["default"].click(select);
|
|
2211
|
+
|
|
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
|
+
});
|
|
2227
|
+
});
|
|
2016
2228
|
});
|