@dxc-technology/halstack-react 0.0.0-fdc49d2 → 0.0.0-feed711
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 +295 -0
- package/accordion/Accordion.js +5 -27
- package/accordion/Accordion.stories.tsx +4 -4
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +14 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +5 -1
- package/alert/Alert.js +4 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +22 -32
- 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/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +38 -28
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/types.d.ts +3 -3
- package/chip/types.d.ts +1 -1
- package/common/variables.js +229 -98
- package/date-input/DateInput.js +41 -23
- package/date-input/DateInput.test.js +9 -22
- package/date-input/types.d.ts +12 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +242 -250
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +510 -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.js +9 -6
- package/file-input/FileItem.js +7 -5
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +1 -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 +2 -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 +83 -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 +57 -74
- 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 +7 -10
- package/main.js +43 -61
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +13 -10
- package/package.json +14 -12
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +42 -0
- 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 +3 -6
- 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.js +83 -25
- package/quick-nav/QuickNav.stories.tsx +43 -16
- package/quick-nav/types.d.ts +4 -8
- package/radio-group/Radio.js +1 -1
- package/radio-group/RadioGroup.js +21 -20
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -0
- package/select/Option.js +1 -1
- package/select/Select.js +102 -199
- package/select/Select.stories.tsx +145 -100
- package/select/Select.test.js +440 -281
- package/select/types.d.ts +31 -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 +1 -1
- package/slider/Slider.js +5 -4
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +68 -10
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +113 -54
- package/switch/Switch.stories.tsx +16 -38
- package/switch/Switch.test.js +122 -8
- package/switch/types.d.ts +5 -6
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +26 -9
- package/tabs/types.d.ts +5 -1
- 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/{row → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +5 -8
- package/tag/types.d.ts +1 -1
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +60 -97
- package/text-input/TextInput.stories.tsx +1 -2
- package/text-input/TextInput.test.js +22 -35
- package/text-input/types.d.ts +27 -12
- package/textarea/Textarea.js +10 -19
- package/textarea/types.d.ts +10 -7
- 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/{stack → typography}/types.js +0 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +43 -44
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/types.d.ts +5 -4
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- 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/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,40 +317,18 @@ 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: "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
327
|
label: "Error label",
|
|
308
328
|
error: "Error message."
|
|
309
329
|
})),
|
|
310
|
-
getByText =
|
|
311
|
-
getByRole =
|
|
330
|
+
getByText = _render2.getByText,
|
|
331
|
+
getByRole = _render2.getByRole;
|
|
312
332
|
|
|
313
333
|
var select = getByRole("combobox");
|
|
314
334
|
var errorMessage = getByText("Error message.");
|
|
@@ -318,13 +338,13 @@ describe("Select component tests", function () {
|
|
|
318
338
|
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
319
339
|
});
|
|
320
340
|
test("Renders with correct aria attributes", function () {
|
|
321
|
-
var
|
|
341
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
322
342
|
label: "test-select-label",
|
|
323
343
|
placeholder: "Example",
|
|
324
344
|
options: single_options
|
|
325
345
|
})),
|
|
326
|
-
getByText =
|
|
327
|
-
getByRole =
|
|
346
|
+
getByText = _render3.getByText,
|
|
347
|
+
getByRole = _render3.getByRole;
|
|
328
348
|
|
|
329
349
|
var select = getByRole("combobox");
|
|
330
350
|
var label = getByText("test-select-label");
|
|
@@ -343,17 +363,17 @@ describe("Select component tests", function () {
|
|
|
343
363
|
expect(list.getAttribute("aria-multiselectable")).toBe("false");
|
|
344
364
|
});
|
|
345
365
|
test("Single selection: Renders with correct default value", function () {
|
|
346
|
-
var
|
|
366
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
347
367
|
label: "test-select-label",
|
|
348
368
|
name: "test",
|
|
349
369
|
defaultValue: "4",
|
|
350
370
|
options: single_options
|
|
351
371
|
})),
|
|
352
|
-
getByText =
|
|
353
|
-
getByRole =
|
|
354
|
-
getAllByRole =
|
|
355
|
-
queryByRole =
|
|
356
|
-
container =
|
|
372
|
+
getByText = _render4.getByText,
|
|
373
|
+
getByRole = _render4.getByRole,
|
|
374
|
+
getAllByRole = _render4.getAllByRole,
|
|
375
|
+
queryByRole = _render4.queryByRole,
|
|
376
|
+
container = _render4.container;
|
|
357
377
|
|
|
358
378
|
var select = getByRole("combobox");
|
|
359
379
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -371,18 +391,18 @@ describe("Select component tests", function () {
|
|
|
371
391
|
expect(submitInput.value).toBe("8");
|
|
372
392
|
});
|
|
373
393
|
test("Multiple selection: Renders with correct default value", function () {
|
|
374
|
-
var
|
|
394
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
375
395
|
label: "test-select-label",
|
|
376
396
|
name: "test",
|
|
377
397
|
defaultValue: ["4", "2", "6"],
|
|
378
398
|
options: single_options,
|
|
379
399
|
multiple: true
|
|
380
400
|
})),
|
|
381
|
-
getByText =
|
|
382
|
-
getByRole =
|
|
383
|
-
getAllByRole =
|
|
384
|
-
queryByRole =
|
|
385
|
-
container =
|
|
401
|
+
getByText = _render5.getByText,
|
|
402
|
+
getByRole = _render5.getByRole,
|
|
403
|
+
getAllByRole = _render5.getAllByRole,
|
|
404
|
+
queryByRole = _render5.queryByRole,
|
|
405
|
+
container = _render5.container;
|
|
386
406
|
|
|
387
407
|
var select = getByRole("combobox");
|
|
388
408
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -401,18 +421,15 @@ describe("Select component tests", function () {
|
|
|
401
421
|
expect(getByText("Option 02, Option 03, Option 04, Option 06")).toBeTruthy();
|
|
402
422
|
expect(submitInput.value).toBe("4,2,6,3");
|
|
403
423
|
});
|
|
404
|
-
test("Disabled select -
|
|
405
|
-
var
|
|
424
|
+
test("Disabled select - Cannot gain focus or open the listbox via click", function () {
|
|
425
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
406
426
|
label: "test-select-label",
|
|
407
427
|
value: ["1", "2"],
|
|
408
428
|
options: single_options,
|
|
409
|
-
disabled: true
|
|
410
|
-
searchable: true,
|
|
411
|
-
multiple: true
|
|
429
|
+
disabled: true
|
|
412
430
|
})),
|
|
413
|
-
getByRole =
|
|
414
|
-
|
|
415
|
-
queryByRole = _render8.queryByRole;
|
|
431
|
+
getByRole = _render6.getByRole,
|
|
432
|
+
queryByRole = _render6.queryByRole;
|
|
416
433
|
|
|
417
434
|
var select = getByRole("combobox");
|
|
418
435
|
expect(select.getAttribute("aria-disabled")).toBe("true");
|
|
@@ -420,12 +437,49 @@ describe("Select component tests", function () {
|
|
|
420
437
|
_userEvent["default"].click(select);
|
|
421
438
|
|
|
422
439
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
440
|
+
expect(document.activeElement === select).toBeFalsy();
|
|
441
|
+
});
|
|
442
|
+
test("Disabled select - Clear all options action must be shown but not clickable", function () {
|
|
443
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
444
|
+
label: "test-select-label",
|
|
445
|
+
value: ["1", "2"],
|
|
446
|
+
options: single_options,
|
|
447
|
+
disabled: true,
|
|
448
|
+
searchable: true,
|
|
449
|
+
multiple: true
|
|
450
|
+
})),
|
|
451
|
+
getByRole = _render7.getByRole,
|
|
452
|
+
getByText = _render7.getByText;
|
|
423
453
|
|
|
424
454
|
_userEvent["default"].click(getByRole("button"));
|
|
425
455
|
|
|
426
456
|
expect(getByText("Option 01, Option 02")).toBeTruthy();
|
|
427
457
|
});
|
|
428
|
-
test("
|
|
458
|
+
test("Disabled select - Does not call onBlur event", function () {
|
|
459
|
+
var onBlur = jest.fn();
|
|
460
|
+
|
|
461
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
462
|
+
label: "test-select-label",
|
|
463
|
+
options: single_options,
|
|
464
|
+
disabled: true,
|
|
465
|
+
onBlur: onBlur
|
|
466
|
+
})),
|
|
467
|
+
getByRole = _render8.getByRole;
|
|
468
|
+
|
|
469
|
+
var select = getByRole("combobox");
|
|
470
|
+
|
|
471
|
+
_userEvent["default"].click(select);
|
|
472
|
+
|
|
473
|
+
_react2.fireEvent.keyDown(getByRole("combobox"), {
|
|
474
|
+
key: "Tab",
|
|
475
|
+
code: "Tab",
|
|
476
|
+
keyCode: 9,
|
|
477
|
+
charCode: 9
|
|
478
|
+
});
|
|
479
|
+
|
|
480
|
+
expect(onBlur).not.toHaveBeenCalled();
|
|
481
|
+
});
|
|
482
|
+
test("Disabled select - When the component gains the focus, the listbox does not open", function () {
|
|
429
483
|
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
430
484
|
label: "test-select-label",
|
|
431
485
|
value: ["1", "2"],
|
|
@@ -442,8 +496,9 @@ describe("Select component tests", function () {
|
|
|
442
496
|
_react2.fireEvent.focus(select);
|
|
443
497
|
|
|
444
498
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
499
|
+
expect(document.activeElement === select).toBeFalsy();
|
|
445
500
|
});
|
|
446
|
-
test("Controlled - Not optional constraint", function () {
|
|
501
|
+
test("Controlled - Single selection - Not optional constraint", function () {
|
|
447
502
|
var onChange = jest.fn();
|
|
448
503
|
var onBlur = jest.fn();
|
|
449
504
|
|
|
@@ -475,9 +530,32 @@ describe("Select component tests", function () {
|
|
|
475
530
|
|
|
476
531
|
expect(onChange).toHaveBeenCalled();
|
|
477
532
|
expect(onChange).toHaveBeenCalledWith({
|
|
478
|
-
value: "1"
|
|
479
|
-
|
|
533
|
+
value: "1"
|
|
534
|
+
});
|
|
535
|
+
|
|
536
|
+
_react2.fireEvent.blur(select);
|
|
537
|
+
|
|
538
|
+
expect(onBlur).toHaveBeenCalled();
|
|
539
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
540
|
+
value: "1"
|
|
480
541
|
});
|
|
542
|
+
});
|
|
543
|
+
test("Controlled - Multiple selection - Not optional constraint", function () {
|
|
544
|
+
var onChange = jest.fn();
|
|
545
|
+
var onBlur = jest.fn();
|
|
546
|
+
|
|
547
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
548
|
+
label: "test-select-label",
|
|
549
|
+
options: single_options,
|
|
550
|
+
onChange: onChange,
|
|
551
|
+
onBlur: onBlur,
|
|
552
|
+
multiple: true
|
|
553
|
+
})),
|
|
554
|
+
getByRole = _render11.getByRole,
|
|
555
|
+
getAllByRole = _render11.getAllByRole;
|
|
556
|
+
|
|
557
|
+
var select = getByRole("combobox");
|
|
558
|
+
expect(select.getAttribute("aria-required")).toBe("true");
|
|
481
559
|
|
|
482
560
|
_react2.fireEvent.focus(select);
|
|
483
561
|
|
|
@@ -485,22 +563,60 @@ describe("Select component tests", function () {
|
|
|
485
563
|
|
|
486
564
|
expect(onBlur).toHaveBeenCalled();
|
|
487
565
|
expect(onBlur).toHaveBeenCalledWith({
|
|
488
|
-
value:
|
|
489
|
-
error:
|
|
566
|
+
value: [],
|
|
567
|
+
error: "This field is required. Please, enter a value."
|
|
568
|
+
});
|
|
569
|
+
|
|
570
|
+
_userEvent["default"].click(select);
|
|
571
|
+
|
|
572
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
573
|
+
|
|
574
|
+
_userEvent["default"].click(getAllByRole("option")[1]);
|
|
575
|
+
|
|
576
|
+
expect(onChange).toHaveBeenCalled();
|
|
577
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
578
|
+
value: ["1", "2"]
|
|
579
|
+
});
|
|
580
|
+
|
|
581
|
+
_react2.fireEvent.blur(select);
|
|
582
|
+
|
|
583
|
+
expect(onBlur).toHaveBeenCalled();
|
|
584
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
585
|
+
value: ["1", "2"]
|
|
586
|
+
});
|
|
587
|
+
|
|
588
|
+
_userEvent["default"].click(select);
|
|
589
|
+
|
|
590
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
591
|
+
|
|
592
|
+
_userEvent["default"].click(getAllByRole("option")[1]);
|
|
593
|
+
|
|
594
|
+
expect(onChange).toHaveBeenCalled();
|
|
595
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
596
|
+
value: [],
|
|
597
|
+
error: "This field is required. Please, enter a value."
|
|
598
|
+
});
|
|
599
|
+
|
|
600
|
+
_react2.fireEvent.blur(select);
|
|
601
|
+
|
|
602
|
+
expect(onBlur).toHaveBeenCalled();
|
|
603
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
604
|
+
value: [],
|
|
605
|
+
error: "This field is required. Please, enter a value."
|
|
490
606
|
});
|
|
491
607
|
});
|
|
492
608
|
test("Controlled - Optional constraint", function () {
|
|
493
609
|
var onChange = jest.fn();
|
|
494
610
|
var onBlur = jest.fn();
|
|
495
611
|
|
|
496
|
-
var
|
|
612
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
497
613
|
label: "test-select-label",
|
|
498
614
|
options: single_options,
|
|
499
615
|
onChange: onChange,
|
|
500
616
|
onBlur: onBlur,
|
|
501
617
|
optional: true
|
|
502
618
|
})),
|
|
503
|
-
getByRole =
|
|
619
|
+
getByRole = _render12.getByRole;
|
|
504
620
|
|
|
505
621
|
var select = getByRole("combobox");
|
|
506
622
|
expect(select.getAttribute("aria-required")).toBe("false");
|
|
@@ -511,20 +627,19 @@ describe("Select component tests", function () {
|
|
|
511
627
|
|
|
512
628
|
expect(onBlur).toHaveBeenCalled();
|
|
513
629
|
expect(onBlur).toHaveBeenCalledWith({
|
|
514
|
-
value: ""
|
|
515
|
-
error: null
|
|
630
|
+
value: ""
|
|
516
631
|
});
|
|
517
632
|
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
518
633
|
});
|
|
519
634
|
test("Non-Grouped Options - Opens listbox and renders correctly or closes it with a click on select", function () {
|
|
520
|
-
var
|
|
635
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
521
636
|
label: "test-select-label",
|
|
522
637
|
options: single_options
|
|
523
638
|
})),
|
|
524
|
-
getByText =
|
|
525
|
-
getByRole =
|
|
526
|
-
getAllByRole =
|
|
527
|
-
queryByRole =
|
|
639
|
+
getByText = _render13.getByText,
|
|
640
|
+
getByRole = _render13.getByRole,
|
|
641
|
+
getAllByRole = _render13.getAllByRole,
|
|
642
|
+
queryByRole = _render13.queryByRole;
|
|
528
643
|
|
|
529
644
|
var select = getByRole("combobox");
|
|
530
645
|
|
|
@@ -544,12 +659,12 @@ describe("Select component tests", function () {
|
|
|
544
659
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
545
660
|
});
|
|
546
661
|
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
|
|
662
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
548
663
|
label: "test-select-label",
|
|
549
664
|
options: []
|
|
550
665
|
})),
|
|
551
|
-
getByRole =
|
|
552
|
-
queryByRole =
|
|
666
|
+
getByRole = _render14.getByRole,
|
|
667
|
+
queryByRole = _render14.queryByRole;
|
|
553
668
|
|
|
554
669
|
var select = getByRole("combobox");
|
|
555
670
|
|
|
@@ -561,17 +676,17 @@ describe("Select component tests", function () {
|
|
|
561
676
|
test("Non-Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
562
677
|
var onChange = jest.fn();
|
|
563
678
|
|
|
564
|
-
var
|
|
679
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
565
680
|
name: "test",
|
|
566
681
|
label: "test-select-label",
|
|
567
682
|
options: single_options,
|
|
568
683
|
onChange: onChange
|
|
569
684
|
})),
|
|
570
|
-
getByText =
|
|
571
|
-
getByRole =
|
|
572
|
-
getAllByRole =
|
|
573
|
-
queryByRole =
|
|
574
|
-
container =
|
|
685
|
+
getByText = _render15.getByText,
|
|
686
|
+
getByRole = _render15.getByRole,
|
|
687
|
+
getAllByRole = _render15.getAllByRole,
|
|
688
|
+
queryByRole = _render15.queryByRole,
|
|
689
|
+
container = _render15.container;
|
|
575
690
|
|
|
576
691
|
var select = getByRole("combobox");
|
|
577
692
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -581,8 +696,7 @@ describe("Select component tests", function () {
|
|
|
581
696
|
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
582
697
|
|
|
583
698
|
expect(onChange).toHaveBeenCalledWith({
|
|
584
|
-
value: "3"
|
|
585
|
-
error: null
|
|
699
|
+
value: "3"
|
|
586
700
|
});
|
|
587
701
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
588
702
|
expect(getByText("Option 03")).toBeTruthy();
|
|
@@ -595,16 +709,16 @@ describe("Select component tests", function () {
|
|
|
595
709
|
test("Non-Grouped Options - Optional renders an empty first option (selected by default) with the placeholder as its label", function () {
|
|
596
710
|
var onChange = jest.fn();
|
|
597
711
|
|
|
598
|
-
var
|
|
712
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
599
713
|
label: "test-select-label",
|
|
600
714
|
placeholder: "Choose an option",
|
|
601
715
|
options: single_options,
|
|
602
716
|
onChange: onChange,
|
|
603
717
|
optional: true
|
|
604
718
|
})),
|
|
605
|
-
getByRole =
|
|
606
|
-
getAllByRole =
|
|
607
|
-
getAllByText =
|
|
719
|
+
getByRole = _render16.getByRole,
|
|
720
|
+
getAllByRole = _render16.getAllByRole,
|
|
721
|
+
getAllByText = _render16.getAllByText;
|
|
608
722
|
|
|
609
723
|
var select = getByRole("combobox");
|
|
610
724
|
|
|
@@ -616,8 +730,7 @@ describe("Select component tests", function () {
|
|
|
616
730
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
617
731
|
|
|
618
732
|
expect(onChange).toHaveBeenCalledWith({
|
|
619
|
-
value: ""
|
|
620
|
-
error: null
|
|
733
|
+
value: ""
|
|
621
734
|
});
|
|
622
735
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
623
736
|
|
|
@@ -638,8 +751,7 @@ describe("Select component tests", function () {
|
|
|
638
751
|
});
|
|
639
752
|
|
|
640
753
|
expect(onChange).toHaveBeenCalledWith({
|
|
641
|
-
value: ""
|
|
642
|
-
error: null
|
|
754
|
+
value: ""
|
|
643
755
|
});
|
|
644
756
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
645
757
|
|
|
@@ -653,18 +765,18 @@ describe("Select component tests", function () {
|
|
|
653
765
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
654
766
|
});
|
|
655
767
|
test("Non-Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
656
|
-
var
|
|
768
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
657
769
|
label: "test-select-label",
|
|
658
770
|
placeholder: "Placeholder example",
|
|
659
771
|
options: single_options,
|
|
660
772
|
optional: true,
|
|
661
773
|
searchable: true
|
|
662
774
|
})),
|
|
663
|
-
getByRole =
|
|
664
|
-
getAllByRole =
|
|
665
|
-
getByText =
|
|
666
|
-
queryByText =
|
|
667
|
-
container =
|
|
775
|
+
getByRole = _render17.getByRole,
|
|
776
|
+
getAllByRole = _render17.getAllByRole,
|
|
777
|
+
getByText = _render17.getByText,
|
|
778
|
+
queryByText = _render17.queryByText,
|
|
779
|
+
container = _render17.container;
|
|
668
780
|
|
|
669
781
|
var select = getByRole("combobox");
|
|
670
782
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -682,12 +794,12 @@ describe("Select component tests", function () {
|
|
|
682
794
|
expect(getByText("No matches found")).toBeTruthy();
|
|
683
795
|
});
|
|
684
796
|
test("Non-Grouped Options - Renders SVG icons correctly when passed with options", function () {
|
|
685
|
-
var
|
|
797
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
686
798
|
label: "test-select-label",
|
|
687
799
|
options: svg_icon_options
|
|
688
800
|
})),
|
|
689
|
-
getByRole =
|
|
690
|
-
getAllByRole =
|
|
801
|
+
getByRole = _render18.getByRole,
|
|
802
|
+
getAllByRole = _render18.getAllByRole;
|
|
691
803
|
|
|
692
804
|
var select = getByRole("combobox");
|
|
693
805
|
|
|
@@ -697,13 +809,13 @@ describe("Select component tests", function () {
|
|
|
697
809
|
expect(getAllByRole("option").length).toBe(5);
|
|
698
810
|
});
|
|
699
811
|
test("Non-Grouped Options - Renders string url icons correctly when passed with options", function () {
|
|
700
|
-
var
|
|
812
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
701
813
|
label: "test-select-label",
|
|
702
814
|
options: url_icon_options,
|
|
703
815
|
optional: true
|
|
704
816
|
})),
|
|
705
|
-
getByRole =
|
|
706
|
-
getAllByRole =
|
|
817
|
+
getByRole = _render19.getByRole,
|
|
818
|
+
getAllByRole = _render19.getAllByRole;
|
|
707
819
|
|
|
708
820
|
var select = getByRole("combobox");
|
|
709
821
|
|
|
@@ -713,12 +825,12 @@ describe("Select component tests", function () {
|
|
|
713
825
|
expect(getAllByRole("option").length).toBe(6);
|
|
714
826
|
});
|
|
715
827
|
test("Non-Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
716
|
-
var
|
|
828
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
717
829
|
label: "test-select-label",
|
|
718
830
|
options: single_options
|
|
719
831
|
})),
|
|
720
|
-
getByRole =
|
|
721
|
-
queryByRole =
|
|
832
|
+
getByRole = _render20.getByRole,
|
|
833
|
+
queryByRole = _render20.queryByRole;
|
|
722
834
|
|
|
723
835
|
var select = getByRole("combobox");
|
|
724
836
|
|
|
@@ -733,12 +845,12 @@ describe("Select component tests", function () {
|
|
|
733
845
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
734
846
|
});
|
|
735
847
|
test("Non-Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
736
|
-
var
|
|
848
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
737
849
|
label: "test-select-label",
|
|
738
850
|
options: single_options
|
|
739
851
|
})),
|
|
740
|
-
getByRole =
|
|
741
|
-
queryByRole =
|
|
852
|
+
getByRole = _render21.getByRole,
|
|
853
|
+
queryByRole = _render21.queryByRole;
|
|
742
854
|
|
|
743
855
|
var select = getByRole("combobox");
|
|
744
856
|
|
|
@@ -760,12 +872,12 @@ describe("Select component tests", function () {
|
|
|
760
872
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
761
873
|
});
|
|
762
874
|
test("Non-Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
763
|
-
var
|
|
875
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
764
876
|
label: "test-select-label",
|
|
765
877
|
options: single_options
|
|
766
878
|
})),
|
|
767
|
-
getByRole =
|
|
768
|
-
queryByRole =
|
|
879
|
+
getByRole = _render22.getByRole,
|
|
880
|
+
queryByRole = _render22.queryByRole;
|
|
769
881
|
|
|
770
882
|
var select = getByRole("combobox");
|
|
771
883
|
|
|
@@ -780,12 +892,12 @@ describe("Select component tests", function () {
|
|
|
780
892
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
781
893
|
});
|
|
782
894
|
test("Non-Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
783
|
-
var
|
|
895
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
784
896
|
label: "test-select-label",
|
|
785
897
|
options: single_options
|
|
786
898
|
})),
|
|
787
|
-
getByRole =
|
|
788
|
-
queryByRole =
|
|
899
|
+
getByRole = _render23.getByRole,
|
|
900
|
+
queryByRole = _render23.queryByRole;
|
|
789
901
|
|
|
790
902
|
var select = getByRole("combobox");
|
|
791
903
|
|
|
@@ -809,16 +921,16 @@ describe("Select component tests", function () {
|
|
|
809
921
|
test("Non-Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
810
922
|
var onChange = jest.fn();
|
|
811
923
|
|
|
812
|
-
var
|
|
924
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
813
925
|
label: "test-select-label",
|
|
814
926
|
options: single_options,
|
|
815
927
|
onChange: onChange,
|
|
816
928
|
optional: true
|
|
817
929
|
})),
|
|
818
|
-
getByText =
|
|
819
|
-
getByRole =
|
|
820
|
-
getAllByRole =
|
|
821
|
-
queryByRole =
|
|
930
|
+
getByText = _render24.getByText,
|
|
931
|
+
getByRole = _render24.getByRole,
|
|
932
|
+
getAllByRole = _render24.getAllByRole,
|
|
933
|
+
queryByRole = _render24.queryByRole;
|
|
822
934
|
|
|
823
935
|
var select = getByRole("combobox");
|
|
824
936
|
|
|
@@ -858,8 +970,7 @@ describe("Select component tests", function () {
|
|
|
858
970
|
});
|
|
859
971
|
|
|
860
972
|
expect(onChange).toHaveBeenCalledWith({
|
|
861
|
-
value: "20"
|
|
862
|
-
error: null
|
|
973
|
+
value: "20"
|
|
863
974
|
});
|
|
864
975
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
865
976
|
expect(getByText("Option 20")).toBeTruthy();
|
|
@@ -871,17 +982,17 @@ describe("Select component tests", function () {
|
|
|
871
982
|
test("Non-Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
872
983
|
var onChange = jest.fn();
|
|
873
984
|
|
|
874
|
-
var
|
|
985
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
875
986
|
label: "test-select-label",
|
|
876
987
|
options: single_options,
|
|
877
988
|
onChange: onChange,
|
|
878
989
|
searchable: true
|
|
879
990
|
})),
|
|
880
|
-
container =
|
|
881
|
-
getByText =
|
|
882
|
-
getByRole =
|
|
883
|
-
getAllByRole =
|
|
884
|
-
queryByRole =
|
|
991
|
+
container = _render25.container,
|
|
992
|
+
getByText = _render25.getByText,
|
|
993
|
+
getByRole = _render25.getByRole,
|
|
994
|
+
getAllByRole = _render25.getAllByRole,
|
|
995
|
+
queryByRole = _render25.queryByRole;
|
|
885
996
|
|
|
886
997
|
var select = getByRole("combobox");
|
|
887
998
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -895,8 +1006,7 @@ describe("Select component tests", function () {
|
|
|
895
1006
|
_userEvent["default"].click(getByRole("option"));
|
|
896
1007
|
|
|
897
1008
|
expect(onChange).toHaveBeenCalledWith({
|
|
898
|
-
value: "8"
|
|
899
|
-
error: null
|
|
1009
|
+
value: "8"
|
|
900
1010
|
});
|
|
901
1011
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
902
1012
|
expect(getByText("Option 08")).toBeTruthy();
|
|
@@ -909,15 +1019,15 @@ describe("Select component tests", function () {
|
|
|
909
1019
|
test("Non-Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
910
1020
|
var onChange = jest.fn();
|
|
911
1021
|
|
|
912
|
-
var
|
|
1022
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
913
1023
|
label: "test-select-label",
|
|
914
1024
|
options: single_options,
|
|
915
1025
|
onChange: onChange,
|
|
916
1026
|
searchable: true
|
|
917
1027
|
})),
|
|
918
|
-
container =
|
|
919
|
-
getByText =
|
|
920
|
-
getByRole =
|
|
1028
|
+
container = _render26.container,
|
|
1029
|
+
getByText = _render26.getByText,
|
|
1030
|
+
getByRole = _render26.getByRole;
|
|
921
1031
|
|
|
922
1032
|
var select = getByRole("combobox");
|
|
923
1033
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -933,16 +1043,16 @@ describe("Select component tests", function () {
|
|
|
933
1043
|
test("Non-Grouped Options: Searchable - Clicking the select, when the list is open, clears the search value", function () {
|
|
934
1044
|
var onChange = jest.fn();
|
|
935
1045
|
|
|
936
|
-
var
|
|
1046
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
937
1047
|
label: "test-select-label",
|
|
938
1048
|
options: single_options,
|
|
939
1049
|
onChange: onChange,
|
|
940
1050
|
searchable: true
|
|
941
1051
|
})),
|
|
942
|
-
container =
|
|
943
|
-
getByText =
|
|
944
|
-
getByRole =
|
|
945
|
-
getAllByRole =
|
|
1052
|
+
container = _render27.container,
|
|
1053
|
+
getByText = _render27.getByText,
|
|
1054
|
+
getByRole = _render27.getByRole,
|
|
1055
|
+
getAllByRole = _render27.getAllByRole;
|
|
946
1056
|
|
|
947
1057
|
var select = getByRole("combobox");
|
|
948
1058
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -965,15 +1075,15 @@ describe("Select component tests", function () {
|
|
|
965
1075
|
test("Non-Grouped Options: Searchable - Writing displays the listbox, if it was not open", function () {
|
|
966
1076
|
var onChange = jest.fn();
|
|
967
1077
|
|
|
968
|
-
var
|
|
1078
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
969
1079
|
label: "test-select-label",
|
|
970
1080
|
options: single_options,
|
|
971
1081
|
onChange: onChange,
|
|
972
1082
|
searchable: true
|
|
973
1083
|
})),
|
|
974
|
-
container =
|
|
975
|
-
getByRole =
|
|
976
|
-
queryByRole =
|
|
1084
|
+
container = _render28.container,
|
|
1085
|
+
getByRole = _render28.getByRole,
|
|
1086
|
+
queryByRole = _render28.queryByRole;
|
|
977
1087
|
|
|
978
1088
|
var select = getByRole("combobox");
|
|
979
1089
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -991,15 +1101,15 @@ describe("Select component tests", function () {
|
|
|
991
1101
|
test("Non-Grouped Options: Searchable - Key Esc cleans the search value and closes the options", function () {
|
|
992
1102
|
var onChange = jest.fn();
|
|
993
1103
|
|
|
994
|
-
var
|
|
1104
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
995
1105
|
label: "test-select-label",
|
|
996
1106
|
options: single_options,
|
|
997
1107
|
onChange: onChange,
|
|
998
1108
|
searchable: true
|
|
999
1109
|
})),
|
|
1000
|
-
container =
|
|
1001
|
-
getByRole =
|
|
1002
|
-
queryByRole =
|
|
1110
|
+
container = _render29.container,
|
|
1111
|
+
getByRole = _render29.getByRole,
|
|
1112
|
+
queryByRole = _render29.queryByRole;
|
|
1003
1113
|
|
|
1004
1114
|
var select = getByRole("combobox");
|
|
1005
1115
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1019,16 +1129,16 @@ describe("Select component tests", function () {
|
|
|
1019
1129
|
test("Non-Grouped Options: Searchable - While user types, a clear action is displayed for cleaning the search value", function () {
|
|
1020
1130
|
var onChange = jest.fn();
|
|
1021
1131
|
|
|
1022
|
-
var
|
|
1132
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1023
1133
|
label: "test-select-label",
|
|
1024
1134
|
options: single_options,
|
|
1025
1135
|
onChange: onChange,
|
|
1026
1136
|
searchable: true
|
|
1027
1137
|
})),
|
|
1028
|
-
container =
|
|
1029
|
-
getByRole =
|
|
1030
|
-
getAllByRole =
|
|
1031
|
-
queryByTitle =
|
|
1138
|
+
container = _render30.container,
|
|
1139
|
+
getByRole = _render30.getByRole,
|
|
1140
|
+
getAllByRole = _render30.getAllByRole,
|
|
1141
|
+
queryByTitle = _render30.queryByTitle;
|
|
1032
1142
|
|
|
1033
1143
|
var searchInput = container.querySelectorAll("input")[1];
|
|
1034
1144
|
|
|
@@ -1048,19 +1158,19 @@ describe("Select component tests", function () {
|
|
|
1048
1158
|
test("Non-Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
1049
1159
|
var onChange = jest.fn();
|
|
1050
1160
|
|
|
1051
|
-
var
|
|
1161
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1052
1162
|
name: "test",
|
|
1053
1163
|
label: "test-select-label",
|
|
1054
1164
|
options: single_options,
|
|
1055
1165
|
onChange: onChange,
|
|
1056
1166
|
multiple: true
|
|
1057
1167
|
})),
|
|
1058
|
-
getByText =
|
|
1059
|
-
getAllByText =
|
|
1060
|
-
getByRole =
|
|
1061
|
-
getAllByRole =
|
|
1062
|
-
queryByRole =
|
|
1063
|
-
container =
|
|
1168
|
+
getByText = _render31.getByText,
|
|
1169
|
+
getAllByText = _render31.getAllByText,
|
|
1170
|
+
getByRole = _render31.getByRole,
|
|
1171
|
+
getAllByRole = _render31.getAllByRole,
|
|
1172
|
+
queryByRole = _render31.queryByRole,
|
|
1173
|
+
container = _render31.container;
|
|
1064
1174
|
|
|
1065
1175
|
var select = getByRole("combobox");
|
|
1066
1176
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1069,9 +1179,11 @@ describe("Select component tests", function () {
|
|
|
1069
1179
|
|
|
1070
1180
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
1071
1181
|
|
|
1072
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1073
|
-
|
|
1182
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1074
1183
|
|
|
1184
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1185
|
+
value: ["11"]
|
|
1186
|
+
});
|
|
1075
1187
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1076
1188
|
expect(getAllByText("Option 11").length).toBe(2);
|
|
1077
1189
|
|
|
@@ -1094,9 +1206,11 @@ describe("Select component tests", function () {
|
|
|
1094
1206
|
code: "Enter",
|
|
1095
1207
|
keyCode: 13,
|
|
1096
1208
|
charCode: 13
|
|
1097
|
-
});
|
|
1098
|
-
|
|
1209
|
+
});
|
|
1099
1210
|
|
|
1211
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1212
|
+
value: ["11", "19"]
|
|
1213
|
+
});
|
|
1100
1214
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1101
1215
|
expect(getByText("Option 11, Option 19")).toBeTruthy();
|
|
1102
1216
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
@@ -1106,19 +1220,19 @@ describe("Select component tests", function () {
|
|
|
1106
1220
|
test("Non-Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
1107
1221
|
var onChange = jest.fn();
|
|
1108
1222
|
|
|
1109
|
-
var
|
|
1223
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1110
1224
|
label: "test-select-label",
|
|
1111
1225
|
options: single_options,
|
|
1112
1226
|
onChange: onChange,
|
|
1113
1227
|
multiple: true
|
|
1114
1228
|
})),
|
|
1115
|
-
getByText =
|
|
1116
|
-
queryByText =
|
|
1117
|
-
getByRole =
|
|
1118
|
-
getAllByRole =
|
|
1119
|
-
queryByRole =
|
|
1120
|
-
getByTitle =
|
|
1121
|
-
queryByTitle =
|
|
1229
|
+
getByText = _render32.getByText,
|
|
1230
|
+
queryByText = _render32.queryByText,
|
|
1231
|
+
getByRole = _render32.getByRole,
|
|
1232
|
+
getAllByRole = _render32.getAllByRole,
|
|
1233
|
+
queryByRole = _render32.queryByRole,
|
|
1234
|
+
getByTitle = _render32.getByTitle,
|
|
1235
|
+
queryByTitle = _render32.queryByTitle;
|
|
1122
1236
|
|
|
1123
1237
|
var select = getByRole("combobox");
|
|
1124
1238
|
|
|
@@ -1128,9 +1242,11 @@ describe("Select component tests", function () {
|
|
|
1128
1242
|
|
|
1129
1243
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1130
1244
|
|
|
1131
|
-
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1132
|
-
|
|
1245
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1133
1246
|
|
|
1247
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1248
|
+
value: ["6", "9", "14"]
|
|
1249
|
+
});
|
|
1134
1250
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1135
1251
|
expect(getByText("Option 06, Option 09, Option 14")).toBeTruthy();
|
|
1136
1252
|
expect(getByText("3", {
|
|
@@ -1139,6 +1255,10 @@ describe("Select component tests", function () {
|
|
|
1139
1255
|
|
|
1140
1256
|
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
1141
1257
|
|
|
1258
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1259
|
+
value: [],
|
|
1260
|
+
error: "This field is required. Please, enter a value."
|
|
1261
|
+
});
|
|
1142
1262
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1143
1263
|
expect(queryByText("Option 06, Option 09, Option 14")).toBeFalsy();
|
|
1144
1264
|
expect(queryByText("3")).toBeFalsy();
|
|
@@ -1147,7 +1267,7 @@ describe("Select component tests", function () {
|
|
|
1147
1267
|
test("Non-Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1148
1268
|
var onChange = jest.fn();
|
|
1149
1269
|
|
|
1150
|
-
var
|
|
1270
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1151
1271
|
label: "test-select-label",
|
|
1152
1272
|
placeholder: "Choose an option",
|
|
1153
1273
|
options: single_options,
|
|
@@ -1155,10 +1275,10 @@ describe("Select component tests", function () {
|
|
|
1155
1275
|
multiple: true,
|
|
1156
1276
|
optional: true
|
|
1157
1277
|
})),
|
|
1158
|
-
getByText =
|
|
1159
|
-
getAllByText =
|
|
1160
|
-
getByRole =
|
|
1161
|
-
getAllByRole =
|
|
1278
|
+
getByText = _render33.getByText,
|
|
1279
|
+
getAllByText = _render33.getAllByText,
|
|
1280
|
+
getByRole = _render33.getByRole,
|
|
1281
|
+
getAllByRole = _render33.getAllByRole;
|
|
1162
1282
|
|
|
1163
1283
|
var select = getByRole("combobox");
|
|
1164
1284
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1168,19 +1288,21 @@ describe("Select component tests", function () {
|
|
|
1168
1288
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1169
1289
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1170
1290
|
|
|
1171
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1172
|
-
|
|
1291
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1173
1292
|
|
|
1293
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1294
|
+
value: ["1"]
|
|
1295
|
+
});
|
|
1174
1296
|
expect(getAllByText("Option 01").length).toBe(2);
|
|
1175
1297
|
});
|
|
1176
1298
|
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
|
|
1299
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1178
1300
|
label: "test-select-label",
|
|
1179
1301
|
options: single_options
|
|
1180
1302
|
})),
|
|
1181
|
-
getByText =
|
|
1182
|
-
getByRole =
|
|
1183
|
-
getAllByRole =
|
|
1303
|
+
getByText = _render34.getByText,
|
|
1304
|
+
getByRole = _render34.getByRole,
|
|
1305
|
+
getAllByRole = _render34.getAllByRole;
|
|
1184
1306
|
|
|
1185
1307
|
var select = getByRole("combobox");
|
|
1186
1308
|
|
|
@@ -1248,14 +1370,14 @@ describe("Select component tests", function () {
|
|
|
1248
1370
|
expect(getByText("Option 06")).toBeTruthy();
|
|
1249
1371
|
});
|
|
1250
1372
|
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
|
|
1373
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1252
1374
|
label: "test-select-label",
|
|
1253
1375
|
options: single_options
|
|
1254
1376
|
})),
|
|
1255
|
-
getByText =
|
|
1256
|
-
getByRole =
|
|
1257
|
-
getAllByRole =
|
|
1258
|
-
queryByRole =
|
|
1377
|
+
getByText = _render35.getByText,
|
|
1378
|
+
getByRole = _render35.getByRole,
|
|
1379
|
+
getAllByRole = _render35.getAllByRole,
|
|
1380
|
+
queryByRole = _render35.queryByRole;
|
|
1259
1381
|
|
|
1260
1382
|
var select = getByRole("combobox");
|
|
1261
1383
|
|
|
@@ -1323,14 +1445,14 @@ describe("Select component tests", function () {
|
|
|
1323
1445
|
expect(getByText("Option 17")).toBeTruthy();
|
|
1324
1446
|
});
|
|
1325
1447
|
test("Grouped Options - Opens listbox and renders it correctly or closes it with a click on select", function () {
|
|
1326
|
-
var
|
|
1448
|
+
var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1327
1449
|
label: "test-select-label",
|
|
1328
1450
|
options: group_options
|
|
1329
1451
|
})),
|
|
1330
|
-
getByText =
|
|
1331
|
-
getByRole =
|
|
1332
|
-
getAllByRole =
|
|
1333
|
-
queryByRole =
|
|
1452
|
+
getByText = _render36.getByText,
|
|
1453
|
+
getByRole = _render36.getByRole,
|
|
1454
|
+
getAllByRole = _render36.getAllByRole,
|
|
1455
|
+
queryByRole = _render36.queryByRole;
|
|
1334
1456
|
|
|
1335
1457
|
var select = getByRole("combobox");
|
|
1336
1458
|
|
|
@@ -1358,15 +1480,15 @@ describe("Select component tests", function () {
|
|
|
1358
1480
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
1359
1481
|
});
|
|
1360
1482
|
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
|
|
1483
|
+
var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1362
1484
|
label: "test-select-label",
|
|
1363
1485
|
options: [{
|
|
1364
1486
|
label: "Group 1",
|
|
1365
1487
|
options: []
|
|
1366
1488
|
}]
|
|
1367
1489
|
})),
|
|
1368
|
-
getByRole =
|
|
1369
|
-
queryByRole =
|
|
1490
|
+
getByRole = _render37.getByRole,
|
|
1491
|
+
queryByRole = _render37.queryByRole;
|
|
1370
1492
|
|
|
1371
1493
|
var select = getByRole("combobox");
|
|
1372
1494
|
|
|
@@ -1378,17 +1500,17 @@ describe("Select component tests", function () {
|
|
|
1378
1500
|
test("Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
1379
1501
|
var onChange = jest.fn();
|
|
1380
1502
|
|
|
1381
|
-
var
|
|
1503
|
+
var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1382
1504
|
name: "test",
|
|
1383
1505
|
label: "test-select-label",
|
|
1384
1506
|
options: group_options,
|
|
1385
1507
|
onChange: onChange
|
|
1386
1508
|
})),
|
|
1387
|
-
getByText =
|
|
1388
|
-
getByRole =
|
|
1389
|
-
getAllByRole =
|
|
1390
|
-
queryByRole =
|
|
1391
|
-
container =
|
|
1509
|
+
getByText = _render38.getByText,
|
|
1510
|
+
getByRole = _render38.getByRole,
|
|
1511
|
+
getAllByRole = _render38.getAllByRole,
|
|
1512
|
+
queryByRole = _render38.queryByRole,
|
|
1513
|
+
container = _render38.container;
|
|
1392
1514
|
|
|
1393
1515
|
var select = getByRole("combobox");
|
|
1394
1516
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1398,8 +1520,7 @@ describe("Select component tests", function () {
|
|
|
1398
1520
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1399
1521
|
|
|
1400
1522
|
expect(onChange).toHaveBeenCalledWith({
|
|
1401
|
-
value: "oviedo"
|
|
1402
|
-
error: null
|
|
1523
|
+
value: "oviedo"
|
|
1403
1524
|
});
|
|
1404
1525
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1405
1526
|
expect(getByText("Oviedo")).toBeTruthy();
|
|
@@ -1412,16 +1533,16 @@ describe("Select component tests", function () {
|
|
|
1412
1533
|
test("Grouped Options - Optional renders an empty first option (out of any group) with the placeholder as its label", function () {
|
|
1413
1534
|
var onChange = jest.fn();
|
|
1414
1535
|
|
|
1415
|
-
var
|
|
1536
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1416
1537
|
label: "test-select-label",
|
|
1417
1538
|
placeholder: "Placeholder example",
|
|
1418
1539
|
options: group_options,
|
|
1419
1540
|
onChange: onChange,
|
|
1420
1541
|
optional: true
|
|
1421
1542
|
})),
|
|
1422
|
-
getByRole =
|
|
1423
|
-
getAllByRole =
|
|
1424
|
-
getAllByText =
|
|
1543
|
+
getByRole = _render39.getByRole,
|
|
1544
|
+
getAllByRole = _render39.getAllByRole,
|
|
1545
|
+
getAllByText = _render39.getAllByText;
|
|
1425
1546
|
|
|
1426
1547
|
var select = getByRole("combobox");
|
|
1427
1548
|
|
|
@@ -1433,8 +1554,7 @@ describe("Select component tests", function () {
|
|
|
1433
1554
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1434
1555
|
|
|
1435
1556
|
expect(onChange).toHaveBeenCalledWith({
|
|
1436
|
-
value: ""
|
|
1437
|
-
error: null
|
|
1557
|
+
value: ""
|
|
1438
1558
|
});
|
|
1439
1559
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1440
1560
|
|
|
@@ -1455,8 +1575,7 @@ describe("Select component tests", function () {
|
|
|
1455
1575
|
});
|
|
1456
1576
|
|
|
1457
1577
|
expect(onChange).toHaveBeenCalledWith({
|
|
1458
|
-
value: ""
|
|
1459
|
-
error: null
|
|
1578
|
+
value: ""
|
|
1460
1579
|
});
|
|
1461
1580
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1462
1581
|
|
|
@@ -1470,18 +1589,18 @@ describe("Select component tests", function () {
|
|
|
1470
1589
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1471
1590
|
});
|
|
1472
1591
|
test("Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
1473
|
-
var
|
|
1592
|
+
var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1474
1593
|
label: "test-select-label",
|
|
1475
1594
|
placeholder: "Placeholder example",
|
|
1476
1595
|
options: group_options,
|
|
1477
1596
|
optional: true,
|
|
1478
1597
|
searchable: true
|
|
1479
1598
|
})),
|
|
1480
|
-
getByRole =
|
|
1481
|
-
getAllByRole =
|
|
1482
|
-
getByText =
|
|
1483
|
-
queryByText =
|
|
1484
|
-
container =
|
|
1599
|
+
getByRole = _render40.getByRole,
|
|
1600
|
+
getAllByRole = _render40.getAllByRole,
|
|
1601
|
+
getByText = _render40.getByText,
|
|
1602
|
+
queryByText = _render40.queryByText,
|
|
1603
|
+
container = _render40.container;
|
|
1485
1604
|
|
|
1486
1605
|
var select = getByRole("combobox");
|
|
1487
1606
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1499,13 +1618,13 @@ describe("Select component tests", function () {
|
|
|
1499
1618
|
expect(getByText("No matches found")).toBeTruthy();
|
|
1500
1619
|
});
|
|
1501
1620
|
test("Grouped Options - Renders icons correctly when passed with group options", function () {
|
|
1502
|
-
var
|
|
1621
|
+
var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1503
1622
|
label: "test-select-label",
|
|
1504
1623
|
options: grouped_icon_options,
|
|
1505
1624
|
optional: true
|
|
1506
1625
|
})),
|
|
1507
|
-
getByRole =
|
|
1508
|
-
getAllByRole =
|
|
1626
|
+
getByRole = _render41.getByRole,
|
|
1627
|
+
getAllByRole = _render41.getAllByRole;
|
|
1509
1628
|
|
|
1510
1629
|
var select = getByRole("combobox");
|
|
1511
1630
|
|
|
@@ -1515,12 +1634,12 @@ describe("Select component tests", function () {
|
|
|
1515
1634
|
expect(getAllByRole("option").length).toBe(11);
|
|
1516
1635
|
});
|
|
1517
1636
|
test("Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
1518
|
-
var
|
|
1637
|
+
var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1519
1638
|
label: "test-select-label",
|
|
1520
1639
|
options: group_options
|
|
1521
1640
|
})),
|
|
1522
|
-
getByRole =
|
|
1523
|
-
queryByRole =
|
|
1641
|
+
getByRole = _render42.getByRole,
|
|
1642
|
+
queryByRole = _render42.queryByRole;
|
|
1524
1643
|
|
|
1525
1644
|
var select = getByRole("combobox");
|
|
1526
1645
|
|
|
@@ -1535,12 +1654,12 @@ describe("Select component tests", function () {
|
|
|
1535
1654
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1536
1655
|
});
|
|
1537
1656
|
test("Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
1538
|
-
var
|
|
1657
|
+
var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1539
1658
|
label: "test-select-label",
|
|
1540
1659
|
options: group_options
|
|
1541
1660
|
})),
|
|
1542
|
-
getByRole =
|
|
1543
|
-
queryByRole =
|
|
1661
|
+
getByRole = _render43.getByRole,
|
|
1662
|
+
queryByRole = _render43.queryByRole;
|
|
1544
1663
|
|
|
1545
1664
|
var select = getByRole("combobox");
|
|
1546
1665
|
|
|
@@ -1562,12 +1681,12 @@ describe("Select component tests", function () {
|
|
|
1562
1681
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1563
1682
|
});
|
|
1564
1683
|
test("Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
1565
|
-
var
|
|
1684
|
+
var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1566
1685
|
label: "test-select-label",
|
|
1567
1686
|
options: group_options
|
|
1568
1687
|
})),
|
|
1569
|
-
getByRole =
|
|
1570
|
-
queryByRole =
|
|
1688
|
+
getByRole = _render44.getByRole,
|
|
1689
|
+
queryByRole = _render44.queryByRole;
|
|
1571
1690
|
|
|
1572
1691
|
var select = getByRole("combobox");
|
|
1573
1692
|
|
|
@@ -1582,12 +1701,12 @@ describe("Select component tests", function () {
|
|
|
1582
1701
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1583
1702
|
});
|
|
1584
1703
|
test("Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
1585
|
-
var
|
|
1704
|
+
var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1586
1705
|
label: "test-select-label",
|
|
1587
1706
|
options: group_options
|
|
1588
1707
|
})),
|
|
1589
|
-
getByRole =
|
|
1590
|
-
queryByRole =
|
|
1708
|
+
getByRole = _render45.getByRole,
|
|
1709
|
+
queryByRole = _render45.queryByRole;
|
|
1591
1710
|
|
|
1592
1711
|
var select = getByRole("combobox");
|
|
1593
1712
|
|
|
@@ -1611,16 +1730,16 @@ describe("Select component tests", function () {
|
|
|
1611
1730
|
test("Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
1612
1731
|
var onChange = jest.fn();
|
|
1613
1732
|
|
|
1614
|
-
var
|
|
1733
|
+
var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1615
1734
|
label: "test-select-label",
|
|
1616
1735
|
options: group_options,
|
|
1617
1736
|
onChange: onChange,
|
|
1618
1737
|
optional: true
|
|
1619
1738
|
})),
|
|
1620
|
-
getByText =
|
|
1621
|
-
getByRole =
|
|
1622
|
-
getAllByRole =
|
|
1623
|
-
queryByRole =
|
|
1739
|
+
getByText = _render46.getByText,
|
|
1740
|
+
getByRole = _render46.getByRole,
|
|
1741
|
+
getAllByRole = _render46.getAllByRole,
|
|
1742
|
+
queryByRole = _render46.queryByRole;
|
|
1624
1743
|
|
|
1625
1744
|
var select = getByRole("combobox");
|
|
1626
1745
|
|
|
@@ -1660,8 +1779,7 @@ describe("Select component tests", function () {
|
|
|
1660
1779
|
});
|
|
1661
1780
|
|
|
1662
1781
|
expect(onChange).toHaveBeenCalledWith({
|
|
1663
|
-
value: "ebro"
|
|
1664
|
-
error: null
|
|
1782
|
+
value: "ebro"
|
|
1665
1783
|
});
|
|
1666
1784
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1667
1785
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1673,17 +1791,17 @@ describe("Select component tests", function () {
|
|
|
1673
1791
|
test("Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
1674
1792
|
var onChange = jest.fn();
|
|
1675
1793
|
|
|
1676
|
-
var
|
|
1794
|
+
var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1677
1795
|
label: "test-select-label",
|
|
1678
1796
|
options: group_options,
|
|
1679
1797
|
onChange: onChange,
|
|
1680
1798
|
searchable: true
|
|
1681
1799
|
})),
|
|
1682
|
-
container =
|
|
1683
|
-
getByText =
|
|
1684
|
-
getByRole =
|
|
1685
|
-
getAllByRole =
|
|
1686
|
-
queryByRole =
|
|
1800
|
+
container = _render47.container,
|
|
1801
|
+
getByText = _render47.getByText,
|
|
1802
|
+
getByRole = _render47.getByRole,
|
|
1803
|
+
getAllByRole = _render47.getAllByRole,
|
|
1804
|
+
queryByRole = _render47.queryByRole;
|
|
1687
1805
|
|
|
1688
1806
|
var select = getByRole("combobox");
|
|
1689
1807
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1703,8 +1821,7 @@ describe("Select component tests", function () {
|
|
|
1703
1821
|
_userEvent["default"].click(getAllByRole("option")[4]);
|
|
1704
1822
|
|
|
1705
1823
|
expect(onChange).toHaveBeenCalledWith({
|
|
1706
|
-
value: "ebro"
|
|
1707
|
-
error: null
|
|
1824
|
+
value: "ebro"
|
|
1708
1825
|
});
|
|
1709
1826
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1710
1827
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1717,15 +1834,15 @@ describe("Select component tests", function () {
|
|
|
1717
1834
|
test("Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
1718
1835
|
var onChange = jest.fn();
|
|
1719
1836
|
|
|
1720
|
-
var
|
|
1837
|
+
var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1721
1838
|
label: "test-select-label",
|
|
1722
1839
|
options: group_options,
|
|
1723
1840
|
onChange: onChange,
|
|
1724
1841
|
searchable: true
|
|
1725
1842
|
})),
|
|
1726
|
-
container =
|
|
1727
|
-
getByText =
|
|
1728
|
-
getByRole =
|
|
1843
|
+
container = _render48.container,
|
|
1844
|
+
getByText = _render48.getByText,
|
|
1845
|
+
getByRole = _render48.getByRole;
|
|
1729
1846
|
|
|
1730
1847
|
var select = getByRole("combobox");
|
|
1731
1848
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1741,19 +1858,19 @@ describe("Select component tests", function () {
|
|
|
1741
1858
|
test("Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
1742
1859
|
var onChange = jest.fn();
|
|
1743
1860
|
|
|
1744
|
-
var
|
|
1861
|
+
var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1745
1862
|
name: "test",
|
|
1746
1863
|
label: "test-select-label",
|
|
1747
1864
|
options: group_options,
|
|
1748
1865
|
onChange: onChange,
|
|
1749
1866
|
multiple: true
|
|
1750
1867
|
})),
|
|
1751
|
-
getByText =
|
|
1752
|
-
getAllByText =
|
|
1753
|
-
getByRole =
|
|
1754
|
-
getAllByRole =
|
|
1755
|
-
queryByRole =
|
|
1756
|
-
container =
|
|
1868
|
+
getByText = _render49.getByText,
|
|
1869
|
+
getAllByText = _render49.getAllByText,
|
|
1870
|
+
getByRole = _render49.getByRole,
|
|
1871
|
+
getAllByRole = _render49.getAllByRole,
|
|
1872
|
+
queryByRole = _render49.queryByRole,
|
|
1873
|
+
container = _render49.container;
|
|
1757
1874
|
|
|
1758
1875
|
var select = getByRole("combobox");
|
|
1759
1876
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1762,9 +1879,11 @@ describe("Select component tests", function () {
|
|
|
1762
1879
|
|
|
1763
1880
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
1764
1881
|
|
|
1765
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1766
|
-
|
|
1882
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1767
1883
|
|
|
1884
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1885
|
+
value: ["bilbao"]
|
|
1886
|
+
});
|
|
1768
1887
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1769
1888
|
expect(getAllByText("Bilbao").length).toBe(2);
|
|
1770
1889
|
|
|
@@ -1787,9 +1906,11 @@ describe("Select component tests", function () {
|
|
|
1787
1906
|
code: "Enter",
|
|
1788
1907
|
keyCode: 13,
|
|
1789
1908
|
charCode: 13
|
|
1790
|
-
});
|
|
1791
|
-
|
|
1909
|
+
});
|
|
1792
1910
|
|
|
1911
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1912
|
+
value: ["bilbao", "guadalquivir"]
|
|
1913
|
+
});
|
|
1793
1914
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1794
1915
|
expect(getByText("Bilbao, Guadalquivir")).toBeTruthy();
|
|
1795
1916
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
@@ -1799,19 +1920,19 @@ describe("Select component tests", function () {
|
|
|
1799
1920
|
test("Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
1800
1921
|
var onChange = jest.fn();
|
|
1801
1922
|
|
|
1802
|
-
var
|
|
1923
|
+
var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1803
1924
|
label: "test-select-label",
|
|
1804
1925
|
options: group_options,
|
|
1805
1926
|
onChange: onChange,
|
|
1806
1927
|
multiple: true
|
|
1807
1928
|
})),
|
|
1808
|
-
getByText =
|
|
1809
|
-
queryByText =
|
|
1810
|
-
getByRole =
|
|
1811
|
-
getAllByRole =
|
|
1812
|
-
queryByRole =
|
|
1813
|
-
getByTitle =
|
|
1814
|
-
queryByTitle =
|
|
1929
|
+
getByText = _render50.getByText,
|
|
1930
|
+
queryByText = _render50.queryByText,
|
|
1931
|
+
getByRole = _render50.getByRole,
|
|
1932
|
+
getAllByRole = _render50.getAllByRole,
|
|
1933
|
+
queryByRole = _render50.queryByRole,
|
|
1934
|
+
getByTitle = _render50.getByTitle,
|
|
1935
|
+
queryByTitle = _render50.queryByTitle;
|
|
1815
1936
|
|
|
1816
1937
|
var select = getByRole("combobox");
|
|
1817
1938
|
|
|
@@ -1823,9 +1944,11 @@ describe("Select component tests", function () {
|
|
|
1823
1944
|
|
|
1824
1945
|
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1825
1946
|
|
|
1826
|
-
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1827
|
-
|
|
1947
|
+
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1828
1948
|
|
|
1949
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1950
|
+
value: ["blanco", "oviedo", "duero", "ebro"]
|
|
1951
|
+
});
|
|
1829
1952
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1830
1953
|
expect(getByText("Blanco, Oviedo, Duero, Ebro")).toBeTruthy();
|
|
1831
1954
|
expect(getByText("4", {
|
|
@@ -1842,7 +1965,7 @@ describe("Select component tests", function () {
|
|
|
1842
1965
|
test("Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1843
1966
|
var onChange = jest.fn();
|
|
1844
1967
|
|
|
1845
|
-
var
|
|
1968
|
+
var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1846
1969
|
label: "test-select-label",
|
|
1847
1970
|
placeholder: "Choose an option",
|
|
1848
1971
|
options: group_options,
|
|
@@ -1850,10 +1973,10 @@ describe("Select component tests", function () {
|
|
|
1850
1973
|
multiple: true,
|
|
1851
1974
|
optional: true
|
|
1852
1975
|
})),
|
|
1853
|
-
getByText =
|
|
1854
|
-
getAllByText =
|
|
1855
|
-
getByRole =
|
|
1856
|
-
getAllByRole =
|
|
1976
|
+
getByText = _render51.getByText,
|
|
1977
|
+
getAllByText = _render51.getAllByText,
|
|
1978
|
+
getByRole = _render51.getByRole,
|
|
1979
|
+
getAllByRole = _render51.getAllByRole;
|
|
1857
1980
|
|
|
1858
1981
|
var select = getByRole("combobox");
|
|
1859
1982
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1863,19 +1986,21 @@ describe("Select component tests", function () {
|
|
|
1863
1986
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1864
1987
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1865
1988
|
|
|
1866
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1867
|
-
|
|
1989
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1868
1990
|
|
|
1991
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1992
|
+
value: ["azul"]
|
|
1993
|
+
});
|
|
1869
1994
|
expect(getAllByText("Azul").length).toBe(2);
|
|
1870
1995
|
});
|
|
1871
1996
|
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
|
|
1997
|
+
var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1873
1998
|
label: "test-select-label",
|
|
1874
1999
|
options: group_options
|
|
1875
2000
|
})),
|
|
1876
|
-
getByText =
|
|
1877
|
-
getByRole =
|
|
1878
|
-
getAllByRole =
|
|
2001
|
+
getByText = _render52.getByText,
|
|
2002
|
+
getByRole = _render52.getByRole,
|
|
2003
|
+
getAllByRole = _render52.getAllByRole;
|
|
1879
2004
|
|
|
1880
2005
|
var select = getByRole("combobox");
|
|
1881
2006
|
|
|
@@ -1943,13 +2068,13 @@ describe("Select component tests", function () {
|
|
|
1943
2068
|
expect(getByText("Verde")).toBeTruthy();
|
|
1944
2069
|
});
|
|
1945
2070
|
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
|
|
2071
|
+
var _render53 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1947
2072
|
label: "test-select-label",
|
|
1948
2073
|
options: group_options
|
|
1949
2074
|
})),
|
|
1950
|
-
getByText =
|
|
1951
|
-
getByRole =
|
|
1952
|
-
getAllByRole =
|
|
2075
|
+
getByText = _render53.getByText,
|
|
2076
|
+
getByRole = _render53.getByRole,
|
|
2077
|
+
getAllByRole = _render53.getAllByRole;
|
|
1953
2078
|
|
|
1954
2079
|
var select = getByRole("combobox");
|
|
1955
2080
|
|
|
@@ -2013,4 +2138,38 @@ describe("Select component tests", function () {
|
|
|
2013
2138
|
|
|
2014
2139
|
expect(getByText("Azul")).toBeTruthy();
|
|
2015
2140
|
});
|
|
2141
|
+
test("Multiple selection and optional - Clear action cleans every selected option but does not display an error", function () {
|
|
2142
|
+
var onChange = jest.fn();
|
|
2143
|
+
|
|
2144
|
+
var _render54 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
2145
|
+
label: "test-select-label",
|
|
2146
|
+
options: single_options,
|
|
2147
|
+
onChange: onChange,
|
|
2148
|
+
multiple: true,
|
|
2149
|
+
optional: true
|
|
2150
|
+
})),
|
|
2151
|
+
getByRole = _render54.getByRole,
|
|
2152
|
+
getAllByRole = _render54.getAllByRole,
|
|
2153
|
+
getByTitle = _render54.getByTitle;
|
|
2154
|
+
|
|
2155
|
+
var select = getByRole("combobox");
|
|
2156
|
+
|
|
2157
|
+
_userEvent["default"].click(select);
|
|
2158
|
+
|
|
2159
|
+
_userEvent["default"].click(getAllByRole("option")[5]);
|
|
2160
|
+
|
|
2161
|
+
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
2162
|
+
|
|
2163
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
2164
|
+
|
|
2165
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2166
|
+
value: ["6", "9", "14"]
|
|
2167
|
+
});
|
|
2168
|
+
|
|
2169
|
+
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
2170
|
+
|
|
2171
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2172
|
+
value: []
|
|
2173
|
+
});
|
|
2174
|
+
});
|
|
2016
2175
|
});
|