@dxc-technology/halstack-react 0.0.0-301f60b → 0.0.0-335f028
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 +10 -0
- package/{ThemeContext.js → HalstackContext.js} +6 -6
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +7 -28
- package/accordion/Accordion.stories.tsx +11 -11
- package/accordion/Accordion.test.js +19 -4
- package/accordion/types.d.ts +4 -0
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +4 -0
- package/bleed/types.d.ts +24 -0
- package/button/Button.js +14 -11
- package/card/Card.js +27 -28
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +40 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +13 -0
- package/checkbox/types.d.ts +7 -3
- package/common/variables.js +6 -7
- package/date-input/DateInput.js +50 -39
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +69 -59
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +4 -32
- package/dropdown/Dropdown.js +13 -17
- package/footer/Footer.js +10 -85
- package/header/Header.js +20 -44
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/inset/types.d.ts +24 -0
- package/layout/ApplicationLayout.js +5 -18
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -56
- package/link/Link.stories.tsx +87 -52
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +8 -23
- package/main.d.ts +3 -2
- package/main.js +13 -5
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +16 -9
- package/package.json +6 -5
- package/password-input/PasswordInput.test.js +2 -4
- package/password-input/types.d.ts +13 -10
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +64 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.js +10 -11
- package/row/types.d.ts +18 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +148 -0
- package/select/Option.js +1 -1
- package/select/Select.js +71 -156
- package/select/Select.stories.tsx +19 -19
- package/select/Select.test.js +405 -248
- package/select/types.d.ts +42 -12
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +31 -10
- package/slider/types.d.ts +4 -0
- package/stack/types.d.ts +15 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +32 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +25 -0
- package/switch/types.d.ts +6 -2
- 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 +4 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/text-input/TextInput.js +2 -4
- package/text-input/TextInput.test.js +21 -34
- package/text-input/types.d.ts +13 -10
- package/textarea/Textarea.js +2 -4
- package/textarea/Textarea.test.js +10 -20
- package/textarea/types.d.ts +13 -10
- 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 +8 -0
- package/useTheme.js +2 -2
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +28 -19
- package/wizard/Wizard.stories.tsx +13 -23
- package/wizard/Wizard.test.js +36 -23
- package/wizard/types.d.ts +6 -2
- package/ThemeContext.d.ts +0 -10
package/select/Select.test.js
CHANGED
|
@@ -317,8 +317,92 @@ describe("Select component tests", function () {
|
|
|
317
317
|
expect(select.getAttribute("aria-invalid")).toBe("true");
|
|
318
318
|
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
319
319
|
});
|
|
320
|
-
test("
|
|
320
|
+
test("Renders with correct aria attributes", function () {
|
|
321
321
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
322
|
+
label: "test-select-label",
|
|
323
|
+
placeholder: "Example",
|
|
324
|
+
options: single_options
|
|
325
|
+
})),
|
|
326
|
+
getByText = _render5.getByText,
|
|
327
|
+
getByRole = _render5.getByRole;
|
|
328
|
+
|
|
329
|
+
var select = getByRole("combobox");
|
|
330
|
+
var label = getByText("test-select-label");
|
|
331
|
+
expect(select.getAttribute("aria-disabled")).toBe("false");
|
|
332
|
+
expect(select.getAttribute("aria-haspopup")).toBe("listbox");
|
|
333
|
+
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
334
|
+
expect(select.getAttribute("aria-required")).toBe("true");
|
|
335
|
+
expect(select.getAttribute("aria-labelledby")).toBe(label.id);
|
|
336
|
+
expect(select.getAttribute("aria-activedescendant")).toBeNull();
|
|
337
|
+
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
338
|
+
|
|
339
|
+
_userEvent["default"].click(select);
|
|
340
|
+
|
|
341
|
+
var list = getByRole("listbox");
|
|
342
|
+
expect(select.getAttribute("aria-controls")).toBe(list.id);
|
|
343
|
+
expect(list.getAttribute("aria-multiselectable")).toBe("false");
|
|
344
|
+
});
|
|
345
|
+
test("Single selection: Renders with correct default value", function () {
|
|
346
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
347
|
+
label: "test-select-label",
|
|
348
|
+
name: "test",
|
|
349
|
+
defaultValue: "4",
|
|
350
|
+
options: single_options
|
|
351
|
+
})),
|
|
352
|
+
getByText = _render6.getByText,
|
|
353
|
+
getByRole = _render6.getByRole,
|
|
354
|
+
getAllByRole = _render6.getAllByRole,
|
|
355
|
+
queryByRole = _render6.queryByRole,
|
|
356
|
+
container = _render6.container;
|
|
357
|
+
|
|
358
|
+
var select = getByRole("combobox");
|
|
359
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
360
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
361
|
+
expect(getByText("Option 04")).toBeTruthy();
|
|
362
|
+
expect(submitInput.value).toBe("4");
|
|
363
|
+
|
|
364
|
+
_userEvent["default"].click(select);
|
|
365
|
+
|
|
366
|
+
expect(getAllByRole("option")[3].getAttribute("aria-selected")).toBe("true");
|
|
367
|
+
|
|
368
|
+
_userEvent["default"].click(getAllByRole("option")[7]);
|
|
369
|
+
|
|
370
|
+
expect(getByText("Option 08")).toBeTruthy();
|
|
371
|
+
expect(submitInput.value).toBe("8");
|
|
372
|
+
});
|
|
373
|
+
test("Multiple selection: Renders with correct default value", function () {
|
|
374
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
375
|
+
label: "test-select-label",
|
|
376
|
+
name: "test",
|
|
377
|
+
defaultValue: ["4", "2", "6"],
|
|
378
|
+
options: single_options,
|
|
379
|
+
multiple: true
|
|
380
|
+
})),
|
|
381
|
+
getByText = _render7.getByText,
|
|
382
|
+
getByRole = _render7.getByRole,
|
|
383
|
+
getAllByRole = _render7.getAllByRole,
|
|
384
|
+
queryByRole = _render7.queryByRole,
|
|
385
|
+
container = _render7.container;
|
|
386
|
+
|
|
387
|
+
var select = getByRole("combobox");
|
|
388
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
389
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
390
|
+
expect(getByText("Option 02, Option 04, Option 06")).toBeTruthy();
|
|
391
|
+
expect(submitInput.value).toBe("4,2,6");
|
|
392
|
+
|
|
393
|
+
_userEvent["default"].click(select);
|
|
394
|
+
|
|
395
|
+
expect(getAllByRole("option")[3].getAttribute("aria-selected")).toBe("true");
|
|
396
|
+
expect(getAllByRole("option")[1].getAttribute("aria-selected")).toBe("true");
|
|
397
|
+
expect(getAllByRole("option")[5].getAttribute("aria-selected")).toBe("true");
|
|
398
|
+
|
|
399
|
+
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
400
|
+
|
|
401
|
+
expect(getByText("Option 02, Option 03, Option 04, Option 06")).toBeTruthy();
|
|
402
|
+
expect(submitInput.value).toBe("4,2,6,3");
|
|
403
|
+
});
|
|
404
|
+
test("Disabled select - Clear all options action must be shown but not clickable", function () {
|
|
405
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
322
406
|
label: "test-select-label",
|
|
323
407
|
value: ["1", "2"],
|
|
324
408
|
options: single_options,
|
|
@@ -326,9 +410,9 @@ describe("Select component tests", function () {
|
|
|
326
410
|
searchable: true,
|
|
327
411
|
multiple: true
|
|
328
412
|
})),
|
|
329
|
-
getByRole =
|
|
330
|
-
getByText =
|
|
331
|
-
queryByRole =
|
|
413
|
+
getByRole = _render8.getByRole,
|
|
414
|
+
getByText = _render8.getByText,
|
|
415
|
+
queryByRole = _render8.queryByRole;
|
|
332
416
|
|
|
333
417
|
var select = getByRole("combobox");
|
|
334
418
|
expect(select.getAttribute("aria-disabled")).toBe("true");
|
|
@@ -342,7 +426,7 @@ describe("Select component tests", function () {
|
|
|
342
426
|
expect(getByText("Option 01, Option 02")).toBeTruthy();
|
|
343
427
|
});
|
|
344
428
|
test("Focused select does not open the listbox", function () {
|
|
345
|
-
var
|
|
429
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
346
430
|
label: "test-select-label",
|
|
347
431
|
value: ["1", "2"],
|
|
348
432
|
options: single_options,
|
|
@@ -350,8 +434,8 @@ describe("Select component tests", function () {
|
|
|
350
434
|
searchable: true,
|
|
351
435
|
multiple: true
|
|
352
436
|
})),
|
|
353
|
-
getByRole =
|
|
354
|
-
queryByRole =
|
|
437
|
+
getByRole = _render9.getByRole,
|
|
438
|
+
queryByRole = _render9.queryByRole;
|
|
355
439
|
|
|
356
440
|
var select = getByRole("combobox");
|
|
357
441
|
|
|
@@ -363,14 +447,14 @@ describe("Select component tests", function () {
|
|
|
363
447
|
var onChange = jest.fn();
|
|
364
448
|
var onBlur = jest.fn();
|
|
365
449
|
|
|
366
|
-
var
|
|
450
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
367
451
|
label: "test-select-label",
|
|
368
452
|
options: single_options,
|
|
369
453
|
onChange: onChange,
|
|
370
454
|
onBlur: onBlur
|
|
371
455
|
})),
|
|
372
|
-
getByRole =
|
|
373
|
-
getAllByRole =
|
|
456
|
+
getByRole = _render10.getByRole,
|
|
457
|
+
getAllByRole = _render10.getAllByRole;
|
|
374
458
|
|
|
375
459
|
var select = getByRole("combobox");
|
|
376
460
|
expect(select.getAttribute("aria-required")).toBe("true");
|
|
@@ -391,8 +475,7 @@ describe("Select component tests", function () {
|
|
|
391
475
|
|
|
392
476
|
expect(onChange).toHaveBeenCalled();
|
|
393
477
|
expect(onChange).toHaveBeenCalledWith({
|
|
394
|
-
value: "1"
|
|
395
|
-
error: null
|
|
478
|
+
value: "1"
|
|
396
479
|
});
|
|
397
480
|
|
|
398
481
|
_react2.fireEvent.focus(select);
|
|
@@ -401,22 +484,21 @@ describe("Select component tests", function () {
|
|
|
401
484
|
|
|
402
485
|
expect(onBlur).toHaveBeenCalled();
|
|
403
486
|
expect(onBlur).toHaveBeenCalledWith({
|
|
404
|
-
value: "1"
|
|
405
|
-
error: null
|
|
487
|
+
value: "1"
|
|
406
488
|
});
|
|
407
489
|
});
|
|
408
490
|
test("Controlled - Optional constraint", function () {
|
|
409
491
|
var onChange = jest.fn();
|
|
410
492
|
var onBlur = jest.fn();
|
|
411
493
|
|
|
412
|
-
var
|
|
494
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
413
495
|
label: "test-select-label",
|
|
414
496
|
options: single_options,
|
|
415
497
|
onChange: onChange,
|
|
416
498
|
onBlur: onBlur,
|
|
417
499
|
optional: true
|
|
418
500
|
})),
|
|
419
|
-
getByRole =
|
|
501
|
+
getByRole = _render11.getByRole;
|
|
420
502
|
|
|
421
503
|
var select = getByRole("combobox");
|
|
422
504
|
expect(select.getAttribute("aria-required")).toBe("false");
|
|
@@ -427,20 +509,19 @@ describe("Select component tests", function () {
|
|
|
427
509
|
|
|
428
510
|
expect(onBlur).toHaveBeenCalled();
|
|
429
511
|
expect(onBlur).toHaveBeenCalledWith({
|
|
430
|
-
value: ""
|
|
431
|
-
error: null
|
|
512
|
+
value: ""
|
|
432
513
|
});
|
|
433
514
|
expect(select.getAttribute("aria-invalid")).toBe("false");
|
|
434
515
|
});
|
|
435
516
|
test("Non-Grouped Options - Opens listbox and renders correctly or closes it with a click on select", function () {
|
|
436
|
-
var
|
|
517
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
437
518
|
label: "test-select-label",
|
|
438
519
|
options: single_options
|
|
439
520
|
})),
|
|
440
|
-
getByText =
|
|
441
|
-
getByRole =
|
|
442
|
-
getAllByRole =
|
|
443
|
-
queryByRole =
|
|
521
|
+
getByText = _render12.getByText,
|
|
522
|
+
getByRole = _render12.getByRole,
|
|
523
|
+
getAllByRole = _render12.getAllByRole,
|
|
524
|
+
queryByRole = _render12.queryByRole;
|
|
444
525
|
|
|
445
526
|
var select = getByRole("combobox");
|
|
446
527
|
|
|
@@ -460,12 +541,12 @@ describe("Select component tests", function () {
|
|
|
460
541
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
461
542
|
});
|
|
462
543
|
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
|
|
544
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
464
545
|
label: "test-select-label",
|
|
465
546
|
options: []
|
|
466
547
|
})),
|
|
467
|
-
getByRole =
|
|
468
|
-
queryByRole =
|
|
548
|
+
getByRole = _render13.getByRole,
|
|
549
|
+
queryByRole = _render13.queryByRole;
|
|
469
550
|
|
|
470
551
|
var select = getByRole("combobox");
|
|
471
552
|
|
|
@@ -477,17 +558,17 @@ describe("Select component tests", function () {
|
|
|
477
558
|
test("Non-Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
478
559
|
var onChange = jest.fn();
|
|
479
560
|
|
|
480
|
-
var
|
|
561
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
481
562
|
name: "test",
|
|
482
563
|
label: "test-select-label",
|
|
483
564
|
options: single_options,
|
|
484
565
|
onChange: onChange
|
|
485
566
|
})),
|
|
486
|
-
getByText =
|
|
487
|
-
getByRole =
|
|
488
|
-
getAllByRole =
|
|
489
|
-
queryByRole =
|
|
490
|
-
container =
|
|
567
|
+
getByText = _render14.getByText,
|
|
568
|
+
getByRole = _render14.getByRole,
|
|
569
|
+
getAllByRole = _render14.getAllByRole,
|
|
570
|
+
queryByRole = _render14.queryByRole,
|
|
571
|
+
container = _render14.container;
|
|
491
572
|
|
|
492
573
|
var select = getByRole("combobox");
|
|
493
574
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -497,8 +578,7 @@ describe("Select component tests", function () {
|
|
|
497
578
|
_userEvent["default"].click(getAllByRole("option")[2]);
|
|
498
579
|
|
|
499
580
|
expect(onChange).toHaveBeenCalledWith({
|
|
500
|
-
value: "3"
|
|
501
|
-
error: null
|
|
581
|
+
value: "3"
|
|
502
582
|
});
|
|
503
583
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
504
584
|
expect(getByText("Option 03")).toBeTruthy();
|
|
@@ -511,16 +591,16 @@ describe("Select component tests", function () {
|
|
|
511
591
|
test("Non-Grouped Options - Optional renders an empty first option (selected by default) with the placeholder as its label", function () {
|
|
512
592
|
var onChange = jest.fn();
|
|
513
593
|
|
|
514
|
-
var
|
|
594
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
515
595
|
label: "test-select-label",
|
|
516
596
|
placeholder: "Choose an option",
|
|
517
597
|
options: single_options,
|
|
518
598
|
onChange: onChange,
|
|
519
599
|
optional: true
|
|
520
600
|
})),
|
|
521
|
-
getByRole =
|
|
522
|
-
getAllByRole =
|
|
523
|
-
getAllByText =
|
|
601
|
+
getByRole = _render15.getByRole,
|
|
602
|
+
getAllByRole = _render15.getAllByRole,
|
|
603
|
+
getAllByText = _render15.getAllByText;
|
|
524
604
|
|
|
525
605
|
var select = getByRole("combobox");
|
|
526
606
|
|
|
@@ -532,8 +612,7 @@ describe("Select component tests", function () {
|
|
|
532
612
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
533
613
|
|
|
534
614
|
expect(onChange).toHaveBeenCalledWith({
|
|
535
|
-
value: ""
|
|
536
|
-
error: null
|
|
615
|
+
value: ""
|
|
537
616
|
});
|
|
538
617
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
539
618
|
|
|
@@ -554,8 +633,7 @@ describe("Select component tests", function () {
|
|
|
554
633
|
});
|
|
555
634
|
|
|
556
635
|
expect(onChange).toHaveBeenCalledWith({
|
|
557
|
-
value: ""
|
|
558
|
-
error: null
|
|
636
|
+
value: ""
|
|
559
637
|
});
|
|
560
638
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
561
639
|
|
|
@@ -568,13 +646,42 @@ describe("Select component tests", function () {
|
|
|
568
646
|
|
|
569
647
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
570
648
|
});
|
|
649
|
+
test("Non-Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
650
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
651
|
+
label: "test-select-label",
|
|
652
|
+
placeholder: "Placeholder example",
|
|
653
|
+
options: single_options,
|
|
654
|
+
optional: true,
|
|
655
|
+
searchable: true
|
|
656
|
+
})),
|
|
657
|
+
getByRole = _render16.getByRole,
|
|
658
|
+
getAllByRole = _render16.getAllByRole,
|
|
659
|
+
getByText = _render16.getByText,
|
|
660
|
+
queryByText = _render16.queryByText,
|
|
661
|
+
container = _render16.container;
|
|
662
|
+
|
|
663
|
+
var select = getByRole("combobox");
|
|
664
|
+
var searchInput = container.querySelectorAll("input")[1];
|
|
665
|
+
|
|
666
|
+
_userEvent["default"].click(select);
|
|
667
|
+
|
|
668
|
+
_userEvent["default"].type(searchInput, "1");
|
|
669
|
+
|
|
670
|
+
expect(getByText("Placeholder example")).toBeTruthy();
|
|
671
|
+
expect(getAllByRole("option").length).toBe(12);
|
|
672
|
+
|
|
673
|
+
_userEvent["default"].type(searchInput, "123");
|
|
674
|
+
|
|
675
|
+
expect(queryByText("Placeholder example")).toBeFalsy();
|
|
676
|
+
expect(getByText("No matches found")).toBeTruthy();
|
|
677
|
+
});
|
|
571
678
|
test("Non-Grouped Options - Renders SVG icons correctly when passed with options", function () {
|
|
572
|
-
var
|
|
679
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
573
680
|
label: "test-select-label",
|
|
574
681
|
options: svg_icon_options
|
|
575
682
|
})),
|
|
576
|
-
getByRole =
|
|
577
|
-
getAllByRole =
|
|
683
|
+
getByRole = _render17.getByRole,
|
|
684
|
+
getAllByRole = _render17.getAllByRole;
|
|
578
685
|
|
|
579
686
|
var select = getByRole("combobox");
|
|
580
687
|
|
|
@@ -584,13 +691,13 @@ describe("Select component tests", function () {
|
|
|
584
691
|
expect(getAllByRole("option").length).toBe(5);
|
|
585
692
|
});
|
|
586
693
|
test("Non-Grouped Options - Renders string url icons correctly when passed with options", function () {
|
|
587
|
-
var
|
|
694
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
588
695
|
label: "test-select-label",
|
|
589
696
|
options: url_icon_options,
|
|
590
697
|
optional: true
|
|
591
698
|
})),
|
|
592
|
-
getByRole =
|
|
593
|
-
getAllByRole =
|
|
699
|
+
getByRole = _render18.getByRole,
|
|
700
|
+
getAllByRole = _render18.getAllByRole;
|
|
594
701
|
|
|
595
702
|
var select = getByRole("combobox");
|
|
596
703
|
|
|
@@ -600,12 +707,12 @@ describe("Select component tests", function () {
|
|
|
600
707
|
expect(getAllByRole("option").length).toBe(6);
|
|
601
708
|
});
|
|
602
709
|
test("Non-Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
603
|
-
var
|
|
710
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
604
711
|
label: "test-select-label",
|
|
605
712
|
options: single_options
|
|
606
713
|
})),
|
|
607
|
-
getByRole =
|
|
608
|
-
queryByRole =
|
|
714
|
+
getByRole = _render19.getByRole,
|
|
715
|
+
queryByRole = _render19.queryByRole;
|
|
609
716
|
|
|
610
717
|
var select = getByRole("combobox");
|
|
611
718
|
|
|
@@ -620,12 +727,12 @@ describe("Select component tests", function () {
|
|
|
620
727
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
621
728
|
});
|
|
622
729
|
test("Non-Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
623
|
-
var
|
|
730
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
624
731
|
label: "test-select-label",
|
|
625
732
|
options: single_options
|
|
626
733
|
})),
|
|
627
|
-
getByRole =
|
|
628
|
-
queryByRole =
|
|
734
|
+
getByRole = _render20.getByRole,
|
|
735
|
+
queryByRole = _render20.queryByRole;
|
|
629
736
|
|
|
630
737
|
var select = getByRole("combobox");
|
|
631
738
|
|
|
@@ -647,12 +754,12 @@ describe("Select component tests", function () {
|
|
|
647
754
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-19");
|
|
648
755
|
});
|
|
649
756
|
test("Non-Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
650
|
-
var
|
|
757
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
651
758
|
label: "test-select-label",
|
|
652
759
|
options: single_options
|
|
653
760
|
})),
|
|
654
|
-
getByRole =
|
|
655
|
-
queryByRole =
|
|
761
|
+
getByRole = _render21.getByRole,
|
|
762
|
+
queryByRole = _render21.queryByRole;
|
|
656
763
|
|
|
657
764
|
var select = getByRole("combobox");
|
|
658
765
|
|
|
@@ -667,12 +774,12 @@ describe("Select component tests", function () {
|
|
|
667
774
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
668
775
|
});
|
|
669
776
|
test("Non-Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
670
|
-
var
|
|
777
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
671
778
|
label: "test-select-label",
|
|
672
779
|
options: single_options
|
|
673
780
|
})),
|
|
674
|
-
getByRole =
|
|
675
|
-
queryByRole =
|
|
781
|
+
getByRole = _render22.getByRole,
|
|
782
|
+
queryByRole = _render22.queryByRole;
|
|
676
783
|
|
|
677
784
|
var select = getByRole("combobox");
|
|
678
785
|
|
|
@@ -696,16 +803,16 @@ describe("Select component tests", function () {
|
|
|
696
803
|
test("Non-Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
697
804
|
var onChange = jest.fn();
|
|
698
805
|
|
|
699
|
-
var
|
|
806
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
700
807
|
label: "test-select-label",
|
|
701
808
|
options: single_options,
|
|
702
809
|
onChange: onChange,
|
|
703
810
|
optional: true
|
|
704
811
|
})),
|
|
705
|
-
getByText =
|
|
706
|
-
getByRole =
|
|
707
|
-
getAllByRole =
|
|
708
|
-
queryByRole =
|
|
812
|
+
getByText = _render23.getByText,
|
|
813
|
+
getByRole = _render23.getByRole,
|
|
814
|
+
getAllByRole = _render23.getAllByRole,
|
|
815
|
+
queryByRole = _render23.queryByRole;
|
|
709
816
|
|
|
710
817
|
var select = getByRole("combobox");
|
|
711
818
|
|
|
@@ -745,8 +852,7 @@ describe("Select component tests", function () {
|
|
|
745
852
|
});
|
|
746
853
|
|
|
747
854
|
expect(onChange).toHaveBeenCalledWith({
|
|
748
|
-
value: "20"
|
|
749
|
-
error: null
|
|
855
|
+
value: "20"
|
|
750
856
|
});
|
|
751
857
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
752
858
|
expect(getByText("Option 20")).toBeTruthy();
|
|
@@ -758,17 +864,17 @@ describe("Select component tests", function () {
|
|
|
758
864
|
test("Non-Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
759
865
|
var onChange = jest.fn();
|
|
760
866
|
|
|
761
|
-
var
|
|
867
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
762
868
|
label: "test-select-label",
|
|
763
869
|
options: single_options,
|
|
764
870
|
onChange: onChange,
|
|
765
871
|
searchable: true
|
|
766
872
|
})),
|
|
767
|
-
container =
|
|
768
|
-
getByText =
|
|
769
|
-
getByRole =
|
|
770
|
-
getAllByRole =
|
|
771
|
-
queryByRole =
|
|
873
|
+
container = _render24.container,
|
|
874
|
+
getByText = _render24.getByText,
|
|
875
|
+
getByRole = _render24.getByRole,
|
|
876
|
+
getAllByRole = _render24.getAllByRole,
|
|
877
|
+
queryByRole = _render24.queryByRole;
|
|
772
878
|
|
|
773
879
|
var select = getByRole("combobox");
|
|
774
880
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -782,8 +888,7 @@ describe("Select component tests", function () {
|
|
|
782
888
|
_userEvent["default"].click(getByRole("option"));
|
|
783
889
|
|
|
784
890
|
expect(onChange).toHaveBeenCalledWith({
|
|
785
|
-
value: "8"
|
|
786
|
-
error: null
|
|
891
|
+
value: "8"
|
|
787
892
|
});
|
|
788
893
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
789
894
|
expect(getByText("Option 08")).toBeTruthy();
|
|
@@ -796,15 +901,15 @@ describe("Select component tests", function () {
|
|
|
796
901
|
test("Non-Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
797
902
|
var onChange = jest.fn();
|
|
798
903
|
|
|
799
|
-
var
|
|
904
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
800
905
|
label: "test-select-label",
|
|
801
906
|
options: single_options,
|
|
802
907
|
onChange: onChange,
|
|
803
908
|
searchable: true
|
|
804
909
|
})),
|
|
805
|
-
container =
|
|
806
|
-
getByText =
|
|
807
|
-
getByRole =
|
|
910
|
+
container = _render25.container,
|
|
911
|
+
getByText = _render25.getByText,
|
|
912
|
+
getByRole = _render25.getByRole;
|
|
808
913
|
|
|
809
914
|
var select = getByRole("combobox");
|
|
810
915
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -820,16 +925,16 @@ describe("Select component tests", function () {
|
|
|
820
925
|
test("Non-Grouped Options: Searchable - Clicking the select, when the list is open, clears the search value", function () {
|
|
821
926
|
var onChange = jest.fn();
|
|
822
927
|
|
|
823
|
-
var
|
|
928
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
824
929
|
label: "test-select-label",
|
|
825
930
|
options: single_options,
|
|
826
931
|
onChange: onChange,
|
|
827
932
|
searchable: true
|
|
828
933
|
})),
|
|
829
|
-
container =
|
|
830
|
-
getByText =
|
|
831
|
-
getByRole =
|
|
832
|
-
getAllByRole =
|
|
934
|
+
container = _render26.container,
|
|
935
|
+
getByText = _render26.getByText,
|
|
936
|
+
getByRole = _render26.getByRole,
|
|
937
|
+
getAllByRole = _render26.getAllByRole;
|
|
833
938
|
|
|
834
939
|
var select = getByRole("combobox");
|
|
835
940
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -852,15 +957,15 @@ describe("Select component tests", function () {
|
|
|
852
957
|
test("Non-Grouped Options: Searchable - Writing displays the listbox, if it was not open", function () {
|
|
853
958
|
var onChange = jest.fn();
|
|
854
959
|
|
|
855
|
-
var
|
|
960
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
856
961
|
label: "test-select-label",
|
|
857
962
|
options: single_options,
|
|
858
963
|
onChange: onChange,
|
|
859
964
|
searchable: true
|
|
860
965
|
})),
|
|
861
|
-
container =
|
|
862
|
-
getByRole =
|
|
863
|
-
queryByRole =
|
|
966
|
+
container = _render27.container,
|
|
967
|
+
getByRole = _render27.getByRole,
|
|
968
|
+
queryByRole = _render27.queryByRole;
|
|
864
969
|
|
|
865
970
|
var select = getByRole("combobox");
|
|
866
971
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -878,15 +983,15 @@ describe("Select component tests", function () {
|
|
|
878
983
|
test("Non-Grouped Options: Searchable - Key Esc cleans the search value and closes the options", function () {
|
|
879
984
|
var onChange = jest.fn();
|
|
880
985
|
|
|
881
|
-
var
|
|
986
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
882
987
|
label: "test-select-label",
|
|
883
988
|
options: single_options,
|
|
884
989
|
onChange: onChange,
|
|
885
990
|
searchable: true
|
|
886
991
|
})),
|
|
887
|
-
container =
|
|
888
|
-
getByRole =
|
|
889
|
-
queryByRole =
|
|
992
|
+
container = _render28.container,
|
|
993
|
+
getByRole = _render28.getByRole,
|
|
994
|
+
queryByRole = _render28.queryByRole;
|
|
890
995
|
|
|
891
996
|
var select = getByRole("combobox");
|
|
892
997
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -906,16 +1011,16 @@ describe("Select component tests", function () {
|
|
|
906
1011
|
test("Non-Grouped Options: Searchable - While user types, a clear action is displayed for cleaning the search value", function () {
|
|
907
1012
|
var onChange = jest.fn();
|
|
908
1013
|
|
|
909
|
-
var
|
|
1014
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
910
1015
|
label: "test-select-label",
|
|
911
1016
|
options: single_options,
|
|
912
1017
|
onChange: onChange,
|
|
913
1018
|
searchable: true
|
|
914
1019
|
})),
|
|
915
|
-
container =
|
|
916
|
-
getByRole =
|
|
917
|
-
getAllByRole =
|
|
918
|
-
queryByTitle =
|
|
1020
|
+
container = _render29.container,
|
|
1021
|
+
getByRole = _render29.getByRole,
|
|
1022
|
+
getAllByRole = _render29.getAllByRole,
|
|
1023
|
+
queryByTitle = _render29.queryByTitle;
|
|
919
1024
|
|
|
920
1025
|
var searchInput = container.querySelectorAll("input")[1];
|
|
921
1026
|
|
|
@@ -935,19 +1040,19 @@ describe("Select component tests", function () {
|
|
|
935
1040
|
test("Non-Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
936
1041
|
var onChange = jest.fn();
|
|
937
1042
|
|
|
938
|
-
var
|
|
1043
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
939
1044
|
name: "test",
|
|
940
1045
|
label: "test-select-label",
|
|
941
1046
|
options: single_options,
|
|
942
1047
|
onChange: onChange,
|
|
943
1048
|
multiple: true
|
|
944
1049
|
})),
|
|
945
|
-
getByText =
|
|
946
|
-
getAllByText =
|
|
947
|
-
getByRole =
|
|
948
|
-
getAllByRole =
|
|
949
|
-
queryByRole =
|
|
950
|
-
container =
|
|
1050
|
+
getByText = _render30.getByText,
|
|
1051
|
+
getAllByText = _render30.getAllByText,
|
|
1052
|
+
getByRole = _render30.getByRole,
|
|
1053
|
+
getAllByRole = _render30.getAllByRole,
|
|
1054
|
+
queryByRole = _render30.queryByRole,
|
|
1055
|
+
container = _render30.container;
|
|
951
1056
|
|
|
952
1057
|
var select = getByRole("combobox");
|
|
953
1058
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -956,9 +1061,11 @@ describe("Select component tests", function () {
|
|
|
956
1061
|
|
|
957
1062
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
958
1063
|
|
|
959
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
960
|
-
|
|
1064
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
961
1065
|
|
|
1066
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1067
|
+
value: ["11"]
|
|
1068
|
+
});
|
|
962
1069
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
963
1070
|
expect(getAllByText("Option 11").length).toBe(2);
|
|
964
1071
|
|
|
@@ -981,31 +1088,33 @@ describe("Select component tests", function () {
|
|
|
981
1088
|
code: "Enter",
|
|
982
1089
|
keyCode: 13,
|
|
983
1090
|
charCode: 13
|
|
984
|
-
});
|
|
985
|
-
|
|
1091
|
+
});
|
|
986
1092
|
|
|
1093
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1094
|
+
value: ["11", "19"]
|
|
1095
|
+
});
|
|
987
1096
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
988
1097
|
expect(getByText("Option 11, Option 19")).toBeTruthy();
|
|
989
1098
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
990
1099
|
expect(getAllByRole("option")[18].getAttribute("aria-selected")).toBe("true");
|
|
991
|
-
expect(submitInput.value).toBe("11,
|
|
1100
|
+
expect(submitInput.value).toBe("11,19");
|
|
992
1101
|
});
|
|
993
1102
|
test("Non-Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
994
1103
|
var onChange = jest.fn();
|
|
995
1104
|
|
|
996
|
-
var
|
|
1105
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
997
1106
|
label: "test-select-label",
|
|
998
1107
|
options: single_options,
|
|
999
1108
|
onChange: onChange,
|
|
1000
1109
|
multiple: true
|
|
1001
1110
|
})),
|
|
1002
|
-
getByText =
|
|
1003
|
-
queryByText =
|
|
1004
|
-
getByRole =
|
|
1005
|
-
getAllByRole =
|
|
1006
|
-
queryByRole =
|
|
1007
|
-
getByTitle =
|
|
1008
|
-
queryByTitle =
|
|
1111
|
+
getByText = _render31.getByText,
|
|
1112
|
+
queryByText = _render31.queryByText,
|
|
1113
|
+
getByRole = _render31.getByRole,
|
|
1114
|
+
getAllByRole = _render31.getAllByRole,
|
|
1115
|
+
queryByRole = _render31.queryByRole,
|
|
1116
|
+
getByTitle = _render31.getByTitle,
|
|
1117
|
+
queryByTitle = _render31.queryByTitle;
|
|
1009
1118
|
|
|
1010
1119
|
var select = getByRole("combobox");
|
|
1011
1120
|
|
|
@@ -1015,9 +1124,11 @@ describe("Select component tests", function () {
|
|
|
1015
1124
|
|
|
1016
1125
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1017
1126
|
|
|
1018
|
-
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1019
|
-
|
|
1127
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1020
1128
|
|
|
1129
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1130
|
+
value: ["6", "9", "14"]
|
|
1131
|
+
});
|
|
1021
1132
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1022
1133
|
expect(getByText("Option 06, Option 09, Option 14")).toBeTruthy();
|
|
1023
1134
|
expect(getByText("3", {
|
|
@@ -1026,6 +1137,10 @@ describe("Select component tests", function () {
|
|
|
1026
1137
|
|
|
1027
1138
|
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
1028
1139
|
|
|
1140
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1141
|
+
value: [],
|
|
1142
|
+
error: "This field is required. Please, enter a value."
|
|
1143
|
+
});
|
|
1029
1144
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1030
1145
|
expect(queryByText("Option 06, Option 09, Option 14")).toBeFalsy();
|
|
1031
1146
|
expect(queryByText("3")).toBeFalsy();
|
|
@@ -1034,7 +1149,7 @@ describe("Select component tests", function () {
|
|
|
1034
1149
|
test("Non-Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1035
1150
|
var onChange = jest.fn();
|
|
1036
1151
|
|
|
1037
|
-
var
|
|
1152
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1038
1153
|
label: "test-select-label",
|
|
1039
1154
|
placeholder: "Choose an option",
|
|
1040
1155
|
options: single_options,
|
|
@@ -1042,10 +1157,10 @@ describe("Select component tests", function () {
|
|
|
1042
1157
|
multiple: true,
|
|
1043
1158
|
optional: true
|
|
1044
1159
|
})),
|
|
1045
|
-
getByText =
|
|
1046
|
-
getAllByText =
|
|
1047
|
-
getByRole =
|
|
1048
|
-
getAllByRole =
|
|
1160
|
+
getByText = _render32.getByText,
|
|
1161
|
+
getAllByText = _render32.getAllByText,
|
|
1162
|
+
getByRole = _render32.getByRole,
|
|
1163
|
+
getAllByRole = _render32.getAllByRole;
|
|
1049
1164
|
|
|
1050
1165
|
var select = getByRole("combobox");
|
|
1051
1166
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1055,19 +1170,21 @@ describe("Select component tests", function () {
|
|
|
1055
1170
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1056
1171
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1057
1172
|
|
|
1058
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1059
|
-
|
|
1173
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1060
1174
|
|
|
1175
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1176
|
+
value: ["1"]
|
|
1177
|
+
});
|
|
1061
1178
|
expect(getAllByText("Option 01").length).toBe(2);
|
|
1062
1179
|
});
|
|
1063
1180
|
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
|
|
1181
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1065
1182
|
label: "test-select-label",
|
|
1066
1183
|
options: single_options
|
|
1067
1184
|
})),
|
|
1068
|
-
getByText =
|
|
1069
|
-
getByRole =
|
|
1070
|
-
getAllByRole =
|
|
1185
|
+
getByText = _render33.getByText,
|
|
1186
|
+
getByRole = _render33.getByRole,
|
|
1187
|
+
getAllByRole = _render33.getAllByRole;
|
|
1071
1188
|
|
|
1072
1189
|
var select = getByRole("combobox");
|
|
1073
1190
|
|
|
@@ -1135,14 +1252,14 @@ describe("Select component tests", function () {
|
|
|
1135
1252
|
expect(getByText("Option 06")).toBeTruthy();
|
|
1136
1253
|
});
|
|
1137
1254
|
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
|
|
1255
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1139
1256
|
label: "test-select-label",
|
|
1140
1257
|
options: single_options
|
|
1141
1258
|
})),
|
|
1142
|
-
getByText =
|
|
1143
|
-
getByRole =
|
|
1144
|
-
getAllByRole =
|
|
1145
|
-
queryByRole =
|
|
1259
|
+
getByText = _render34.getByText,
|
|
1260
|
+
getByRole = _render34.getByRole,
|
|
1261
|
+
getAllByRole = _render34.getAllByRole,
|
|
1262
|
+
queryByRole = _render34.queryByRole;
|
|
1146
1263
|
|
|
1147
1264
|
var select = getByRole("combobox");
|
|
1148
1265
|
|
|
@@ -1210,14 +1327,14 @@ describe("Select component tests", function () {
|
|
|
1210
1327
|
expect(getByText("Option 17")).toBeTruthy();
|
|
1211
1328
|
});
|
|
1212
1329
|
test("Grouped Options - Opens listbox and renders it correctly or closes it with a click on select", function () {
|
|
1213
|
-
var
|
|
1330
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1214
1331
|
label: "test-select-label",
|
|
1215
1332
|
options: group_options
|
|
1216
1333
|
})),
|
|
1217
|
-
getByText =
|
|
1218
|
-
getByRole =
|
|
1219
|
-
getAllByRole =
|
|
1220
|
-
queryByRole =
|
|
1334
|
+
getByText = _render35.getByText,
|
|
1335
|
+
getByRole = _render35.getByRole,
|
|
1336
|
+
getAllByRole = _render35.getAllByRole,
|
|
1337
|
+
queryByRole = _render35.queryByRole;
|
|
1221
1338
|
|
|
1222
1339
|
var select = getByRole("combobox");
|
|
1223
1340
|
|
|
@@ -1245,15 +1362,15 @@ describe("Select component tests", function () {
|
|
|
1245
1362
|
expect(select.getAttribute("aria-expanded")).toBe("false");
|
|
1246
1363
|
});
|
|
1247
1364
|
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
|
|
1365
|
+
var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1249
1366
|
label: "test-select-label",
|
|
1250
1367
|
options: [{
|
|
1251
1368
|
label: "Group 1",
|
|
1252
1369
|
options: []
|
|
1253
1370
|
}]
|
|
1254
1371
|
})),
|
|
1255
|
-
getByRole =
|
|
1256
|
-
queryByRole =
|
|
1372
|
+
getByRole = _render36.getByRole,
|
|
1373
|
+
queryByRole = _render36.queryByRole;
|
|
1257
1374
|
|
|
1258
1375
|
var select = getByRole("combobox");
|
|
1259
1376
|
|
|
@@ -1265,17 +1382,17 @@ describe("Select component tests", function () {
|
|
|
1265
1382
|
test("Grouped Options - Click in an option selects it and closes the listbox", function () {
|
|
1266
1383
|
var onChange = jest.fn();
|
|
1267
1384
|
|
|
1268
|
-
var
|
|
1385
|
+
var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1269
1386
|
name: "test",
|
|
1270
1387
|
label: "test-select-label",
|
|
1271
1388
|
options: group_options,
|
|
1272
1389
|
onChange: onChange
|
|
1273
1390
|
})),
|
|
1274
|
-
getByText =
|
|
1275
|
-
getByRole =
|
|
1276
|
-
getAllByRole =
|
|
1277
|
-
queryByRole =
|
|
1278
|
-
container =
|
|
1391
|
+
getByText = _render37.getByText,
|
|
1392
|
+
getByRole = _render37.getByRole,
|
|
1393
|
+
getAllByRole = _render37.getAllByRole,
|
|
1394
|
+
queryByRole = _render37.queryByRole,
|
|
1395
|
+
container = _render37.container;
|
|
1279
1396
|
|
|
1280
1397
|
var select = getByRole("combobox");
|
|
1281
1398
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1285,8 +1402,7 @@ describe("Select component tests", function () {
|
|
|
1285
1402
|
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
1286
1403
|
|
|
1287
1404
|
expect(onChange).toHaveBeenCalledWith({
|
|
1288
|
-
value: "oviedo"
|
|
1289
|
-
error: null
|
|
1405
|
+
value: "oviedo"
|
|
1290
1406
|
});
|
|
1291
1407
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1292
1408
|
expect(getByText("Oviedo")).toBeTruthy();
|
|
@@ -1299,16 +1415,16 @@ describe("Select component tests", function () {
|
|
|
1299
1415
|
test("Grouped Options - Optional renders an empty first option (out of any group) with the placeholder as its label", function () {
|
|
1300
1416
|
var onChange = jest.fn();
|
|
1301
1417
|
|
|
1302
|
-
var
|
|
1418
|
+
var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1303
1419
|
label: "test-select-label",
|
|
1304
1420
|
placeholder: "Placeholder example",
|
|
1305
1421
|
options: group_options,
|
|
1306
1422
|
onChange: onChange,
|
|
1307
1423
|
optional: true
|
|
1308
1424
|
})),
|
|
1309
|
-
getByRole =
|
|
1310
|
-
getAllByRole =
|
|
1311
|
-
getAllByText =
|
|
1425
|
+
getByRole = _render38.getByRole,
|
|
1426
|
+
getAllByRole = _render38.getAllByRole,
|
|
1427
|
+
getAllByText = _render38.getAllByText;
|
|
1312
1428
|
|
|
1313
1429
|
var select = getByRole("combobox");
|
|
1314
1430
|
|
|
@@ -1320,8 +1436,7 @@ describe("Select component tests", function () {
|
|
|
1320
1436
|
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1321
1437
|
|
|
1322
1438
|
expect(onChange).toHaveBeenCalledWith({
|
|
1323
|
-
value: ""
|
|
1324
|
-
error: null
|
|
1439
|
+
value: ""
|
|
1325
1440
|
});
|
|
1326
1441
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1327
1442
|
|
|
@@ -1342,8 +1457,7 @@ describe("Select component tests", function () {
|
|
|
1342
1457
|
});
|
|
1343
1458
|
|
|
1344
1459
|
expect(onChange).toHaveBeenCalledWith({
|
|
1345
|
-
value: ""
|
|
1346
|
-
error: null
|
|
1460
|
+
value: ""
|
|
1347
1461
|
});
|
|
1348
1462
|
expect(getAllByText("Placeholder example").length).toBe(1);
|
|
1349
1463
|
|
|
@@ -1356,14 +1470,43 @@ describe("Select component tests", function () {
|
|
|
1356
1470
|
|
|
1357
1471
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1358
1472
|
});
|
|
1473
|
+
test("Grouped Options - Filtering options never affects the optional item until there are no coincidence", function () {
|
|
1474
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1475
|
+
label: "test-select-label",
|
|
1476
|
+
placeholder: "Placeholder example",
|
|
1477
|
+
options: group_options,
|
|
1478
|
+
optional: true,
|
|
1479
|
+
searchable: true
|
|
1480
|
+
})),
|
|
1481
|
+
getByRole = _render39.getByRole,
|
|
1482
|
+
getAllByRole = _render39.getAllByRole,
|
|
1483
|
+
getByText = _render39.getByText,
|
|
1484
|
+
queryByText = _render39.queryByText,
|
|
1485
|
+
container = _render39.container;
|
|
1486
|
+
|
|
1487
|
+
var select = getByRole("combobox");
|
|
1488
|
+
var searchInput = container.querySelectorAll("input")[1];
|
|
1489
|
+
|
|
1490
|
+
_userEvent["default"].click(select);
|
|
1491
|
+
|
|
1492
|
+
_userEvent["default"].type(searchInput, "ro");
|
|
1493
|
+
|
|
1494
|
+
expect(getByText("Placeholder example")).toBeTruthy();
|
|
1495
|
+
expect(getAllByRole("option").length).toBe(6);
|
|
1496
|
+
|
|
1497
|
+
_userEvent["default"].type(searchInput, "roro");
|
|
1498
|
+
|
|
1499
|
+
expect(queryByText("Placeholder example")).toBeFalsy();
|
|
1500
|
+
expect(getByText("No matches found")).toBeTruthy();
|
|
1501
|
+
});
|
|
1359
1502
|
test("Grouped Options - Renders icons correctly when passed with group options", function () {
|
|
1360
|
-
var
|
|
1503
|
+
var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1361
1504
|
label: "test-select-label",
|
|
1362
1505
|
options: grouped_icon_options,
|
|
1363
1506
|
optional: true
|
|
1364
1507
|
})),
|
|
1365
|
-
getByRole =
|
|
1366
|
-
getAllByRole =
|
|
1508
|
+
getByRole = _render40.getByRole,
|
|
1509
|
+
getAllByRole = _render40.getAllByRole;
|
|
1367
1510
|
|
|
1368
1511
|
var select = getByRole("combobox");
|
|
1369
1512
|
|
|
@@ -1373,12 +1516,12 @@ describe("Select component tests", function () {
|
|
|
1373
1516
|
expect(getAllByRole("option").length).toBe(11);
|
|
1374
1517
|
});
|
|
1375
1518
|
test("Grouped Options: Arrow up key - Opens the listbox and visually focus the last option", function () {
|
|
1376
|
-
var
|
|
1519
|
+
var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1377
1520
|
label: "test-select-label",
|
|
1378
1521
|
options: group_options
|
|
1379
1522
|
})),
|
|
1380
|
-
getByRole =
|
|
1381
|
-
queryByRole =
|
|
1523
|
+
getByRole = _render41.getByRole,
|
|
1524
|
+
queryByRole = _render41.queryByRole;
|
|
1382
1525
|
|
|
1383
1526
|
var select = getByRole("combobox");
|
|
1384
1527
|
|
|
@@ -1393,12 +1536,12 @@ describe("Select component tests", function () {
|
|
|
1393
1536
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1394
1537
|
});
|
|
1395
1538
|
test("Grouped Options: Arrow up key - Puts the focus in last option when the first one is visually focused", function () {
|
|
1396
|
-
var
|
|
1539
|
+
var _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1397
1540
|
label: "test-select-label",
|
|
1398
1541
|
options: group_options
|
|
1399
1542
|
})),
|
|
1400
|
-
getByRole =
|
|
1401
|
-
queryByRole =
|
|
1543
|
+
getByRole = _render42.getByRole,
|
|
1544
|
+
queryByRole = _render42.queryByRole;
|
|
1402
1545
|
|
|
1403
1546
|
var select = getByRole("combobox");
|
|
1404
1547
|
|
|
@@ -1420,12 +1563,12 @@ describe("Select component tests", function () {
|
|
|
1420
1563
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-17");
|
|
1421
1564
|
});
|
|
1422
1565
|
test("Grouped Options: Arrow down key - Opens the listbox and visually focus the first option", function () {
|
|
1423
|
-
var
|
|
1566
|
+
var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1424
1567
|
label: "test-select-label",
|
|
1425
1568
|
options: group_options
|
|
1426
1569
|
})),
|
|
1427
|
-
getByRole =
|
|
1428
|
-
queryByRole =
|
|
1570
|
+
getByRole = _render43.getByRole,
|
|
1571
|
+
queryByRole = _render43.queryByRole;
|
|
1429
1572
|
|
|
1430
1573
|
var select = getByRole("combobox");
|
|
1431
1574
|
|
|
@@ -1440,12 +1583,12 @@ describe("Select component tests", function () {
|
|
|
1440
1583
|
expect(select.getAttribute("aria-activedescendant")).toBe("option-0");
|
|
1441
1584
|
});
|
|
1442
1585
|
test("Grouped Options: Arrow down key - Puts the focus in the first option when the last one is visually focused", function () {
|
|
1443
|
-
var
|
|
1586
|
+
var _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1444
1587
|
label: "test-select-label",
|
|
1445
1588
|
options: group_options
|
|
1446
1589
|
})),
|
|
1447
|
-
getByRole =
|
|
1448
|
-
queryByRole =
|
|
1590
|
+
getByRole = _render44.getByRole,
|
|
1591
|
+
queryByRole = _render44.queryByRole;
|
|
1449
1592
|
|
|
1450
1593
|
var select = getByRole("combobox");
|
|
1451
1594
|
|
|
@@ -1469,16 +1612,16 @@ describe("Select component tests", function () {
|
|
|
1469
1612
|
test("Grouped Options: Enter key - Selects the visually focused option and closes the listbox", function () {
|
|
1470
1613
|
var onChange = jest.fn();
|
|
1471
1614
|
|
|
1472
|
-
var
|
|
1615
|
+
var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1473
1616
|
label: "test-select-label",
|
|
1474
1617
|
options: group_options,
|
|
1475
1618
|
onChange: onChange,
|
|
1476
1619
|
optional: true
|
|
1477
1620
|
})),
|
|
1478
|
-
getByText =
|
|
1479
|
-
getByRole =
|
|
1480
|
-
getAllByRole =
|
|
1481
|
-
queryByRole =
|
|
1621
|
+
getByText = _render45.getByText,
|
|
1622
|
+
getByRole = _render45.getByRole,
|
|
1623
|
+
getAllByRole = _render45.getAllByRole,
|
|
1624
|
+
queryByRole = _render45.queryByRole;
|
|
1482
1625
|
|
|
1483
1626
|
var select = getByRole("combobox");
|
|
1484
1627
|
|
|
@@ -1518,8 +1661,7 @@ describe("Select component tests", function () {
|
|
|
1518
1661
|
});
|
|
1519
1662
|
|
|
1520
1663
|
expect(onChange).toHaveBeenCalledWith({
|
|
1521
|
-
value: "ebro"
|
|
1522
|
-
error: null
|
|
1664
|
+
value: "ebro"
|
|
1523
1665
|
});
|
|
1524
1666
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1525
1667
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1531,17 +1673,17 @@ describe("Select component tests", function () {
|
|
|
1531
1673
|
test("Grouped Options: Searchable - Displays an input for filtering the list of options", function () {
|
|
1532
1674
|
var onChange = jest.fn();
|
|
1533
1675
|
|
|
1534
|
-
var
|
|
1676
|
+
var _render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1535
1677
|
label: "test-select-label",
|
|
1536
1678
|
options: group_options,
|
|
1537
1679
|
onChange: onChange,
|
|
1538
1680
|
searchable: true
|
|
1539
1681
|
})),
|
|
1540
|
-
container =
|
|
1541
|
-
getByText =
|
|
1542
|
-
getByRole =
|
|
1543
|
-
getAllByRole =
|
|
1544
|
-
queryByRole =
|
|
1682
|
+
container = _render46.container,
|
|
1683
|
+
getByText = _render46.getByText,
|
|
1684
|
+
getByRole = _render46.getByRole,
|
|
1685
|
+
getAllByRole = _render46.getAllByRole,
|
|
1686
|
+
queryByRole = _render46.queryByRole;
|
|
1545
1687
|
|
|
1546
1688
|
var select = getByRole("combobox");
|
|
1547
1689
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1561,8 +1703,7 @@ describe("Select component tests", function () {
|
|
|
1561
1703
|
_userEvent["default"].click(getAllByRole("option")[4]);
|
|
1562
1704
|
|
|
1563
1705
|
expect(onChange).toHaveBeenCalledWith({
|
|
1564
|
-
value: "ebro"
|
|
1565
|
-
error: null
|
|
1706
|
+
value: "ebro"
|
|
1566
1707
|
});
|
|
1567
1708
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1568
1709
|
expect(getByText("Ebro")).toBeTruthy();
|
|
@@ -1575,15 +1716,15 @@ describe("Select component tests", function () {
|
|
|
1575
1716
|
test("Grouped Options: Searchable - Displays 'No matches found' when there are no filtering results", function () {
|
|
1576
1717
|
var onChange = jest.fn();
|
|
1577
1718
|
|
|
1578
|
-
var
|
|
1719
|
+
var _render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1579
1720
|
label: "test-select-label",
|
|
1580
1721
|
options: group_options,
|
|
1581
1722
|
onChange: onChange,
|
|
1582
1723
|
searchable: true
|
|
1583
1724
|
})),
|
|
1584
|
-
container =
|
|
1585
|
-
getByText =
|
|
1586
|
-
getByRole =
|
|
1725
|
+
container = _render47.container,
|
|
1726
|
+
getByText = _render47.getByText,
|
|
1727
|
+
getByRole = _render47.getByRole;
|
|
1587
1728
|
|
|
1588
1729
|
var select = getByRole("combobox");
|
|
1589
1730
|
var searchInput = container.querySelectorAll("input")[1];
|
|
@@ -1599,19 +1740,19 @@ describe("Select component tests", function () {
|
|
|
1599
1740
|
test("Grouped Options: Multiple selection - Displays a checkbox per option and enables the multi-selection", function () {
|
|
1600
1741
|
var onChange = jest.fn();
|
|
1601
1742
|
|
|
1602
|
-
var
|
|
1743
|
+
var _render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1603
1744
|
name: "test",
|
|
1604
1745
|
label: "test-select-label",
|
|
1605
1746
|
options: group_options,
|
|
1606
1747
|
onChange: onChange,
|
|
1607
1748
|
multiple: true
|
|
1608
1749
|
})),
|
|
1609
|
-
getByText =
|
|
1610
|
-
getAllByText =
|
|
1611
|
-
getByRole =
|
|
1612
|
-
getAllByRole =
|
|
1613
|
-
queryByRole =
|
|
1614
|
-
container =
|
|
1750
|
+
getByText = _render48.getByText,
|
|
1751
|
+
getAllByText = _render48.getAllByText,
|
|
1752
|
+
getByRole = _render48.getByRole,
|
|
1753
|
+
getAllByRole = _render48.getAllByRole,
|
|
1754
|
+
queryByRole = _render48.queryByRole,
|
|
1755
|
+
container = _render48.container;
|
|
1615
1756
|
|
|
1616
1757
|
var select = getByRole("combobox");
|
|
1617
1758
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
@@ -1620,9 +1761,11 @@ describe("Select component tests", function () {
|
|
|
1620
1761
|
|
|
1621
1762
|
expect(getByRole("listbox").getAttribute("aria-multiselectable")).toBe("true");
|
|
1622
1763
|
|
|
1623
|
-
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1624
|
-
|
|
1764
|
+
_userEvent["default"].click(getAllByRole("option")[10]);
|
|
1625
1765
|
|
|
1766
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1767
|
+
value: ["bilbao"]
|
|
1768
|
+
});
|
|
1626
1769
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1627
1770
|
expect(getAllByText("Bilbao").length).toBe(2);
|
|
1628
1771
|
|
|
@@ -1645,31 +1788,33 @@ describe("Select component tests", function () {
|
|
|
1645
1788
|
code: "Enter",
|
|
1646
1789
|
keyCode: 13,
|
|
1647
1790
|
charCode: 13
|
|
1648
|
-
});
|
|
1649
|
-
|
|
1791
|
+
});
|
|
1650
1792
|
|
|
1793
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1794
|
+
value: ["bilbao", "guadalquivir"]
|
|
1795
|
+
});
|
|
1651
1796
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1652
1797
|
expect(getByText("Bilbao, Guadalquivir")).toBeTruthy();
|
|
1653
1798
|
expect(getAllByRole("option")[10].getAttribute("aria-selected")).toBe("true");
|
|
1654
1799
|
expect(getAllByRole("option")[16].getAttribute("aria-selected")).toBe("true");
|
|
1655
|
-
expect(submitInput.value).toBe("bilbao,
|
|
1800
|
+
expect(submitInput.value).toBe("bilbao,guadalquivir");
|
|
1656
1801
|
});
|
|
1657
1802
|
test("Grouped Options: Multiple selection - Clear action and selection indicator", function () {
|
|
1658
1803
|
var onChange = jest.fn();
|
|
1659
1804
|
|
|
1660
|
-
var
|
|
1805
|
+
var _render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1661
1806
|
label: "test-select-label",
|
|
1662
1807
|
options: group_options,
|
|
1663
1808
|
onChange: onChange,
|
|
1664
1809
|
multiple: true
|
|
1665
1810
|
})),
|
|
1666
|
-
getByText =
|
|
1667
|
-
queryByText =
|
|
1668
|
-
getByRole =
|
|
1669
|
-
getAllByRole =
|
|
1670
|
-
queryByRole =
|
|
1671
|
-
getByTitle =
|
|
1672
|
-
queryByTitle =
|
|
1811
|
+
getByText = _render49.getByText,
|
|
1812
|
+
queryByText = _render49.queryByText,
|
|
1813
|
+
getByRole = _render49.getByRole,
|
|
1814
|
+
getAllByRole = _render49.getAllByRole,
|
|
1815
|
+
queryByRole = _render49.queryByRole,
|
|
1816
|
+
getByTitle = _render49.getByTitle,
|
|
1817
|
+
queryByTitle = _render49.queryByTitle;
|
|
1673
1818
|
|
|
1674
1819
|
var select = getByRole("combobox");
|
|
1675
1820
|
|
|
@@ -1681,9 +1826,11 @@ describe("Select component tests", function () {
|
|
|
1681
1826
|
|
|
1682
1827
|
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
1683
1828
|
|
|
1684
|
-
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1685
|
-
|
|
1829
|
+
_userEvent["default"].click(getAllByRole("option")[17]);
|
|
1686
1830
|
|
|
1831
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1832
|
+
value: ["blanco", "oviedo", "duero", "ebro"]
|
|
1833
|
+
});
|
|
1687
1834
|
expect(queryByRole("listbox")).toBeTruthy();
|
|
1688
1835
|
expect(getByText("Blanco, Oviedo, Duero, Ebro")).toBeTruthy();
|
|
1689
1836
|
expect(getByText("4", {
|
|
@@ -1700,7 +1847,7 @@ describe("Select component tests", function () {
|
|
|
1700
1847
|
test("Grouped Options: Multiple selection - Optional option should not be added when the select is marked as multiple", function () {
|
|
1701
1848
|
var onChange = jest.fn();
|
|
1702
1849
|
|
|
1703
|
-
var
|
|
1850
|
+
var _render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1704
1851
|
label: "test-select-label",
|
|
1705
1852
|
placeholder: "Choose an option",
|
|
1706
1853
|
options: group_options,
|
|
@@ -1708,10 +1855,10 @@ describe("Select component tests", function () {
|
|
|
1708
1855
|
multiple: true,
|
|
1709
1856
|
optional: true
|
|
1710
1857
|
})),
|
|
1711
|
-
getByText =
|
|
1712
|
-
getAllByText =
|
|
1713
|
-
getByRole =
|
|
1714
|
-
getAllByRole =
|
|
1858
|
+
getByText = _render50.getByText,
|
|
1859
|
+
getAllByText = _render50.getAllByText,
|
|
1860
|
+
getByRole = _render50.getByRole,
|
|
1861
|
+
getAllByRole = _render50.getAllByRole;
|
|
1715
1862
|
|
|
1716
1863
|
var select = getByRole("combobox");
|
|
1717
1864
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -1721,19 +1868,21 @@ describe("Select component tests", function () {
|
|
|
1721
1868
|
expect(getAllByText("Choose an option").length).toBe(1);
|
|
1722
1869
|
expect(getAllByRole("option")[0].getAttribute("aria-selected")).toBe("false");
|
|
1723
1870
|
|
|
1724
|
-
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1725
|
-
|
|
1871
|
+
_userEvent["default"].click(getAllByRole("option")[0]);
|
|
1726
1872
|
|
|
1873
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1874
|
+
value: ["azul"]
|
|
1875
|
+
});
|
|
1727
1876
|
expect(getAllByText("Azul").length).toBe(2);
|
|
1728
1877
|
});
|
|
1729
1878
|
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
|
|
1879
|
+
var _render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1731
1880
|
label: "test-select-label",
|
|
1732
1881
|
options: group_options
|
|
1733
1882
|
})),
|
|
1734
|
-
getByText =
|
|
1735
|
-
getByRole =
|
|
1736
|
-
getAllByRole =
|
|
1883
|
+
getByText = _render51.getByText,
|
|
1884
|
+
getByRole = _render51.getByRole,
|
|
1885
|
+
getAllByRole = _render51.getAllByRole;
|
|
1737
1886
|
|
|
1738
1887
|
var select = getByRole("combobox");
|
|
1739
1888
|
|
|
@@ -1801,14 +1950,13 @@ describe("Select component tests", function () {
|
|
|
1801
1950
|
expect(getByText("Verde")).toBeTruthy();
|
|
1802
1951
|
});
|
|
1803
1952
|
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
|
|
1953
|
+
var _render52 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1805
1954
|
label: "test-select-label",
|
|
1806
1955
|
options: group_options
|
|
1807
1956
|
})),
|
|
1808
|
-
getByText =
|
|
1809
|
-
getByRole =
|
|
1810
|
-
getAllByRole =
|
|
1811
|
-
queryByRole = _render47.queryByRole;
|
|
1957
|
+
getByText = _render52.getByText,
|
|
1958
|
+
getByRole = _render52.getByRole,
|
|
1959
|
+
getAllByRole = _render52.getAllByRole;
|
|
1812
1960
|
|
|
1813
1961
|
var select = getByRole("combobox");
|
|
1814
1962
|
|
|
@@ -1872,29 +2020,38 @@ describe("Select component tests", function () {
|
|
|
1872
2020
|
|
|
1873
2021
|
expect(getByText("Azul")).toBeTruthy();
|
|
1874
2022
|
});
|
|
1875
|
-
test("
|
|
1876
|
-
var
|
|
2023
|
+
test("Multiple selection and optional - Clear action cleans every selected option but does not display an error", function () {
|
|
2024
|
+
var onChange = jest.fn();
|
|
2025
|
+
|
|
2026
|
+
var _render53 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
1877
2027
|
label: "test-select-label",
|
|
1878
|
-
|
|
1879
|
-
|
|
2028
|
+
options: single_options,
|
|
2029
|
+
onChange: onChange,
|
|
2030
|
+
multiple: true,
|
|
2031
|
+
optional: true
|
|
1880
2032
|
})),
|
|
1881
|
-
|
|
1882
|
-
|
|
2033
|
+
getByRole = _render53.getByRole,
|
|
2034
|
+
getAllByRole = _render53.getAllByRole,
|
|
2035
|
+
getByTitle = _render53.getByTitle;
|
|
1883
2036
|
|
|
1884
2037
|
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
2038
|
|
|
1894
2039
|
_userEvent["default"].click(select);
|
|
1895
2040
|
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
2041
|
+
_userEvent["default"].click(getAllByRole("option")[5]);
|
|
2042
|
+
|
|
2043
|
+
_userEvent["default"].click(getAllByRole("option")[8]);
|
|
2044
|
+
|
|
2045
|
+
_userEvent["default"].click(getAllByRole("option")[13]);
|
|
2046
|
+
|
|
2047
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2048
|
+
value: ["6", "9", "14"]
|
|
2049
|
+
});
|
|
2050
|
+
|
|
2051
|
+
_userEvent["default"].click(getByTitle("Clear selection"));
|
|
2052
|
+
|
|
2053
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
2054
|
+
value: []
|
|
2055
|
+
});
|
|
1899
2056
|
});
|
|
1900
2057
|
});
|