@dxc-technology/halstack-react 0.0.0-49c38a4 → 0.0.0-4a67e25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +294 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +121 -123
- package/accordion/Accordion.stories.tsx +13 -14
- package/accordion/Accordion.test.js +25 -11
- package/accordion/types.d.ts +9 -4
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -36
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +30 -37
- package/accordion-group/types.d.ts +14 -3
- package/alert/Alert.js +5 -2
- 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 +23 -33
- 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/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +53 -68
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +24 -27
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +106 -109
- package/checkbox/Checkbox.stories.tsx +146 -130
- package/checkbox/Checkbox.test.js +100 -10
- package/checkbox/types.d.ts +13 -5
- package/chip/types.d.ts +1 -1
- package/common/variables.js +236 -106
- package/date-input/DateInput.js +56 -42
- package/date-input/DateInput.stories.tsx +19 -8
- package/date-input/DateInput.test.js +161 -87
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +247 -251
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +504 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +183 -222
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +43 -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/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- 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 +71 -131
- 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 +58 -75
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -10
- package/main.js +46 -56
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +45 -11
- package/number-input/types.d.ts +17 -10
- package/package.json +20 -16
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +43 -1
- 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 +16 -18
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- 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 +342 -0
- package/quick-nav/types.d.ts +21 -0
- package/{row → quick-nav}/types.js +0 -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 +5 -0
- package/radio-group/RadioGroup.test.js +144 -116
- package/radio-group/types.d.ts +79 -2
- package/resultsetTable/ResultsetTable.js +1 -3
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +198 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.js +141 -365
- package/select/Select.stories.tsx +160 -115
- package/select/Select.test.js +609 -276
- package/select/types.d.ts +52 -12
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -156
- 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 +122 -96
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +142 -21
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -67
- package/switch/Switch.stories.tsx +20 -42
- package/switch/Switch.test.js +155 -3
- package/switch/types.d.ts +12 -4
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +362 -108
- package/tabs/Tabs.stories.tsx +74 -8
- package/tabs/Tabs.test.js +241 -13
- package/tabs/types.d.ts +19 -5
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{stack → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +15 -20
- package/tag/Tag.stories.tsx +12 -8
- 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 +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +214 -333
- package/text-input/TextInput.stories.tsx +199 -192
- package/text-input/TextInput.test.js +686 -753
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +15 -24
- package/textarea/Textarea.stories.jsx +5 -5
- package/textarea/Textarea.test.js +37 -36
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +58 -54
- package/wizard/Wizard.stories.tsx +33 -24
- package/wizard/Wizard.test.js +36 -23
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -235
- 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/select/Select.test.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
6
|
+
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
|
+
|
|
5
9
|
var _react = _interopRequireDefault(require("react"));
|
|
6
10
|
|
|
7
11
|
var _Select = _interopRequireDefault(require("./Select"));
|
|
@@ -10,6 +14,44 @@ var _react2 = require("@testing-library/react");
|
|
|
10
14
|
|
|
11
15
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
12
16
|
|
|
17
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
18
|
+
global.globalThis = global;
|
|
19
|
+
|
|
20
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
21
|
+
function ResizeObserver(cb) {
|
|
22
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
23
|
+
this.cb = cb;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
27
|
+
key: "observe",
|
|
28
|
+
value: function observe() {
|
|
29
|
+
this.cb([{
|
|
30
|
+
borderBoxSize: {
|
|
31
|
+
inlineSize: 0,
|
|
32
|
+
blockSize: 0
|
|
33
|
+
}
|
|
34
|
+
}]);
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
key: "unobserve",
|
|
38
|
+
value: function unobserve() {}
|
|
39
|
+
}]);
|
|
40
|
+
return ResizeObserver;
|
|
41
|
+
}();
|
|
42
|
+
|
|
43
|
+
global.DOMRect = {
|
|
44
|
+
fromRect: function fromRect() {
|
|
45
|
+
return {
|
|
46
|
+
top: 0,
|
|
47
|
+
left: 0,
|
|
48
|
+
bottom: 0,
|
|
49
|
+
right: 0,
|
|
50
|
+
width: 0,
|
|
51
|
+
height: 0
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
13
55
|
var single_options = [{
|
|
14
56
|
label: "Option 01",
|
|
15
57
|
value: "1"
|
|
@@ -264,7 +306,7 @@ var grouped_icon_options = [{
|
|
|
264
306
|
}]
|
|
265
307
|
}];
|
|
266
308
|
describe("Select component tests", function () {
|
|
267
|
-
test("
|
|
309
|
+
test("When clicking the label, the focus goes to the select", function () {
|
|
268
310
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
269
311
|
label: "test-select-label",
|
|
270
312
|
helperText: "test-select-helper-text",
|
|
@@ -275,60 +317,153 @@ describe("Select component tests", function () {
|
|
|
275
317
|
|
|
276
318
|
var select = getByRole("combobox");
|
|
277
319
|
var label = getByText("test-select-label");
|
|
278
|
-
expect(label).toBeTruthy();
|
|
279
320
|
|
|
280
321
|
_userEvent["default"].click(label);
|
|
281
322
|
|
|
282
323
|
expect(document.activeElement).toEqual(select);
|
|
283
324
|
});
|
|
284
|
-
test("Renders with correct
|
|
325
|
+
test("Renders with correct aria attributes when is in error state", function () {
|
|
285
326
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
286
|
-
label: "
|
|
287
|
-
|
|
288
|
-
placeholder: "Example text"
|
|
327
|
+
label: "Error label",
|
|
328
|
+
error: "Error message."
|
|
289
329
|
})),
|
|
290
|
-
getByText = _render2.getByText
|
|
330
|
+
getByText = _render2.getByText,
|
|
331
|
+
getByRole = _render2.getByRole;
|
|
291
332
|
|
|
292
|
-
|
|
293
|
-
|
|
333
|
+
var select = getByRole("combobox");
|
|
334
|
+
var errorMessage = getByText("Error message.");
|
|
335
|
+
expect(errorMessage).toBeTruthy();
|
|
336
|
+
expect(select.getAttribute("aria-errormessage")).toBe(errorMessage.id);
|
|
337
|
+
expect(select.getAttribute("aria-invalid")).toBe("true");
|
|
338
|
+
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
294
339
|
});
|
|
295
|
-
test("Renders with correct
|
|
340
|
+
test("Renders with correct aria attributes", function () {
|
|
296
341
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
297
342
|
label: "test-select-label",
|
|
298
|
-
|
|
343
|
+
placeholder: "Example",
|
|
344
|
+
options: single_options
|
|
299
345
|
})),
|
|
300
|
-
getByText = _render3.getByText
|
|
346
|
+
getByText = _render3.getByText,
|
|
347
|
+
getByRole = _render3.getByRole;
|
|
301
348
|
|
|
302
|
-
|
|
303
|
-
|
|
349
|
+
var select = getByRole("combobox");
|
|
350
|
+
var label = getByText("test-select-label");
|
|
351
|
+
expect(select.getAttribute("aria-disabled")).toBe("false");
|
|
352
|
+
expect(select.getAttribute("aria-haspopup")).toBe("listbox");
|
|
353
|
+
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
354
|
+
expect(select.getAttribute("aria-required")).toBe("true");
|
|
355
|
+
expect(select.getAttribute("aria-labelledby")).toBe(label.id);
|
|
356
|
+
expect(select.getAttribute("aria-activedescendant")).toBeNull();
|
|
357
|
+
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
358
|
+
|
|
359
|
+
_userEvent["default"].click(select);
|
|
360
|
+
|
|
361
|
+
var list = getByRole("listbox");
|
|
362
|
+
expect(select.getAttribute("aria-controls")).toBe(list.id);
|
|
363
|
+
expect(list.getAttribute("aria-multiselectable")).toBe("false");
|
|
304
364
|
});
|
|
305
|
-
test("Renders with
|
|
365
|
+
test("Single selection: Renders with correct default value", function () {
|
|
306
366
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
307
|
-
label: "
|
|
308
|
-
|
|
367
|
+
label: "test-select-label",
|
|
368
|
+
name: "test",
|
|
369
|
+
defaultValue: "4",
|
|
370
|
+
options: single_options
|
|
309
371
|
})),
|
|
310
372
|
getByText = _render4.getByText,
|
|
311
|
-
getByRole = _render4.getByRole
|
|
373
|
+
getByRole = _render4.getByRole,
|
|
374
|
+
getAllByRole = _render4.getAllByRole,
|
|
375
|
+
queryByRole = _render4.queryByRole,
|
|
376
|
+
container = _render4.container;
|
|
312
377
|
|
|
313
378
|
var select = getByRole("combobox");
|
|
314
|
-
var
|
|
315
|
-
expect(
|
|
316
|
-
expect(
|
|
317
|
-
expect(
|
|
318
|
-
|
|
379
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
380
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
381
|
+
expect(getByText("Option 04")).toBeTruthy();
|
|
382
|
+
expect(submitInput.value).toBe("4");
|
|
383
|
+
|
|
384
|
+
_userEvent["default"].click(select);
|
|
385
|
+
|
|
386
|
+
expect(getAllByRole("option")[3].getAttribute("aria-selected")).toBe("true");
|
|
387
|
+
|
|
388
|
+
_userEvent["default"].click(getAllByRole("option")[7]);
|
|
389
|
+
|
|
390
|
+
expect(getByText("Option 08")).toBeTruthy();
|
|
391
|
+
expect(submitInput.value).toBe("8");
|
|
319
392
|
});
|
|
320
|
-
test("
|
|
393
|
+
test("Multiple selection: Renders with correct default value", function () {
|
|
321
394
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
322
395
|
label: "test-select-label",
|
|
323
|
-
|
|
396
|
+
name: "test",
|
|
397
|
+
defaultValue: ["4", "2", "6"],
|
|
324
398
|
options: single_options,
|
|
325
|
-
disabled: true,
|
|
326
|
-
searchable: true,
|
|
327
399
|
multiple: true
|
|
328
400
|
})),
|
|
329
|
-
getByRole = _render5.getByRole,
|
|
330
401
|
getByText = _render5.getByText,
|
|
331
|
-
|
|
402
|
+
getByRole = _render5.getByRole,
|
|
403
|
+
getAllByRole = _render5.getAllByRole,
|
|
404
|
+
queryByRole = _render5.queryByRole,
|
|
405
|
+
container = _render5.container;
|
|
406
|
+
|
|
407
|
+
var select = getByRole("combobox");
|
|
408
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
409
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
410
|
+
expect(getByText("Option 02, Option 04, Option 06")).toBeTruthy();
|
|
411
|
+
expect(submitInput.value).toBe("4,2,6");
|
|
412
|
+
|
|
413
|
+
_userEvent["default"].click(select);
|
|
414
|
+
|
|
415
|
+
expect(getAllByRole("option")[3].getAttribute("aria-selected")).toBe("true");
|
|
416
|
+
expect(getAllByRole("option")[1].getAttribute("aria-selected")).toBe("true");
|
|
417
|
+
expect(getAllByRole("option")[5].getAttribute("aria-selected")).toBe("true");
|
|
418
|
+
|
|
419
|
+
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
420
|
+
|
|
421
|
+
expect(getByText("Option 02, Option 03, Option 04, Option 06")).toBeTruthy();
|
|
422
|
+
expect(submitInput.value).toBe("4,2,6,3");
|
|
423
|
+
});
|
|
424
|
+
test("Sends its value when submitted", function () {
|
|
425
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
426
|
+
e.preventDefault();
|
|
427
|
+
var formData = new FormData(e.target);
|
|
428
|
+
var formProps = Object.fromEntries(formData);
|
|
429
|
+
expect(formProps).toStrictEqual({
|
|
430
|
+
options: "1,5,3"
|
|
431
|
+
});
|
|
432
|
+
});
|
|
433
|
+
|
|
434
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
435
|
+
onSubmit: handlerOnSubmit
|
|
436
|
+
}, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
437
|
+
name: "options",
|
|
438
|
+
label: "test-select-label",
|
|
439
|
+
defaultValue: ["1", "5"],
|
|
440
|
+
options: single_options,
|
|
441
|
+
multiple: true
|
|
442
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
443
|
+
type: "submit"
|
|
444
|
+
}, "Submit"))),
|
|
445
|
+
getByText = _render6.getByText,
|
|
446
|
+
getByRole = _render6.getByRole,
|
|
447
|
+
getAllByRole = _render6.getAllByRole;
|
|
448
|
+
|
|
449
|
+
var select = getByRole("combobox");
|
|
450
|
+
var submit = getByText("Submit");
|
|
451
|
+
|
|
452
|
+
_userEvent["default"].click(select);
|
|
453
|
+
|
|
454
|
+
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
455
|
+
|
|
456
|
+
_userEvent["default"].click(submit);
|
|
457
|
+
});
|
|
458
|
+
test("Disabled select - Cannot gain focus or open the listbox via click", function () {
|
|
459
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
460
|
+
label: "test-select-label",
|
|
461
|
+
value: ["1", "2"],
|
|
462
|
+
options: single_options,
|
|
463
|
+
disabled: true
|
|
464
|
+
})),
|
|
465
|
+
getByRole = _render7.getByRole,
|
|
466
|
+
queryByRole = _render7.queryByRole;
|
|
332
467
|
|
|
333
468
|
var select = getByRole("combobox");
|
|
334
469
|
expect(select.getAttribute("aria-disabled")).toBe("true");
|
|
@@ -336,13 +471,50 @@ describe("Select component tests", function () {
|
|
|
336
471
|
_userEvent["default"].click(select);
|
|
337
472
|
|
|
338
473
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
474
|
+
expect(document.activeElement === select).toBeFalsy();
|
|
475
|
+
});
|
|
476
|
+
test("Disabled select - Clear all options action must be shown but not clickable", function () {
|
|
477
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
478
|
+
label: "test-select-label",
|
|
479
|
+
value: ["1", "2"],
|
|
480
|
+
options: single_options,
|
|
481
|
+
disabled: true,
|
|
482
|
+
searchable: true,
|
|
483
|
+
multiple: true
|
|
484
|
+
})),
|
|
485
|
+
getByRole = _render8.getByRole,
|
|
486
|
+
getByText = _render8.getByText;
|
|
339
487
|
|
|
340
488
|
_userEvent["default"].click(getByRole("button"));
|
|
341
489
|
|
|
342
490
|
expect(getByText("Option 01, Option 02")).toBeTruthy();
|
|
343
491
|
});
|
|
344
|
-
test("
|
|
345
|
-
var
|
|
492
|
+
test("Disabled select - Does not call onBlur event", function () {
|
|
493
|
+
var onBlur = jest.fn();
|
|
494
|
+
|
|
495
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
496
|
+
label: "test-select-label",
|
|
497
|
+
options: single_options,
|
|
498
|
+
disabled: true,
|
|
499
|
+
onBlur: onBlur
|
|
500
|
+
})),
|
|
501
|
+
getByRole = _render9.getByRole;
|
|
502
|
+
|
|
503
|
+
var select = getByRole("combobox");
|
|
504
|
+
|
|
505
|
+
_userEvent["default"].click(select);
|
|
506
|
+
|
|
507
|
+
_react2.fireEvent.keyDown(getByRole("combobox"), {
|
|
508
|
+
key: "Tab",
|
|
509
|
+
code: "Tab",
|
|
510
|
+
keyCode: 9,
|
|
511
|
+
charCode: 9
|
|
512
|
+
});
|
|
513
|
+
|
|
514
|
+
expect(onBlur).not.toHaveBeenCalled();
|
|
515
|
+
});
|
|
516
|
+
test("Disabled select - When the component gains the focus, the listbox does not open", function () {
|
|
517
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
346
518
|
label: "test-select-label",
|
|
347
519
|
value: ["1", "2"],
|
|
348
520
|
options: single_options,
|
|
@@ -350,27 +522,52 @@ describe("Select component tests", function () {
|
|
|
350
522
|
searchable: true,
|
|
351
523
|
multiple: true
|
|
352
524
|
})),
|
|
353
|
-
getByRole =
|
|
354
|
-
queryByRole =
|
|
525
|
+
getByRole = _render10.getByRole,
|
|
526
|
+
queryByRole = _render10.queryByRole;
|
|
355
527
|
|
|
356
528
|
var select = getByRole("combobox");
|
|
357
529
|
|
|
358
530
|
_react2.fireEvent.focus(select);
|
|
359
531
|
|
|
360
532
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
533
|
+
expect(document.activeElement === select).toBeFalsy();
|
|
361
534
|
});
|
|
362
|
-
test("
|
|
535
|
+
test("Disabled select - Doesn't send its value when submitted", function () {
|
|
536
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
537
|
+
e.preventDefault();
|
|
538
|
+
var formData = new FormData(e.target);
|
|
539
|
+
var formProps = Object.fromEntries(formData);
|
|
540
|
+
expect(formProps).toStrictEqual({});
|
|
541
|
+
});
|
|
542
|
+
|
|
543
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
544
|
+
onSubmit: handlerOnSubmit
|
|
545
|
+
}, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
546
|
+
label: "test-select-label",
|
|
547
|
+
defaultValue: "1",
|
|
548
|
+
options: single_options,
|
|
549
|
+
disabled: true
|
|
550
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
551
|
+
type: "submit"
|
|
552
|
+
}, "Submit"))),
|
|
553
|
+
getByText = _render11.getByText;
|
|
554
|
+
|
|
555
|
+
var submit = getByText("Submit");
|
|
556
|
+
|
|
557
|
+
_userEvent["default"].click(submit);
|
|
558
|
+
});
|
|
559
|
+
test("Controlled - Single selection - Not optional constraint", function () {
|
|
363
560
|
var onChange = jest.fn();
|
|
364
561
|
var onBlur = jest.fn();
|
|
365
562
|
|
|
366
|
-
var
|
|
563
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
367
564
|
label: "test-select-label",
|
|
368
565
|
options: single_options,
|
|
369
566
|
onChange: onChange,
|
|
370
567
|
onBlur: onBlur
|
|
371
568
|
})),
|
|
372
|
-
getByRole =
|
|
373
|
-
getAllByRole =
|
|
569
|
+
getByRole = _render12.getByRole,
|
|
570
|
+
getAllByRole = _render12.getAllByRole;
|
|
374
571
|
|
|
375
572
|
var select = getByRole("combobox");
|
|
376
573
|
expect(select.getAttribute("aria-required")).toBe("true");
|
|
@@ -391,9 +588,32 @@ describe("Select component tests", function () {
|
|
|
391
588
|
|
|
392
589
|
expect(onChange).toHaveBeenCalled();
|
|
393
590
|
expect(onChange).toHaveBeenCalledWith({
|
|
394
|
-
value: "1"
|
|
395
|
-
|
|
591
|
+
value: "1"
|
|
592
|
+
});
|
|
593
|
+
|
|
594
|
+
_react2.fireEvent.blur(select);
|
|
595
|
+
|
|
596
|
+
expect(onBlur).toHaveBeenCalled();
|
|
597
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
598
|
+
value: "1"
|
|
396
599
|
});
|
|
600
|
+
});
|
|
601
|
+
test("Controlled - Multiple selection - Not optional constraint", function () {
|
|
602
|
+
var onChange = jest.fn();
|
|
603
|
+
var onBlur = jest.fn();
|
|
604
|
+
|
|
605
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
606
|
+
label: "test-select-label",
|
|
607
|
+
options: single_options,
|
|
608
|
+
onChange: onChange,
|
|
609
|
+
onBlur: onBlur,
|
|
610
|
+
multiple: true
|
|
611
|
+
})),
|
|
612
|
+
getByRole = _render13.getByRole,
|
|
613
|
+
getAllByRole = _render13.getAllByRole;
|
|
614
|
+
|
|
615
|
+
var select = getByRole("combobox");
|
|
616
|
+
expect(select.getAttribute("aria-required")).toBe("true");
|
|
397
617
|
|
|
398
618
|
_react2.fireEvent.focus(select);
|
|
399
619
|
|
|
@@ -401,22 +621,60 @@ describe("Select component tests", function () {
|
|
|
401
621
|
|
|
402
622
|
expect(onBlur).toHaveBeenCalled();
|
|
403
623
|
expect(onBlur).toHaveBeenCalledWith({
|
|
404
|
-
value:
|
|
405
|
-
error:
|
|
624
|
+
value: [],
|
|
625
|
+
error: "This field is required. Please, enter a value."
|
|
626
|
+
});
|
|
627
|
+
|
|
628
|
+
_userEvent["default"].click(select);
|
|
629
|
+
|
|
630
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
631
|
+
|
|
632
|
+
_userEvent["default"].click(getAllByRole("option")[1]);
|
|
633
|
+
|
|
634
|
+
expect(onChange).toHaveBeenCalled();
|
|
635
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
636
|
+
value: ["1", "2"]
|
|
637
|
+
});
|
|
638
|
+
|
|
639
|
+
_react2.fireEvent.blur(select);
|
|
640
|
+
|
|
641
|
+
expect(onBlur).toHaveBeenCalled();
|
|
642
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
643
|
+
value: ["1", "2"]
|
|
644
|
+
});
|
|
645
|
+
|
|
646
|
+
_userEvent["default"].click(select);
|
|
647
|
+
|
|
648
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
649
|
+
|
|
650
|
+
_userEvent["default"].click(getAllByRole("option")[1]);
|
|
651
|
+
|
|
652
|
+
expect(onChange).toHaveBeenCalled();
|
|
653
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
654
|
+
value: [],
|
|
655
|
+
error: "This field is required. Please, enter a value."
|
|
656
|
+
});
|
|
657
|
+
|
|
658
|
+
_react2.fireEvent.blur(select);
|
|
659
|
+
|
|
660
|
+
expect(onBlur).toHaveBeenCalled();
|
|
661
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
662
|
+
value: [],
|
|
663
|
+
error: "This field is required. Please, enter a value."
|
|
406
664
|
});
|
|
407
665
|
});
|
|
408
666
|
test("Controlled - Optional constraint", function () {
|
|
409
667
|
var onChange = jest.fn();
|
|
410
668
|
var onBlur = jest.fn();
|
|
411
669
|
|
|
412
|
-
var
|
|
670
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
413
671
|
label: "test-select-label",
|
|
414
672
|
options: single_options,
|
|
415
673
|
onChange: onChange,
|
|
416
674
|
onBlur: onBlur,
|
|
417
675
|
optional: true
|
|
418
676
|
})),
|
|
419
|
-
getByRole =
|
|
677
|
+
getByRole = _render14.getByRole;
|
|
420
678
|
|
|
421
679
|
var select = getByRole("combobox");
|
|
422
680
|
expect(select.getAttribute("aria-required")).toBe("false");
|
|
@@ -427,20 +685,19 @@ describe("Select component tests", function () {
|
|
|
427
685
|
|
|
428
686
|
expect(onBlur).toHaveBeenCalled();
|
|
429
687
|
expect(onBlur).toHaveBeenCalledWith({
|
|
430
|
-
value: ""
|
|
431
|
-
error: null
|
|
688
|
+
value: ""
|
|
432
689
|
});
|
|
433
690
|
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
434
691
|
});
|
|
435
692
|
test("Non-Grouped Options - Opens listbox and renders correctly or closes it with a click on select", function () {
|
|
436
|
-
var
|
|
693
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
437
694
|
label: "test-select-label",
|
|
438
695
|
options: single_options
|
|
439
696
|
})),
|
|
440
|
-
getByText =
|
|
441
|
-
getByRole =
|
|
442
|
-
getAllByRole =
|
|
443
|
-
queryByRole =
|
|
697
|
+
getByText = _render15.getByText,
|
|
698
|
+
getByRole = _render15.getByRole,
|
|
699
|
+
getAllByRole = _render15.getAllByRole,
|
|
700
|
+
queryByRole = _render15.queryByRole;
|
|
444
701
|
|
|
445
702
|
var select = getByRole("combobox");
|
|
446
703
|
|
|
@@ -460,12 +717,12 @@ describe("Select component tests", function () {
|
|
|
460
717
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
461
718
|
});
|
|
462
719
|
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
|
|
720
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
464
721
|
label: "test-select-label",
|
|
465
722
|
options: []
|
|
466
723
|
})),
|
|
467
|
-
getByRole =
|
|
468
|
-
queryByRole =
|
|
724
|
+
getByRole = _render16.getByRole,
|
|
725
|
+
queryByRole = _render16.queryByRole;
|
|
469
726
|
|
|
470
727
|
var select = getByRole("combobox");
|
|
471
728
|
|
|
@@ -477,17 +734,17 @@ describe("Select component tests", function () {
|
|
|
477
734
|
test("Non-Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
478
735
|
var onChange = jest.fn();
|
|
479
736
|
|
|
480
|
-
var
|
|
737
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
481
738
|
name: "test",
|
|
482
739
|
label: "test-select-label",
|
|
483
740
|
options: single_options,
|
|
484
741
|
onChange: onChange
|
|
485
742
|
})),
|
|
486
|
-
getByText =
|
|
487
|
-
getByRole =
|
|
488
|
-
getAllByRole =
|
|
489
|
-
queryByRole =
|
|
490
|
-
container =
|
|
743
|
+
getByText = _render17.getByText,
|
|
744
|
+
getByRole = _render17.getByRole,
|
|
745
|
+
getAllByRole = _render17.getAllByRole,
|
|
746
|
+
queryByRole = _render17.queryByRole,
|
|
747
|
+
container = _render17.container;
|
|
491
748
|
|
|
492
749
|
var select = getByRole("combobox");
|
|
493
750
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -497,8 +754,7 @@ describe("Select component tests", function () {
|
|
|
497
754
|
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
498
755
|
|
|
499
756
|
expect(onChange).toHaveBeenCalledWith({
|
|
500
|
-
value: "3"
|
|
501
|
-
error: null
|
|
757
|
+
value: "3"
|
|
502
758
|
});
|
|
503
759
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
504
760
|
expect(getByText("Option 03")).toBeTruthy();
|
|
@@ -508,19 +764,19 @@ describe("Select component tests", function () {
|
|
|
508
764
|
expect(getAllByRole("option")[2].getAttribute("aria-selected")).toBe("true");
|
|
509
765
|
expect(submitInput.value).toBe("3");
|
|
510
766
|
});
|
|
511
|
-
test("Non-Grouped Options - Optional renders an empty first option with the placeholder as its label", function () {
|
|
767
|
+
test("Non-Grouped Options - Optional renders an empty first option (selected by default) with the placeholder as its label", function () {
|
|
512
768
|
var onChange = jest.fn();
|
|
513
769
|
|
|
514
|
-
var
|
|
770
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
515
771
|
label: "test-select-label",
|
|
516
772
|
placeholder: "Choose an option",
|
|
517
773
|
options: single_options,
|
|
518
774
|
onChange: onChange,
|
|
519
775
|
optional: true
|
|
520
776
|
})),
|
|
521
|
-
getByRole =
|
|
522
|
-
getAllByRole =
|
|
523
|
-
getAllByText =
|
|
777
|
+
getByRole = _render18.getByRole,
|
|
778
|
+
getAllByRole = _render18.getAllByRole,
|
|
779
|
+
getAllByText = _render18.getAllByText;
|
|
524
780
|
|
|
525
781
|
var select = getByRole("combobox");
|
|
526
782
|
|
|
@@ -532,8 +788,7 @@ describe("Select component tests", function () {
|
|
|
532
788
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
533
789
|
|
|
534
790
|
expect(onChange).toHaveBeenCalledWith({
|
|
535
|
-
value: ""
|
|
536
|
-
error: null
|
|
791
|
+
value: ""
|
|
537
792
|
});
|
|
538
793
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
539
794
|
|
|
@@ -554,8 +809,7 @@ describe("Select component tests", function () {
|
|
|
554
809
|
});
|
|
555
810
|
|
|
556
811
|
expect(onChange).toHaveBeenCalledWith({
|
|
557
|
-
value: ""
|
|
558
|
-
error: null
|
|
812
|
+
value: ""
|
|
559
813
|
});
|
|
560
814
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
561
815
|
|
|
@@ -568,13 +822,42 @@ describe("Select component tests", function () {
|
|
|
568
822
|
|
|
569
823
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
570
824
|
});
|
|
825
|
+
test("Non-Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
826
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
827
|
+
label: "test-select-label",
|
|
828
|
+
placeholder: "Placeholder example",
|
|
829
|
+
options: single_options,
|
|
830
|
+
optional: true,
|
|
831
|
+
searchable: true
|
|
832
|
+
})),
|
|
833
|
+
getByRole = _render19.getByRole,
|
|
834
|
+
getAllByRole = _render19.getAllByRole,
|
|
835
|
+
getByText = _render19.getByText,
|
|
836
|
+
queryByText = _render19.queryByText,
|
|
837
|
+
container = _render19.container;
|
|
838
|
+
|
|
839
|
+
var select = getByRole("combobox");
|
|
840
|
+
var searchInput = container.querySelectorAll("input")[1];
|
|
841
|
+
|
|
842
|
+
_userEvent["default"].click(select);
|
|
843
|
+
|
|
844
|
+
_userEvent["default"].type(searchInput, "1");
|
|
845
|
+
|
|
846
|
+
expect(getByText("Placeholder example")).toBeTruthy();
|
|
847
|
+
expect(getAllByRole("option").length).toBe(12);
|
|
848
|
+
|
|
849
|
+
_userEvent["default"].type(searchInput, "123");
|
|
850
|
+
|
|
851
|
+
expect(queryByText("Placeholder example")).toBeFalsy();
|
|
852
|
+
expect(getByText("No matches found")).toBeTruthy();
|
|
853
|
+
});
|
|
571
854
|
test("Non-Grouped Options - Renders SVG icons correctly when passed with options", function () {
|
|
572
|
-
var
|
|
855
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
573
856
|
label: "test-select-label",
|
|
574
857
|
options: svg_icon_options
|
|
575
858
|
})),
|
|
576
|
-
getByRole =
|
|
577
|
-
getAllByRole =
|
|
859
|
+
getByRole = _render20.getByRole,
|
|
860
|
+
getAllByRole = _render20.getAllByRole;
|
|
578
861
|
|
|
579
862
|
var select = getByRole("combobox");
|
|
580
863
|
|
|
@@ -584,13 +867,13 @@ describe("Select component tests", function () {
|
|
|
584
867
|
expect(getAllByRole("option").length).toBe(5);
|
|
585
868
|
});
|
|
586
869
|
test("Non-Grouped Options - Renders string url icons correctly when passed with options", function () {
|
|
587
|
-
var
|
|
870
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
588
871
|
label: "test-select-label",
|
|
589
872
|
options: url_icon_options,
|
|
590
873
|
optional: true
|
|
591
874
|
})),
|
|
592
|
-
getByRole =
|
|
593
|
-
getAllByRole =
|
|
875
|
+
getByRole = _render21.getByRole,
|
|
876
|
+
getAllByRole = _render21.getAllByRole;
|
|
594
877
|
|
|
595
878
|
var select = getByRole("combobox");
|
|
596
879
|
|
|
@@ -600,12 +883,12 @@ describe("Select component tests", function () {
|
|
|
600
883
|
expect(getAllByRole("option").length).toBe(6);
|
|
601
884
|
});
|
|
602
885
|
test("Non-Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
603
|
-
var
|
|
886
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
604
887
|
label: "test-select-label",
|
|
605
888
|
options: single_options
|
|
606
889
|
})),
|
|
607
|
-
getByRole =
|
|
608
|
-
queryByRole =
|
|
890
|
+
getByRole = _render22.getByRole,
|
|
891
|
+
queryByRole = _render22.queryByRole;
|
|
609
892
|
|
|
610
893
|
var select = getByRole("combobox");
|
|
611
894
|
|
|
@@ -620,12 +903,12 @@ describe("Select component tests", function () {
|
|
|
620
903
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
621
904
|
});
|
|
622
905
|
test("Non-Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
623
|
-
var
|
|
906
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
624
907
|
label: "test-select-label",
|
|
625
908
|
options: single_options
|
|
626
909
|
})),
|
|
627
|
-
getByRole =
|
|
628
|
-
queryByRole =
|
|
910
|
+
getByRole = _render23.getByRole,
|
|
911
|
+
queryByRole = _render23.queryByRole;
|
|
629
912
|
|
|
630
913
|
var select = getByRole("combobox");
|
|
631
914
|
|
|
@@ -647,12 +930,12 @@ describe("Select component tests", function () {
|
|
|
647
930
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
648
931
|
});
|
|
649
932
|
test("Non-Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
650
|
-
var
|
|
933
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
651
934
|
label: "test-select-label",
|
|
652
935
|
options: single_options
|
|
653
936
|
})),
|
|
654
|
-
getByRole =
|
|
655
|
-
queryByRole =
|
|
937
|
+
getByRole = _render24.getByRole,
|
|
938
|
+
queryByRole = _render24.queryByRole;
|
|
656
939
|
|
|
657
940
|
var select = getByRole("combobox");
|
|
658
941
|
|
|
@@ -667,12 +950,12 @@ describe("Select component tests", function () {
|
|
|
667
950
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
668
951
|
});
|
|
669
952
|
test("Non-Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
670
|
-
var
|
|
953
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
671
954
|
label: "test-select-label",
|
|
672
955
|
options: single_options
|
|
673
956
|
})),
|
|
674
|
-
getByRole =
|
|
675
|
-
queryByRole =
|
|
957
|
+
getByRole = _render25.getByRole,
|
|
958
|
+
queryByRole = _render25.queryByRole;
|
|
676
959
|
|
|
677
960
|
var select = getByRole("combobox");
|
|
678
961
|
|
|
@@ -696,16 +979,16 @@ describe("Select component tests", function () {
|
|
|
696
979
|
test("Non-Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
697
980
|
var onChange = jest.fn();
|
|
698
981
|
|
|
699
|
-
var
|
|
982
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
700
983
|
label: "test-select-label",
|
|
701
984
|
options: single_options,
|
|
702
985
|
onChange: onChange,
|
|
703
986
|
optional: true
|
|
704
987
|
})),
|
|
705
|
-
getByText =
|
|
706
|
-
getByRole =
|
|
707
|
-
getAllByRole =
|
|
708
|
-
queryByRole =
|
|
988
|
+
getByText = _render26.getByText,
|
|
989
|
+
getByRole = _render26.getByRole,
|
|
990
|
+
getAllByRole = _render26.getAllByRole,
|
|
991
|
+
queryByRole = _render26.queryByRole;
|
|
709
992
|
|
|
710
993
|
var select = getByRole("combobox");
|
|
711
994
|
|
|
@@ -745,8 +1028,7 @@ describe("Select component tests", function () {
|
|
|
745
1028
|
});
|
|
746
1029
|
|
|
747
1030
|
expect(onChange).toHaveBeenCalledWith({
|
|
748
|
-
value: "20"
|
|
749
|
-
error: null
|
|
1031
|
+
value: "20"
|
|
750
1032
|
});
|
|
751
1033
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
752
1034
|
expect(getByText("Option 20")).toBeTruthy();
|
|
@@ -758,17 +1040,17 @@ describe("Select component tests", function () {
|
|
|
758
1040
|
test("Non-Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
759
1041
|
var onChange = jest.fn();
|
|
760
1042
|
|
|
761
|
-
var
|
|
1043
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
762
1044
|
label: "test-select-label",
|
|
763
1045
|
options: single_options,
|
|
764
1046
|
onChange: onChange,
|
|
765
1047
|
searchable: true
|
|
766
1048
|
})),
|
|
767
|
-
container =
|
|
768
|
-
getByText =
|
|
769
|
-
getByRole =
|
|
770
|
-
getAllByRole =
|
|
771
|
-
queryByRole =
|
|
1049
|
+
container = _render27.container,
|
|
1050
|
+
getByText = _render27.getByText,
|
|
1051
|
+
getByRole = _render27.getByRole,
|
|
1052
|
+
getAllByRole = _render27.getAllByRole,
|
|
1053
|
+
queryByRole = _render27.queryByRole;
|
|
772
1054
|
|
|
773
1055
|
var select = getByRole("combobox");
|
|
774
1056
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -782,8 +1064,7 @@ describe("Select component tests", function () {
|
|
|
782
1064
|
_userEvent["default"].click(getByRole("option"));
|
|
783
1065
|
|
|
784
1066
|
expect(onChange).toHaveBeenCalledWith({
|
|
785
|
-
value: "8"
|
|
786
|
-
error: null
|
|
1067
|
+
value: "8"
|
|
787
1068
|
});
|
|
788
1069
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
789
1070
|
expect(getByText("Option 08")).toBeTruthy();
|
|
@@ -796,15 +1077,15 @@ describe("Select component tests", function () {
|
|
|
796
1077
|
test("Non-Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
797
1078
|
var onChange = jest.fn();
|
|
798
1079
|
|
|
799
|
-
var
|
|
1080
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
800
1081
|
label: "test-select-label",
|
|
801
1082
|
options: single_options,
|
|
802
1083
|
onChange: onChange,
|
|
803
1084
|
searchable: true
|
|
804
1085
|
})),
|
|
805
|
-
container =
|
|
806
|
-
getByText =
|
|
807
|
-
getByRole =
|
|
1086
|
+
container = _render28.container,
|
|
1087
|
+
getByText = _render28.getByText,
|
|
1088
|
+
getByRole = _render28.getByRole;
|
|
808
1089
|
|
|
809
1090
|
var select = getByRole("combobox");
|
|
810
1091
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -820,16 +1101,16 @@ describe("Select component tests", function () {
|
|
|
820
1101
|
test("Non-Grouped Options: Searchable - Clicking the select, when the list is open, clears the search value", function () {
|
|
821
1102
|
var onChange = jest.fn();
|
|
822
1103
|
|
|
823
|
-
var
|
|
1104
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
824
1105
|
label: "test-select-label",
|
|
825
1106
|
options: single_options,
|
|
826
1107
|
onChange: onChange,
|
|
827
1108
|
searchable: true
|
|
828
1109
|
})),
|
|
829
|
-
container =
|
|
830
|
-
getByText =
|
|
831
|
-
getByRole =
|
|
832
|
-
getAllByRole =
|
|
1110
|
+
container = _render29.container,
|
|
1111
|
+
getByText = _render29.getByText,
|
|
1112
|
+
getByRole = _render29.getByRole,
|
|
1113
|
+
getAllByRole = _render29.getAllByRole;
|
|
833
1114
|
|
|
834
1115
|
var select = getByRole("combobox");
|
|
835
1116
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -852,15 +1133,15 @@ describe("Select component tests", function () {
|
|
|
852
1133
|
test("Non-Grouped Options: Searchable - Writing displays the listbox, if it was not open", function () {
|
|
853
1134
|
var onChange = jest.fn();
|
|
854
1135
|
|
|
855
|
-
var
|
|
1136
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
856
1137
|
label: "test-select-label",
|
|
857
1138
|
options: single_options,
|
|
858
1139
|
onChange: onChange,
|
|
859
1140
|
searchable: true
|
|
860
1141
|
})),
|
|
861
|
-
container =
|
|
862
|
-
getByRole =
|
|
863
|
-
queryByRole =
|
|
1142
|
+
container = _render30.container,
|
|
1143
|
+
getByRole = _render30.getByRole,
|
|
1144
|
+
queryByRole = _render30.queryByRole;
|
|
864
1145
|
|
|
865
1146
|
var select = getByRole("combobox");
|
|
866
1147
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -878,15 +1159,15 @@ describe("Select component tests", function () {
|
|
|
878
1159
|
test("Non-Grouped Options: Searchable - Key Esc cleans the search value and closes the options", function () {
|
|
879
1160
|
var onChange = jest.fn();
|
|
880
1161
|
|
|
881
|
-
var
|
|
1162
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
882
1163
|
label: "test-select-label",
|
|
883
1164
|
options: single_options,
|
|
884
1165
|
onChange: onChange,
|
|
885
1166
|
searchable: true
|
|
886
1167
|
})),
|
|
887
|
-
container =
|
|
888
|
-
getByRole =
|
|
889
|
-
queryByRole =
|
|
1168
|
+
container = _render31.container,
|
|
1169
|
+
getByRole = _render31.getByRole,
|
|
1170
|
+
queryByRole = _render31.queryByRole;
|
|
890
1171
|
|
|
891
1172
|
var select = getByRole("combobox");
|
|
892
1173
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -906,16 +1187,16 @@ describe("Select component tests", function () {
|
|
|
906
1187
|
test("Non-Grouped Options: Searchable - While user types, a clear action is displayed for cleaning the search value", function () {
|
|
907
1188
|
var onChange = jest.fn();
|
|
908
1189
|
|
|
909
|
-
var
|
|
1190
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
910
1191
|
label: "test-select-label",
|
|
911
1192
|
options: single_options,
|
|
912
1193
|
onChange: onChange,
|
|
913
1194
|
searchable: true
|
|
914
1195
|
})),
|
|
915
|
-
container =
|
|
916
|
-
getByRole =
|
|
917
|
-
getAllByRole =
|
|
918
|
-
queryByTitle =
|
|
1196
|
+
container = _render32.container,
|
|
1197
|
+
getByRole = _render32.getByRole,
|
|
1198
|
+
getAllByRole = _render32.getAllByRole,
|
|
1199
|
+
queryByTitle = _render32.queryByTitle;
|
|
919
1200
|
|
|
920
1201
|
var searchInput = container.querySelectorAll("input")[1];
|
|
921
1202
|
|
|
@@ -935,19 +1216,19 @@ describe("Select component tests", function () {
|
|
|
935
1216
|
test("Non-Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
936
1217
|
var onChange = jest.fn();
|
|
937
1218
|
|
|
938
|
-
var
|
|
1219
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
939
1220
|
name: "test",
|
|
940
1221
|
label: "test-select-label",
|
|
941
1222
|
options: single_options,
|
|
942
1223
|
onChange: onChange,
|
|
943
1224
|
multiple: true
|
|
944
1225
|
})),
|
|
945
|
-
getByText =
|
|
946
|
-
getAllByText =
|
|
947
|
-
getByRole =
|
|
948
|
-
getAllByRole =
|
|
949
|
-
queryByRole =
|
|
950
|
-
container =
|
|
1226
|
+
getByText = _render33.getByText,
|
|
1227
|
+
getAllByText = _render33.getAllByText,
|
|
1228
|
+
getByRole = _render33.getByRole,
|
|
1229
|
+
getAllByRole = _render33.getAllByRole,
|
|
1230
|
+
queryByRole = _render33.queryByRole,
|
|
1231
|
+
container = _render33.container;
|
|
951
1232
|
|
|
952
1233
|
var select = getByRole("combobox");
|
|
953
1234
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -956,9 +1237,11 @@ describe("Select component tests", function () {
|
|
|
956
1237
|
|
|
957
1238
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
958
1239
|
|
|
959
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
960
|
-
|
|
1240
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
961
1241
|
|
|
1242
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1243
|
+
value: ["11"]
|
|
1244
|
+
});
|
|
962
1245
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
963
1246
|
expect(getAllByText("Option 11").length).toBe(2);
|
|
964
1247
|
|
|
@@ -981,31 +1264,33 @@ describe("Select component tests", function () {
|
|
|
981
1264
|
code: "Enter",
|
|
982
1265
|
keyCode: 13,
|
|
983
1266
|
charCode: 13
|
|
984
|
-
});
|
|
985
|
-
|
|
1267
|
+
});
|
|
986
1268
|
|
|
1269
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1270
|
+
value: ["11", "19"]
|
|
1271
|
+
});
|
|
987
1272
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
988
1273
|
expect(getByText("Option 11, Option 19")).toBeTruthy();
|
|
989
1274
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
990
1275
|
expect(getAllByRole("option")[18].getAttribute("aria-selected")).toBe("true");
|
|
991
|
-
expect(submitInput.value).toBe("11,
|
|
1276
|
+
expect(submitInput.value).toBe("11,19");
|
|
992
1277
|
});
|
|
993
1278
|
test("Non-Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
994
1279
|
var onChange = jest.fn();
|
|
995
1280
|
|
|
996
|
-
var
|
|
1281
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
997
1282
|
label: "test-select-label",
|
|
998
1283
|
options: single_options,
|
|
999
1284
|
onChange: onChange,
|
|
1000
1285
|
multiple: true
|
|
1001
1286
|
})),
|
|
1002
|
-
getByText =
|
|
1003
|
-
queryByText =
|
|
1004
|
-
getByRole =
|
|
1005
|
-
getAllByRole =
|
|
1006
|
-
queryByRole =
|
|
1007
|
-
getByTitle =
|
|
1008
|
-
queryByTitle =
|
|
1287
|
+
getByText = _render34.getByText,
|
|
1288
|
+
queryByText = _render34.queryByText,
|
|
1289
|
+
getByRole = _render34.getByRole,
|
|
1290
|
+
getAllByRole = _render34.getAllByRole,
|
|
1291
|
+
queryByRole = _render34.queryByRole,
|
|
1292
|
+
getByTitle = _render34.getByTitle,
|
|
1293
|
+
queryByTitle = _render34.queryByTitle;
|
|
1009
1294
|
|
|
1010
1295
|
var select = getByRole("combobox");
|
|
1011
1296
|
|
|
@@ -1015,9 +1300,11 @@ describe("Select component tests", function () {
|
|
|
1015
1300
|
|
|
1016
1301
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1017
1302
|
|
|
1018
|
-
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1019
|
-
|
|
1303
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1020
1304
|
|
|
1305
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1306
|
+
value: ["6", "9", "14"]
|
|
1307
|
+
});
|
|
1021
1308
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1022
1309
|
expect(getByText("Option 06, Option 09, Option 14")).toBeTruthy();
|
|
1023
1310
|
expect(getByText("3", {
|
|
@@ -1026,6 +1313,10 @@ describe("Select component tests", function () {
|
|
|
1026
1313
|
|
|
1027
1314
|
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
1028
1315
|
|
|
1316
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1317
|
+
value: [],
|
|
1318
|
+
error: "This field is required. Please, enter a value."
|
|
1319
|
+
});
|
|
1029
1320
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1030
1321
|
expect(queryByText("Option 06, Option 09, Option 14")).toBeFalsy();
|
|
1031
1322
|
expect(queryByText("3")).toBeFalsy();
|
|
@@ -1034,7 +1325,7 @@ describe("Select component tests", function () {
|
|
|
1034
1325
|
test("Non-Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1035
1326
|
var onChange = jest.fn();
|
|
1036
1327
|
|
|
1037
|
-
var
|
|
1328
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1038
1329
|
label: "test-select-label",
|
|
1039
1330
|
placeholder: "Choose an option",
|
|
1040
1331
|
options: single_options,
|
|
@@ -1042,10 +1333,10 @@ describe("Select component tests", function () {
|
|
|
1042
1333
|
multiple: true,
|
|
1043
1334
|
optional: true
|
|
1044
1335
|
})),
|
|
1045
|
-
getByText =
|
|
1046
|
-
getAllByText =
|
|
1047
|
-
getByRole =
|
|
1048
|
-
getAllByRole =
|
|
1336
|
+
getByText = _render35.getByText,
|
|
1337
|
+
getAllByText = _render35.getAllByText,
|
|
1338
|
+
getByRole = _render35.getByRole,
|
|
1339
|
+
getAllByRole = _render35.getAllByRole;
|
|
1049
1340
|
|
|
1050
1341
|
var select = getByRole("combobox");
|
|
1051
1342
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1055,19 +1346,21 @@ describe("Select component tests", function () {
|
|
|
1055
1346
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1056
1347
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1057
1348
|
|
|
1058
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1059
|
-
|
|
1349
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1060
1350
|
|
|
1351
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1352
|
+
value: ["1"]
|
|
1353
|
+
});
|
|
1061
1354
|
expect(getAllByText("Option 01").length).toBe(2);
|
|
1062
1355
|
});
|
|
1063
1356
|
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
|
|
1357
|
+
var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1065
1358
|
label: "test-select-label",
|
|
1066
1359
|
options: single_options
|
|
1067
1360
|
})),
|
|
1068
|
-
getByText =
|
|
1069
|
-
getByRole =
|
|
1070
|
-
getAllByRole =
|
|
1361
|
+
getByText = _render36.getByText,
|
|
1362
|
+
getByRole = _render36.getByRole,
|
|
1363
|
+
getAllByRole = _render36.getAllByRole;
|
|
1071
1364
|
|
|
1072
1365
|
var select = getByRole("combobox");
|
|
1073
1366
|
|
|
@@ -1135,14 +1428,14 @@ describe("Select component tests", function () {
|
|
|
1135
1428
|
expect(getByText("Option 06")).toBeTruthy();
|
|
1136
1429
|
});
|
|
1137
1430
|
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
|
|
1431
|
+
var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1139
1432
|
label: "test-select-label",
|
|
1140
1433
|
options: single_options
|
|
1141
1434
|
})),
|
|
1142
|
-
getByText =
|
|
1143
|
-
getByRole =
|
|
1144
|
-
getAllByRole =
|
|
1145
|
-
queryByRole =
|
|
1435
|
+
getByText = _render37.getByText,
|
|
1436
|
+
getByRole = _render37.getByRole,
|
|
1437
|
+
getAllByRole = _render37.getAllByRole,
|
|
1438
|
+
queryByRole = _render37.queryByRole;
|
|
1146
1439
|
|
|
1147
1440
|
var select = getByRole("combobox");
|
|
1148
1441
|
|
|
@@ -1210,14 +1503,14 @@ describe("Select component tests", function () {
|
|
|
1210
1503
|
expect(getByText("Option 17")).toBeTruthy();
|
|
1211
1504
|
});
|
|
1212
1505
|
test("Grouped Options - Opens listbox and renders it correctly or closes it with a click on select", function () {
|
|
1213
|
-
var
|
|
1506
|
+
var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1214
1507
|
label: "test-select-label",
|
|
1215
1508
|
options: group_options
|
|
1216
1509
|
})),
|
|
1217
|
-
getByText =
|
|
1218
|
-
getByRole =
|
|
1219
|
-
getAllByRole =
|
|
1220
|
-
queryByRole =
|
|
1510
|
+
getByText = _render38.getByText,
|
|
1511
|
+
getByRole = _render38.getByRole,
|
|
1512
|
+
getAllByRole = _render38.getAllByRole,
|
|
1513
|
+
queryByRole = _render38.queryByRole;
|
|
1221
1514
|
|
|
1222
1515
|
var select = getByRole("combobox");
|
|
1223
1516
|
|
|
@@ -1245,15 +1538,15 @@ describe("Select component tests", function () {
|
|
|
1245
1538
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
1246
1539
|
});
|
|
1247
1540
|
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
|
|
1541
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1249
1542
|
label: "test-select-label",
|
|
1250
1543
|
options: [{
|
|
1251
1544
|
label: "Group 1",
|
|
1252
1545
|
options: []
|
|
1253
1546
|
}]
|
|
1254
1547
|
})),
|
|
1255
|
-
getByRole =
|
|
1256
|
-
queryByRole =
|
|
1548
|
+
getByRole = _render39.getByRole,
|
|
1549
|
+
queryByRole = _render39.queryByRole;
|
|
1257
1550
|
|
|
1258
1551
|
var select = getByRole("combobox");
|
|
1259
1552
|
|
|
@@ -1265,17 +1558,17 @@ describe("Select component tests", function () {
|
|
|
1265
1558
|
test("Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
1266
1559
|
var onChange = jest.fn();
|
|
1267
1560
|
|
|
1268
|
-
var
|
|
1561
|
+
var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1269
1562
|
name: "test",
|
|
1270
1563
|
label: "test-select-label",
|
|
1271
1564
|
options: group_options,
|
|
1272
1565
|
onChange: onChange
|
|
1273
1566
|
})),
|
|
1274
|
-
getByText =
|
|
1275
|
-
getByRole =
|
|
1276
|
-
getAllByRole =
|
|
1277
|
-
queryByRole =
|
|
1278
|
-
container =
|
|
1567
|
+
getByText = _render40.getByText,
|
|
1568
|
+
getByRole = _render40.getByRole,
|
|
1569
|
+
getAllByRole = _render40.getAllByRole,
|
|
1570
|
+
queryByRole = _render40.queryByRole,
|
|
1571
|
+
container = _render40.container;
|
|
1279
1572
|
|
|
1280
1573
|
var select = getByRole("combobox");
|
|
1281
1574
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1285,8 +1578,7 @@ describe("Select component tests", function () {
|
|
|
1285
1578
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1286
1579
|
|
|
1287
1580
|
expect(onChange).toHaveBeenCalledWith({
|
|
1288
|
-
value: "oviedo"
|
|
1289
|
-
error: null
|
|
1581
|
+
value: "oviedo"
|
|
1290
1582
|
});
|
|
1291
1583
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1292
1584
|
expect(getByText("Oviedo")).toBeTruthy();
|
|
@@ -1299,16 +1591,16 @@ describe("Select component tests", function () {
|
|
|
1299
1591
|
test("Grouped Options - Optional renders an empty first option (out of any group) with the placeholder as its label", function () {
|
|
1300
1592
|
var onChange = jest.fn();
|
|
1301
1593
|
|
|
1302
|
-
var
|
|
1594
|
+
var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1303
1595
|
label: "test-select-label",
|
|
1304
1596
|
placeholder: "Placeholder example",
|
|
1305
1597
|
options: group_options,
|
|
1306
1598
|
onChange: onChange,
|
|
1307
1599
|
optional: true
|
|
1308
1600
|
})),
|
|
1309
|
-
getByRole =
|
|
1310
|
-
getAllByRole =
|
|
1311
|
-
getAllByText =
|
|
1601
|
+
getByRole = _render41.getByRole,
|
|
1602
|
+
getAllByRole = _render41.getAllByRole,
|
|
1603
|
+
getAllByText = _render41.getAllByText;
|
|
1312
1604
|
|
|
1313
1605
|
var select = getByRole("combobox");
|
|
1314
1606
|
|
|
@@ -1320,8 +1612,7 @@ describe("Select component tests", function () {
|
|
|
1320
1612
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1321
1613
|
|
|
1322
1614
|
expect(onChange).toHaveBeenCalledWith({
|
|
1323
|
-
value: ""
|
|
1324
|
-
error: null
|
|
1615
|
+
value: ""
|
|
1325
1616
|
});
|
|
1326
1617
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1327
1618
|
|
|
@@ -1342,8 +1633,7 @@ describe("Select component tests", function () {
|
|
|
1342
1633
|
});
|
|
1343
1634
|
|
|
1344
1635
|
expect(onChange).toHaveBeenCalledWith({
|
|
1345
|
-
value: ""
|
|
1346
|
-
error: null
|
|
1636
|
+
value: ""
|
|
1347
1637
|
});
|
|
1348
1638
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1349
1639
|
|
|
@@ -1356,14 +1646,43 @@ describe("Select component tests", function () {
|
|
|
1356
1646
|
|
|
1357
1647
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1358
1648
|
});
|
|
1649
|
+
test("Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
1650
|
+
var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1651
|
+
label: "test-select-label",
|
|
1652
|
+
placeholder: "Placeholder example",
|
|
1653
|
+
options: group_options,
|
|
1654
|
+
optional: true,
|
|
1655
|
+
searchable: true
|
|
1656
|
+
})),
|
|
1657
|
+
getByRole = _render42.getByRole,
|
|
1658
|
+
getAllByRole = _render42.getAllByRole,
|
|
1659
|
+
getByText = _render42.getByText,
|
|
1660
|
+
queryByText = _render42.queryByText,
|
|
1661
|
+
container = _render42.container;
|
|
1662
|
+
|
|
1663
|
+
var select = getByRole("combobox");
|
|
1664
|
+
var searchInput = container.querySelectorAll("input")[1];
|
|
1665
|
+
|
|
1666
|
+
_userEvent["default"].click(select);
|
|
1667
|
+
|
|
1668
|
+
_userEvent["default"].type(searchInput, "ro");
|
|
1669
|
+
|
|
1670
|
+
expect(getByText("Placeholder example")).toBeTruthy();
|
|
1671
|
+
expect(getAllByRole("option").length).toBe(6);
|
|
1672
|
+
|
|
1673
|
+
_userEvent["default"].type(searchInput, "roro");
|
|
1674
|
+
|
|
1675
|
+
expect(queryByText("Placeholder example")).toBeFalsy();
|
|
1676
|
+
expect(getByText("No matches found")).toBeTruthy();
|
|
1677
|
+
});
|
|
1359
1678
|
test("Grouped Options - Renders icons correctly when passed with group options", function () {
|
|
1360
|
-
var
|
|
1679
|
+
var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1361
1680
|
label: "test-select-label",
|
|
1362
1681
|
options: grouped_icon_options,
|
|
1363
1682
|
optional: true
|
|
1364
1683
|
})),
|
|
1365
|
-
getByRole =
|
|
1366
|
-
getAllByRole =
|
|
1684
|
+
getByRole = _render43.getByRole,
|
|
1685
|
+
getAllByRole = _render43.getAllByRole;
|
|
1367
1686
|
|
|
1368
1687
|
var select = getByRole("combobox");
|
|
1369
1688
|
|
|
@@ -1373,12 +1692,12 @@ describe("Select component tests", function () {
|
|
|
1373
1692
|
expect(getAllByRole("option").length).toBe(11);
|
|
1374
1693
|
});
|
|
1375
1694
|
test("Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
1376
|
-
var
|
|
1695
|
+
var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1377
1696
|
label: "test-select-label",
|
|
1378
1697
|
options: group_options
|
|
1379
1698
|
})),
|
|
1380
|
-
getByRole =
|
|
1381
|
-
queryByRole =
|
|
1699
|
+
getByRole = _render44.getByRole,
|
|
1700
|
+
queryByRole = _render44.queryByRole;
|
|
1382
1701
|
|
|
1383
1702
|
var select = getByRole("combobox");
|
|
1384
1703
|
|
|
@@ -1393,12 +1712,12 @@ describe("Select component tests", function () {
|
|
|
1393
1712
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1394
1713
|
});
|
|
1395
1714
|
test("Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
1396
|
-
var
|
|
1715
|
+
var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1397
1716
|
label: "test-select-label",
|
|
1398
1717
|
options: group_options
|
|
1399
1718
|
})),
|
|
1400
|
-
getByRole =
|
|
1401
|
-
queryByRole =
|
|
1719
|
+
getByRole = _render45.getByRole,
|
|
1720
|
+
queryByRole = _render45.queryByRole;
|
|
1402
1721
|
|
|
1403
1722
|
var select = getByRole("combobox");
|
|
1404
1723
|
|
|
@@ -1420,12 +1739,12 @@ describe("Select component tests", function () {
|
|
|
1420
1739
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1421
1740
|
});
|
|
1422
1741
|
test("Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
1423
|
-
var
|
|
1742
|
+
var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1424
1743
|
label: "test-select-label",
|
|
1425
1744
|
options: group_options
|
|
1426
1745
|
})),
|
|
1427
|
-
getByRole =
|
|
1428
|
-
queryByRole =
|
|
1746
|
+
getByRole = _render46.getByRole,
|
|
1747
|
+
queryByRole = _render46.queryByRole;
|
|
1429
1748
|
|
|
1430
1749
|
var select = getByRole("combobox");
|
|
1431
1750
|
|
|
@@ -1440,12 +1759,12 @@ describe("Select component tests", function () {
|
|
|
1440
1759
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1441
1760
|
});
|
|
1442
1761
|
test("Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
1443
|
-
var
|
|
1762
|
+
var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1444
1763
|
label: "test-select-label",
|
|
1445
1764
|
options: group_options
|
|
1446
1765
|
})),
|
|
1447
|
-
getByRole =
|
|
1448
|
-
queryByRole =
|
|
1766
|
+
getByRole = _render47.getByRole,
|
|
1767
|
+
queryByRole = _render47.queryByRole;
|
|
1449
1768
|
|
|
1450
1769
|
var select = getByRole("combobox");
|
|
1451
1770
|
|
|
@@ -1469,16 +1788,16 @@ describe("Select component tests", function () {
|
|
|
1469
1788
|
test("Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
1470
1789
|
var onChange = jest.fn();
|
|
1471
1790
|
|
|
1472
|
-
var
|
|
1791
|
+
var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1473
1792
|
label: "test-select-label",
|
|
1474
1793
|
options: group_options,
|
|
1475
1794
|
onChange: onChange,
|
|
1476
1795
|
optional: true
|
|
1477
1796
|
})),
|
|
1478
|
-
getByText =
|
|
1479
|
-
getByRole =
|
|
1480
|
-
getAllByRole =
|
|
1481
|
-
queryByRole =
|
|
1797
|
+
getByText = _render48.getByText,
|
|
1798
|
+
getByRole = _render48.getByRole,
|
|
1799
|
+
getAllByRole = _render48.getAllByRole,
|
|
1800
|
+
queryByRole = _render48.queryByRole;
|
|
1482
1801
|
|
|
1483
1802
|
var select = getByRole("combobox");
|
|
1484
1803
|
|
|
@@ -1518,8 +1837,7 @@ describe("Select component tests", function () {
|
|
|
1518
1837
|
});
|
|
1519
1838
|
|
|
1520
1839
|
expect(onChange).toHaveBeenCalledWith({
|
|
1521
|
-
value: "ebro"
|
|
1522
|
-
error: null
|
|
1840
|
+
value: "ebro"
|
|
1523
1841
|
});
|
|
1524
1842
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1525
1843
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1531,17 +1849,17 @@ describe("Select component tests", function () {
|
|
|
1531
1849
|
test("Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
1532
1850
|
var onChange = jest.fn();
|
|
1533
1851
|
|
|
1534
|
-
var
|
|
1852
|
+
var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1535
1853
|
label: "test-select-label",
|
|
1536
1854
|
options: group_options,
|
|
1537
1855
|
onChange: onChange,
|
|
1538
1856
|
searchable: true
|
|
1539
1857
|
})),
|
|
1540
|
-
container =
|
|
1541
|
-
getByText =
|
|
1542
|
-
getByRole =
|
|
1543
|
-
getAllByRole =
|
|
1544
|
-
queryByRole =
|
|
1858
|
+
container = _render49.container,
|
|
1859
|
+
getByText = _render49.getByText,
|
|
1860
|
+
getByRole = _render49.getByRole,
|
|
1861
|
+
getAllByRole = _render49.getAllByRole,
|
|
1862
|
+
queryByRole = _render49.queryByRole;
|
|
1545
1863
|
|
|
1546
1864
|
var select = getByRole("combobox");
|
|
1547
1865
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1561,8 +1879,7 @@ describe("Select component tests", function () {
|
|
|
1561
1879
|
_userEvent["default"].click(getAllByRole("option")[4]);
|
|
1562
1880
|
|
|
1563
1881
|
expect(onChange).toHaveBeenCalledWith({
|
|
1564
|
-
value: "ebro"
|
|
1565
|
-
error: null
|
|
1882
|
+
value: "ebro"
|
|
1566
1883
|
});
|
|
1567
1884
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1568
1885
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1575,15 +1892,15 @@ describe("Select component tests", function () {
|
|
|
1575
1892
|
test("Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
1576
1893
|
var onChange = jest.fn();
|
|
1577
1894
|
|
|
1578
|
-
var
|
|
1895
|
+
var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1579
1896
|
label: "test-select-label",
|
|
1580
1897
|
options: group_options,
|
|
1581
1898
|
onChange: onChange,
|
|
1582
1899
|
searchable: true
|
|
1583
1900
|
})),
|
|
1584
|
-
container =
|
|
1585
|
-
getByText =
|
|
1586
|
-
getByRole =
|
|
1901
|
+
container = _render50.container,
|
|
1902
|
+
getByText = _render50.getByText,
|
|
1903
|
+
getByRole = _render50.getByRole;
|
|
1587
1904
|
|
|
1588
1905
|
var select = getByRole("combobox");
|
|
1589
1906
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1599,19 +1916,19 @@ describe("Select component tests", function () {
|
|
|
1599
1916
|
test("Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
1600
1917
|
var onChange = jest.fn();
|
|
1601
1918
|
|
|
1602
|
-
var
|
|
1919
|
+
var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1603
1920
|
name: "test",
|
|
1604
1921
|
label: "test-select-label",
|
|
1605
1922
|
options: group_options,
|
|
1606
1923
|
onChange: onChange,
|
|
1607
1924
|
multiple: true
|
|
1608
1925
|
})),
|
|
1609
|
-
getByText =
|
|
1610
|
-
getAllByText =
|
|
1611
|
-
getByRole =
|
|
1612
|
-
getAllByRole =
|
|
1613
|
-
queryByRole =
|
|
1614
|
-
container =
|
|
1926
|
+
getByText = _render51.getByText,
|
|
1927
|
+
getAllByText = _render51.getAllByText,
|
|
1928
|
+
getByRole = _render51.getByRole,
|
|
1929
|
+
getAllByRole = _render51.getAllByRole,
|
|
1930
|
+
queryByRole = _render51.queryByRole,
|
|
1931
|
+
container = _render51.container;
|
|
1615
1932
|
|
|
1616
1933
|
var select = getByRole("combobox");
|
|
1617
1934
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1620,9 +1937,11 @@ describe("Select component tests", function () {
|
|
|
1620
1937
|
|
|
1621
1938
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
1622
1939
|
|
|
1623
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1624
|
-
|
|
1940
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1625
1941
|
|
|
1942
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1943
|
+
value: ["bilbao"]
|
|
1944
|
+
});
|
|
1626
1945
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1627
1946
|
expect(getAllByText("Bilbao").length).toBe(2);
|
|
1628
1947
|
|
|
@@ -1645,31 +1964,33 @@ describe("Select component tests", function () {
|
|
|
1645
1964
|
code: "Enter",
|
|
1646
1965
|
keyCode: 13,
|
|
1647
1966
|
charCode: 13
|
|
1648
|
-
});
|
|
1649
|
-
|
|
1967
|
+
});
|
|
1650
1968
|
|
|
1969
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1970
|
+
value: ["bilbao", "guadalquivir"]
|
|
1971
|
+
});
|
|
1651
1972
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1652
1973
|
expect(getByText("Bilbao, Guadalquivir")).toBeTruthy();
|
|
1653
1974
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
1654
1975
|
expect(getAllByRole("option")[16].getAttribute("aria-selected")).toBe("true");
|
|
1655
|
-
expect(submitInput.value).toBe("bilbao,
|
|
1976
|
+
expect(submitInput.value).toBe("bilbao,guadalquivir");
|
|
1656
1977
|
});
|
|
1657
1978
|
test("Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
1658
1979
|
var onChange = jest.fn();
|
|
1659
1980
|
|
|
1660
|
-
var
|
|
1981
|
+
var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1661
1982
|
label: "test-select-label",
|
|
1662
1983
|
options: group_options,
|
|
1663
1984
|
onChange: onChange,
|
|
1664
1985
|
multiple: true
|
|
1665
1986
|
})),
|
|
1666
|
-
getByText =
|
|
1667
|
-
queryByText =
|
|
1668
|
-
getByRole =
|
|
1669
|
-
getAllByRole =
|
|
1670
|
-
queryByRole =
|
|
1671
|
-
getByTitle =
|
|
1672
|
-
queryByTitle =
|
|
1987
|
+
getByText = _render52.getByText,
|
|
1988
|
+
queryByText = _render52.queryByText,
|
|
1989
|
+
getByRole = _render52.getByRole,
|
|
1990
|
+
getAllByRole = _render52.getAllByRole,
|
|
1991
|
+
queryByRole = _render52.queryByRole,
|
|
1992
|
+
getByTitle = _render52.getByTitle,
|
|
1993
|
+
queryByTitle = _render52.queryByTitle;
|
|
1673
1994
|
|
|
1674
1995
|
var select = getByRole("combobox");
|
|
1675
1996
|
|
|
@@ -1681,9 +2002,11 @@ describe("Select component tests", function () {
|
|
|
1681
2002
|
|
|
1682
2003
|
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1683
2004
|
|
|
1684
|
-
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1685
|
-
|
|
2005
|
+
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1686
2006
|
|
|
2007
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2008
|
+
value: ["blanco", "oviedo", "duero", "ebro"]
|
|
2009
|
+
});
|
|
1687
2010
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1688
2011
|
expect(getByText("Blanco, Oviedo, Duero, Ebro")).toBeTruthy();
|
|
1689
2012
|
expect(getByText("4", {
|
|
@@ -1700,7 +2023,7 @@ describe("Select component tests", function () {
|
|
|
1700
2023
|
test("Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1701
2024
|
var onChange = jest.fn();
|
|
1702
2025
|
|
|
1703
|
-
var
|
|
2026
|
+
var _render53 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1704
2027
|
label: "test-select-label",
|
|
1705
2028
|
placeholder: "Choose an option",
|
|
1706
2029
|
options: group_options,
|
|
@@ -1708,10 +2031,10 @@ describe("Select component tests", function () {
|
|
|
1708
2031
|
multiple: true,
|
|
1709
2032
|
optional: true
|
|
1710
2033
|
})),
|
|
1711
|
-
getByText =
|
|
1712
|
-
getAllByText =
|
|
1713
|
-
getByRole =
|
|
1714
|
-
getAllByRole =
|
|
2034
|
+
getByText = _render53.getByText,
|
|
2035
|
+
getAllByText = _render53.getAllByText,
|
|
2036
|
+
getByRole = _render53.getByRole,
|
|
2037
|
+
getAllByRole = _render53.getAllByRole;
|
|
1715
2038
|
|
|
1716
2039
|
var select = getByRole("combobox");
|
|
1717
2040
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1721,19 +2044,21 @@ describe("Select component tests", function () {
|
|
|
1721
2044
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1722
2045
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1723
2046
|
|
|
1724
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1725
|
-
|
|
2047
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1726
2048
|
|
|
2049
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2050
|
+
value: ["azul"]
|
|
2051
|
+
});
|
|
1727
2052
|
expect(getAllByText("Azul").length).toBe(2);
|
|
1728
2053
|
});
|
|
1729
2054
|
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
|
|
2055
|
+
var _render54 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1731
2056
|
label: "test-select-label",
|
|
1732
2057
|
options: group_options
|
|
1733
2058
|
})),
|
|
1734
|
-
getByText =
|
|
1735
|
-
getByRole =
|
|
1736
|
-
getAllByRole =
|
|
2059
|
+
getByText = _render54.getByText,
|
|
2060
|
+
getByRole = _render54.getByRole,
|
|
2061
|
+
getAllByRole = _render54.getAllByRole;
|
|
1737
2062
|
|
|
1738
2063
|
var select = getByRole("combobox");
|
|
1739
2064
|
|
|
@@ -1801,14 +2126,13 @@ describe("Select component tests", function () {
|
|
|
1801
2126
|
expect(getByText("Verde")).toBeTruthy();
|
|
1802
2127
|
});
|
|
1803
2128
|
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
|
|
2129
|
+
var _render55 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1805
2130
|
label: "test-select-label",
|
|
1806
2131
|
options: group_options
|
|
1807
2132
|
})),
|
|
1808
|
-
getByText =
|
|
1809
|
-
getByRole =
|
|
1810
|
-
getAllByRole =
|
|
1811
|
-
queryByRole = _render47.queryByRole;
|
|
2133
|
+
getByText = _render55.getByText,
|
|
2134
|
+
getByRole = _render55.getByRole,
|
|
2135
|
+
getAllByRole = _render55.getAllByRole;
|
|
1812
2136
|
|
|
1813
2137
|
var select = getByRole("combobox");
|
|
1814
2138
|
|
|
@@ -1872,29 +2196,38 @@ describe("Select component tests", function () {
|
|
|
1872
2196
|
|
|
1873
2197
|
expect(getByText("Azul")).toBeTruthy();
|
|
1874
2198
|
});
|
|
1875
|
-
test("
|
|
1876
|
-
var
|
|
2199
|
+
test("Multiple selection and optional - Clear action cleans every selected option but does not display an error", function () {
|
|
2200
|
+
var onChange = jest.fn();
|
|
2201
|
+
|
|
2202
|
+
var _render56 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1877
2203
|
label: "test-select-label",
|
|
1878
|
-
|
|
1879
|
-
|
|
2204
|
+
options: single_options,
|
|
2205
|
+
onChange: onChange,
|
|
2206
|
+
multiple: true,
|
|
2207
|
+
optional: true
|
|
1880
2208
|
})),
|
|
1881
|
-
|
|
1882
|
-
|
|
2209
|
+
getByRole = _render56.getByRole,
|
|
2210
|
+
getAllByRole = _render56.getAllByRole,
|
|
2211
|
+
getByTitle = _render56.getByTitle;
|
|
1883
2212
|
|
|
1884
2213
|
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
2214
|
|
|
1894
2215
|
_userEvent["default"].click(select);
|
|
1895
2216
|
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
2217
|
+
_userEvent["default"].click(getAllByRole("option")[5]);
|
|
2218
|
+
|
|
2219
|
+
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
2220
|
+
|
|
2221
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
2222
|
+
|
|
2223
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2224
|
+
value: ["6", "9", "14"]
|
|
2225
|
+
});
|
|
2226
|
+
|
|
2227
|
+
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
2228
|
+
|
|
2229
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2230
|
+
value: []
|
|
2231
|
+
});
|
|
1899
2232
|
});
|
|
1900
2233
|
});
|