@dxc-technology/halstack-react 6.2.2 → 8.0.0
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.js +7 -8
- package/accordion/types.d.ts +1 -0
- package/accordion-group/types.d.ts +1 -0
- package/box/types.d.ts +1 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +16 -15
- package/checkbox/Checkbox.stories.tsx +79 -59
- package/checkbox/types.d.ts +4 -0
- package/common/variables.js +19 -15
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +77 -222
- package/date-input/DateInput.stories.tsx +30 -17
- package/date-input/DateInput.test.js +411 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +160 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +115 -0
- package/date-input/types.d.ts +53 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.js +35 -31
- package/dropdown/Dropdown.test.js +18 -24
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +177 -219
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +31 -19
- package/flex/types.d.ts +14 -3
- package/footer/types.d.ts +1 -0
- package/header/types.d.ts +1 -0
- package/link/Link.js +1 -1
- package/number-input/NumberInput.test.js +43 -7
- package/package.json +7 -12
- package/paginator/Paginator.js +2 -2
- package/paginator/Paginator.test.js +1 -1
- package/password-input/PasswordInput.test.js +13 -12
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +97 -19
- package/radio-group/RadioGroup.js +9 -5
- package/radio-group/RadioGroup.test.js +116 -59
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -107
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +23 -41
- package/resultsetTable/types.d.ts +2 -2
- package/select/Select.js +3 -1
- package/select/Select.stories.tsx +2 -5
- package/select/Select.test.js +267 -209
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +5 -4
- package/slider/types.d.ts +4 -0
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +4 -3
- package/switch/types.d.ts +6 -1
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- package/text-input/TextInput.js +165 -151
- package/text-input/TextInput.test.js +560 -649
- package/text-input/types.d.ts +5 -0
- package/common/RequiredComponent.js +0 -32
|
@@ -401,27 +401,16 @@ describe("TextInput component tests", function () {
|
|
|
401
401
|
value: "Blur test"
|
|
402
402
|
});
|
|
403
403
|
});
|
|
404
|
-
test("Clear action tooltip is correct",
|
|
405
|
-
var _render10,
|
|
404
|
+
test("Clear action tooltip is correct", function () {
|
|
405
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
406
|
+
label: "Input label",
|
|
407
|
+
value: "Text",
|
|
408
|
+
clearable: true
|
|
409
|
+
})),
|
|
410
|
+
getByTitle = _render10.getByTitle;
|
|
406
411
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
switch (_context.prev = _context.next) {
|
|
410
|
-
case 0:
|
|
411
|
-
_render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
412
|
-
label: "Input label",
|
|
413
|
-
value: "Text",
|
|
414
|
-
clearable: true
|
|
415
|
-
})), getByTitle = _render10.getByTitle;
|
|
416
|
-
expect(getByTitle("Clear field")).toBeTruthy();
|
|
417
|
-
|
|
418
|
-
case 2:
|
|
419
|
-
case "end":
|
|
420
|
-
return _context.stop();
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}, _callee);
|
|
424
|
-
})));
|
|
412
|
+
expect(getByTitle("Clear field")).toBeTruthy();
|
|
413
|
+
});
|
|
425
414
|
test("Clear action onClick cleans the input", function () {
|
|
426
415
|
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
427
416
|
label: "Input label",
|
|
@@ -450,7 +439,6 @@ describe("TextInput component tests", function () {
|
|
|
450
439
|
getByRole = _render12.getByRole;
|
|
451
440
|
|
|
452
441
|
var input = getByRole("textbox");
|
|
453
|
-
expect(input.getAttribute("aria-disabled")).toBe("true");
|
|
454
442
|
|
|
455
443
|
_userEvent["default"].type(input, "Test");
|
|
456
444
|
|
|
@@ -554,13 +542,70 @@ describe("TextInput component tests", function () {
|
|
|
554
542
|
|
|
555
543
|
expect(onClick).toHaveBeenCalled();
|
|
556
544
|
});
|
|
545
|
+
test("Text input submit correctly value in form", function () {
|
|
546
|
+
var onClick = jest.fn();
|
|
547
|
+
var action = {
|
|
548
|
+
onClick: onClick,
|
|
549
|
+
icon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
550
|
+
"data-testid": "image",
|
|
551
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
552
|
+
height: "24px",
|
|
553
|
+
viewBox: "0 0 24 24",
|
|
554
|
+
width: "24px",
|
|
555
|
+
fill: "currentColor"
|
|
556
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
557
|
+
d: "M0 0h24v24H0V0z",
|
|
558
|
+
fill: "none"
|
|
559
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
560
|
+
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
|
|
561
|
+
})),
|
|
562
|
+
title: "Search"
|
|
563
|
+
};
|
|
564
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
565
|
+
e.preventDefault();
|
|
566
|
+
var formData = new FormData(e.target);
|
|
567
|
+
var formProps = Object.fromEntries(formData);
|
|
568
|
+
expect(formProps).toStrictEqual({
|
|
569
|
+
data: "test"
|
|
570
|
+
});
|
|
571
|
+
});
|
|
572
|
+
|
|
573
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
574
|
+
onSubmit: handlerOnSubmit
|
|
575
|
+
}, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
576
|
+
label: "Input label",
|
|
577
|
+
name: "data",
|
|
578
|
+
action: action
|
|
579
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
580
|
+
type: "submit"
|
|
581
|
+
}, "Submit"))),
|
|
582
|
+
getByText = _render17.getByText,
|
|
583
|
+
getAllByRole = _render17.getAllByRole,
|
|
584
|
+
getByRole = _render17.getByRole;
|
|
585
|
+
|
|
586
|
+
var search = getAllByRole("button")[0];
|
|
587
|
+
var submit = getByText("Submit");
|
|
588
|
+
var input = getByRole("textbox");
|
|
589
|
+
|
|
590
|
+
_userEvent["default"].type(input, "test");
|
|
591
|
+
|
|
592
|
+
expect(input.value).toBe("test");
|
|
593
|
+
|
|
594
|
+
_userEvent["default"].click(search);
|
|
595
|
+
|
|
596
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
597
|
+
|
|
598
|
+
_userEvent["default"].click(submit);
|
|
599
|
+
|
|
600
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
601
|
+
});
|
|
557
602
|
test("Renders with correct prefix and suffix", function () {
|
|
558
|
-
var
|
|
603
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
559
604
|
label: "Input label",
|
|
560
605
|
prefix: "+34",
|
|
561
606
|
suffix: "USD"
|
|
562
607
|
})),
|
|
563
|
-
getByText =
|
|
608
|
+
getByText = _render18.getByText;
|
|
564
609
|
|
|
565
610
|
expect(getByText("+34")).toBeTruthy();
|
|
566
611
|
expect(getByText("USD")).toBeTruthy();
|
|
@@ -585,18 +630,19 @@ describe("TextInput component tests", function () {
|
|
|
585
630
|
title: "Search"
|
|
586
631
|
};
|
|
587
632
|
|
|
588
|
-
var
|
|
633
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
589
634
|
label: "Example label",
|
|
590
635
|
clearable: true,
|
|
591
636
|
action: action
|
|
592
637
|
})),
|
|
593
|
-
getByRole =
|
|
594
|
-
getAllByRole =
|
|
638
|
+
getByRole = _render19.getByRole,
|
|
639
|
+
getAllByRole = _render19.getAllByRole;
|
|
595
640
|
|
|
596
641
|
var input = getByRole("textbox");
|
|
597
642
|
expect(input.getAttribute("aria-autocomplete")).toBeNull();
|
|
598
643
|
expect(input.getAttribute("aria-controls")).toBeNull();
|
|
599
644
|
expect(input.getAttribute("aria-expanded")).toBeNull();
|
|
645
|
+
expect(input.getAttribute("aria-haspopup")).toBeNull();
|
|
600
646
|
expect(input.getAttribute("aria-activedescendant")).toBeNull();
|
|
601
647
|
expect(input.getAttribute("aria-invalid")).toBe("false");
|
|
602
648
|
expect(input.getAttribute("aria-errormessage")).toBeNull();
|
|
@@ -610,17 +656,18 @@ describe("TextInput component tests", function () {
|
|
|
610
656
|
expect(search.getAttribute("aria-label")).toBe("Search");
|
|
611
657
|
});
|
|
612
658
|
test("Autosuggest has correct accesibility attributes", function () {
|
|
613
|
-
var
|
|
659
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
614
660
|
label: "Autocomplete Countries",
|
|
615
661
|
optional: true,
|
|
616
662
|
suggestions: countries
|
|
617
663
|
})),
|
|
618
|
-
getByRole =
|
|
619
|
-
getAllByRole =
|
|
664
|
+
getByRole = _render20.getByRole,
|
|
665
|
+
getAllByRole = _render20.getAllByRole;
|
|
620
666
|
|
|
621
667
|
var input = getByRole("combobox");
|
|
622
668
|
expect(input.getAttribute("aria-autocomplete")).toBe("list");
|
|
623
669
|
expect(input.getAttribute("aria-expanded")).toBe("false");
|
|
670
|
+
expect(input.getAttribute("aria-haspopup")).toBe("listbox");
|
|
624
671
|
expect(input.getAttribute("aria-required")).toBe("false");
|
|
625
672
|
|
|
626
673
|
_react2.fireEvent.focus(input);
|
|
@@ -633,115 +680,90 @@ describe("TextInput component tests", function () {
|
|
|
633
680
|
});
|
|
634
681
|
});
|
|
635
682
|
describe("TextInput component synchronous autosuggest tests", function () {
|
|
636
|
-
test("Autosuggest is displayed when the input gains focus",
|
|
637
|
-
var onChange
|
|
683
|
+
test("Autosuggest is displayed when the input gains focus", function () {
|
|
684
|
+
var onChange = jest.fn();
|
|
638
685
|
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
suggestions: countries,
|
|
647
|
-
onChange: onChange
|
|
648
|
-
})), getByRole = _render20.getByRole, getByText = _render20.getByText;
|
|
649
|
-
input = getByRole("combobox");
|
|
686
|
+
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
687
|
+
label: "Autocomplete Countries",
|
|
688
|
+
suggestions: countries,
|
|
689
|
+
onChange: onChange
|
|
690
|
+
})),
|
|
691
|
+
getByRole = _render21.getByRole,
|
|
692
|
+
getByText = _render21.getByText;
|
|
650
693
|
|
|
651
|
-
|
|
694
|
+
var input = getByRole("combobox");
|
|
652
695
|
|
|
653
|
-
|
|
654
|
-
expect(list).toBeTruthy();
|
|
655
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
656
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
657
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
658
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
696
|
+
_react2.fireEvent.focus(input);
|
|
659
697
|
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
})
|
|
667
|
-
test("Autosuggest is displayed when the user clicks the input",
|
|
668
|
-
var onChange
|
|
698
|
+
var list = getByRole("listbox");
|
|
699
|
+
expect(list).toBeTruthy();
|
|
700
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
701
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
702
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
703
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
704
|
+
});
|
|
705
|
+
test("Autosuggest is displayed when the user clicks the input", function () {
|
|
706
|
+
var onChange = jest.fn();
|
|
669
707
|
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
suggestions: countries,
|
|
678
|
-
onChange: onChange
|
|
679
|
-
})), getByRole = _render21.getByRole, getByText = _render21.getByText;
|
|
680
|
-
input = getByRole("combobox");
|
|
708
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
709
|
+
label: "Autocomplete Countries",
|
|
710
|
+
suggestions: countries,
|
|
711
|
+
onChange: onChange
|
|
712
|
+
})),
|
|
713
|
+
getByRole = _render22.getByRole,
|
|
714
|
+
getByText = _render22.getByText;
|
|
681
715
|
|
|
682
|
-
|
|
716
|
+
var input = getByRole("combobox");
|
|
683
717
|
|
|
684
|
-
|
|
685
|
-
expect(list).toBeTruthy();
|
|
686
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
687
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
688
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
689
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
718
|
+
_react2.fireEvent.focus(input);
|
|
690
719
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
})
|
|
698
|
-
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)",
|
|
699
|
-
var onChange
|
|
720
|
+
var list = getByRole("listbox");
|
|
721
|
+
expect(list).toBeTruthy();
|
|
722
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
723
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
724
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
725
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
726
|
+
});
|
|
727
|
+
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)", function () {
|
|
728
|
+
var onChange = jest.fn();
|
|
700
729
|
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
})), getByRole = _render22.getByRole, queryByRole = _render22.queryByRole, getByText = _render22.getByText, getAllByText = _render22.getAllByText;
|
|
711
|
-
input = getByRole("combobox");
|
|
730
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
731
|
+
label: "Autocomplete Countries",
|
|
732
|
+
suggestions: countries,
|
|
733
|
+
onChange: onChange
|
|
734
|
+
})),
|
|
735
|
+
getByRole = _render23.getByRole,
|
|
736
|
+
queryByRole = _render23.queryByRole,
|
|
737
|
+
getByText = _render23.getByText,
|
|
738
|
+
getAllByText = _render23.getAllByText;
|
|
712
739
|
|
|
713
|
-
|
|
740
|
+
var input = getByRole("combobox");
|
|
714
741
|
|
|
715
|
-
|
|
716
|
-
expect(list).toBeTruthy();
|
|
742
|
+
_react2.fireEvent.focus(input);
|
|
717
743
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
code: "Esc",
|
|
721
|
-
keyCode: 27,
|
|
722
|
-
charCode: 27
|
|
723
|
-
});
|
|
744
|
+
var list = getByRole("listbox");
|
|
745
|
+
expect(list).toBeTruthy();
|
|
724
746
|
|
|
725
|
-
|
|
747
|
+
_react2.fireEvent.keyDown(input, {
|
|
748
|
+
key: "Esc",
|
|
749
|
+
code: "Esc",
|
|
750
|
+
keyCode: 27,
|
|
751
|
+
charCode: 27
|
|
752
|
+
});
|
|
726
753
|
|
|
727
|
-
|
|
754
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
728
755
|
|
|
729
|
-
|
|
730
|
-
expect(getAllByText("B").length).toBe(4);
|
|
731
|
-
expect(getByText("ahamas")).toBeTruthy();
|
|
732
|
-
expect(getByText("ahrain")).toBeTruthy();
|
|
733
|
-
expect(getByText("angladesh")).toBeTruthy();
|
|
734
|
-
expect(getByText("arbados")).toBeTruthy();
|
|
756
|
+
_userEvent["default"].type(input, "B");
|
|
735
757
|
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
})
|
|
758
|
+
expect(list).toBeTruthy();
|
|
759
|
+
expect(getAllByText("B").length).toBe(4);
|
|
760
|
+
expect(getByText("ahamas")).toBeTruthy();
|
|
761
|
+
expect(getByText("ahrain")).toBeTruthy();
|
|
762
|
+
expect(getByText("angladesh")).toBeTruthy();
|
|
763
|
+
expect(getByText("arbados")).toBeTruthy();
|
|
764
|
+
});
|
|
743
765
|
test("Autosuggest displays filtered when the input has a default value", function () {
|
|
744
|
-
var
|
|
766
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
745
767
|
label: "Uncontrolled suggestions filtered by default",
|
|
746
768
|
helperText: "Example of helper text",
|
|
747
769
|
placeholder: "Placeholder",
|
|
@@ -750,9 +772,9 @@ describe("TextInput component synchronous autosuggest tests", function () {
|
|
|
750
772
|
suggestions: ["Suggestion 11", "Suggestion 12", "Suggestion 23", "Suggestion 24"],
|
|
751
773
|
clearable: true
|
|
752
774
|
})),
|
|
753
|
-
getByRole =
|
|
754
|
-
getByText =
|
|
755
|
-
getAllByText =
|
|
775
|
+
getByRole = _render24.getByRole,
|
|
776
|
+
getByText = _render24.getByText,
|
|
777
|
+
getAllByText = _render24.getAllByText;
|
|
756
778
|
|
|
757
779
|
var input = getByRole("combobox");
|
|
758
780
|
expect(input.value).toBe("Suggestion 2");
|
|
@@ -763,517 +785,412 @@ describe("TextInput component synchronous autosuggest tests", function () {
|
|
|
763
785
|
expect(getByText("3")).toBeTruthy();
|
|
764
786
|
expect(getByText("4")).toBeTruthy();
|
|
765
787
|
});
|
|
766
|
-
test("Autosuggest is not displayed when prop suggestions is an empty array",
|
|
767
|
-
var onChange
|
|
788
|
+
test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
|
|
789
|
+
var onChange = jest.fn();
|
|
768
790
|
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
label: "Autocomplete Countries",
|
|
776
|
-
suggestions: [],
|
|
777
|
-
onChange: onChange
|
|
778
|
-
})), queryByRole = _render24.queryByRole;
|
|
779
|
-
input = queryByRole("textbox");
|
|
791
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
792
|
+
label: "Autocomplete Countries",
|
|
793
|
+
suggestions: [],
|
|
794
|
+
onChange: onChange
|
|
795
|
+
})),
|
|
796
|
+
queryByRole = _render25.queryByRole;
|
|
780
797
|
|
|
781
|
-
|
|
798
|
+
var input = queryByRole("textbox");
|
|
782
799
|
|
|
783
|
-
|
|
800
|
+
_react2.fireEvent.focus(input);
|
|
784
801
|
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
}
|
|
790
|
-
}, _callee5);
|
|
791
|
-
})));
|
|
792
|
-
test("Autosuggest closes the listbox when there are no matches for the user's input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
793
|
-
var onChange, _render25, getByRole, queryByRole, getByText, input, list;
|
|
802
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
803
|
+
});
|
|
804
|
+
test("Autosuggest closes the listbox when there are no matches for the user's input", function () {
|
|
805
|
+
var onChange = jest.fn();
|
|
794
806
|
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
onChange: onChange
|
|
804
|
-
})), getByRole = _render25.getByRole, queryByRole = _render25.queryByRole, getByText = _render25.getByText;
|
|
805
|
-
input = getByRole("combobox");
|
|
807
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
808
|
+
label: "Autocomplete Countries",
|
|
809
|
+
suggestions: countries,
|
|
810
|
+
onChange: onChange
|
|
811
|
+
})),
|
|
812
|
+
getByRole = _render26.getByRole,
|
|
813
|
+
queryByRole = _render26.queryByRole,
|
|
814
|
+
getByText = _render26.getByText;
|
|
806
815
|
|
|
807
|
-
|
|
816
|
+
var input = getByRole("combobox");
|
|
808
817
|
|
|
809
|
-
|
|
810
|
-
expect(list).toBeTruthy();
|
|
811
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
818
|
+
_react2.fireEvent.focus(input);
|
|
812
819
|
|
|
813
|
-
|
|
820
|
+
var list = getByRole("listbox");
|
|
821
|
+
expect(list).toBeTruthy();
|
|
822
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
814
823
|
|
|
815
|
-
|
|
824
|
+
_userEvent["default"].type(input, "x");
|
|
816
825
|
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
}
|
|
822
|
-
}, _callee6);
|
|
823
|
-
})));
|
|
824
|
-
test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
825
|
-
var onChange, _render26, getByRole, queryByRole, getByText, input, list;
|
|
826
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
827
|
+
});
|
|
828
|
+
test("Autosuggest with no matches founded doesn't let the listbox to be opened", function () {
|
|
829
|
+
var onChange = jest.fn();
|
|
826
830
|
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
onChange: onChange
|
|
836
|
-
})), getByRole = _render26.getByRole, queryByRole = _render26.queryByRole, getByText = _render26.getByText;
|
|
837
|
-
input = getByRole("combobox");
|
|
831
|
+
var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
832
|
+
label: "Autocomplete Countries",
|
|
833
|
+
suggestions: countries,
|
|
834
|
+
onChange: onChange
|
|
835
|
+
})),
|
|
836
|
+
getByRole = _render27.getByRole,
|
|
837
|
+
queryByRole = _render27.queryByRole,
|
|
838
|
+
getByText = _render27.getByText;
|
|
838
839
|
|
|
839
|
-
|
|
840
|
+
var input = getByRole("combobox");
|
|
840
841
|
|
|
841
|
-
|
|
842
|
-
expect(list).toBeTruthy();
|
|
843
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
842
|
+
_react2.fireEvent.focus(input);
|
|
844
843
|
|
|
845
|
-
|
|
844
|
+
var list = getByRole("listbox");
|
|
845
|
+
expect(list).toBeTruthy();
|
|
846
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
846
847
|
|
|
847
|
-
|
|
848
|
+
_userEvent["default"].type(input, "x");
|
|
848
849
|
|
|
849
|
-
|
|
850
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
850
851
|
|
|
851
|
-
|
|
852
|
+
_react2.fireEvent.focus(input);
|
|
852
853
|
|
|
853
|
-
|
|
854
|
-
key: "ArrowUp",
|
|
855
|
-
code: "ArrowUp",
|
|
856
|
-
keyCode: 38,
|
|
857
|
-
charCode: 38
|
|
858
|
-
});
|
|
854
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
859
855
|
|
|
860
|
-
|
|
856
|
+
_react2.fireEvent.keyDown(input, {
|
|
857
|
+
key: "ArrowUp",
|
|
858
|
+
code: "ArrowUp",
|
|
859
|
+
keyCode: 38,
|
|
860
|
+
charCode: 38
|
|
861
|
+
});
|
|
861
862
|
|
|
862
|
-
|
|
863
|
-
key: "ArrowDown",
|
|
864
|
-
code: "ArrowDown",
|
|
865
|
-
keyCode: 40,
|
|
866
|
-
charCode: 40
|
|
867
|
-
});
|
|
863
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
868
864
|
|
|
869
|
-
|
|
865
|
+
_react2.fireEvent.keyDown(input, {
|
|
866
|
+
key: "ArrowDown",
|
|
867
|
+
code: "ArrowDown",
|
|
868
|
+
keyCode: 40,
|
|
869
|
+
charCode: 40
|
|
870
|
+
});
|
|
870
871
|
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
}
|
|
876
|
-
}, _callee7);
|
|
877
|
-
})));
|
|
878
|
-
test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
879
|
-
var onChange, _render27, getByRole, getByText, queryByRole, input;
|
|
872
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
873
|
+
});
|
|
874
|
+
test("Autosuggest uncontrolled - Suggestion selected by click", function () {
|
|
875
|
+
var onChange = jest.fn();
|
|
880
876
|
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
onChange: onChange
|
|
890
|
-
})), getByRole = _render27.getByRole, getByText = _render27.getByText, queryByRole = _render27.queryByRole;
|
|
891
|
-
input = getByRole("combobox");
|
|
877
|
+
var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
878
|
+
label: "Autocomplete Countries",
|
|
879
|
+
suggestions: countries,
|
|
880
|
+
onChange: onChange
|
|
881
|
+
})),
|
|
882
|
+
getByRole = _render28.getByRole,
|
|
883
|
+
getByText = _render28.getByText,
|
|
884
|
+
queryByRole = _render28.queryByRole;
|
|
892
885
|
|
|
893
|
-
|
|
886
|
+
var input = getByRole("combobox");
|
|
894
887
|
|
|
895
|
-
|
|
888
|
+
_react2.fireEvent.focus(input);
|
|
896
889
|
|
|
897
|
-
|
|
898
|
-
expect(getByText("Alba")).toBeTruthy();
|
|
899
|
-
expect(getByText("nia")).toBeTruthy();
|
|
890
|
+
_userEvent["default"].type(input, "Alba");
|
|
900
891
|
|
|
901
|
-
|
|
892
|
+
expect(onChange).toHaveBeenCalled();
|
|
893
|
+
expect(getByText("Alba")).toBeTruthy();
|
|
894
|
+
expect(getByText("nia")).toBeTruthy();
|
|
902
895
|
|
|
903
|
-
|
|
904
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
896
|
+
_userEvent["default"].click(getByRole("option"));
|
|
905
897
|
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
}, _callee8);
|
|
912
|
-
})));
|
|
913
|
-
test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
914
|
-
var onChange, _render28, getByRole, getByText, queryByRole, input;
|
|
898
|
+
expect(input.value).toBe("Albania");
|
|
899
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
900
|
+
});
|
|
901
|
+
test("Autosuggest controlled - Suggestion selected by click", function () {
|
|
902
|
+
var onChange = jest.fn();
|
|
915
903
|
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
onChange: onChange
|
|
926
|
-
})), getByRole = _render28.getByRole, getByText = _render28.getByText, queryByRole = _render28.queryByRole;
|
|
927
|
-
input = getByRole("combobox");
|
|
904
|
+
var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
905
|
+
label: "Autocomplete Countries",
|
|
906
|
+
value: "Andor",
|
|
907
|
+
suggestions: countries,
|
|
908
|
+
onChange: onChange
|
|
909
|
+
})),
|
|
910
|
+
getByRole = _render29.getByRole,
|
|
911
|
+
getByText = _render29.getByText,
|
|
912
|
+
queryByRole = _render29.queryByRole;
|
|
928
913
|
|
|
929
|
-
|
|
914
|
+
var input = getByRole("combobox");
|
|
930
915
|
|
|
931
|
-
|
|
932
|
-
expect(getByText("Andor")).toBeTruthy();
|
|
933
|
-
expect(getByText("ra")).toBeTruthy();
|
|
916
|
+
_userEvent["default"].click(getByText("Autocomplete Countries"));
|
|
934
917
|
|
|
935
|
-
|
|
918
|
+
expect(input.value).toBe("Andor");
|
|
919
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
920
|
+
expect(getByText("ra")).toBeTruthy();
|
|
936
921
|
|
|
937
|
-
|
|
938
|
-
value: "Andorra"
|
|
939
|
-
});
|
|
940
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
922
|
+
_userEvent["default"].click(getByRole("option"));
|
|
941
923
|
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
var onChange, onBlur, _render29, getByRole, getByText, input;
|
|
924
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
925
|
+
value: "Andorra"
|
|
926
|
+
});
|
|
927
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
928
|
+
});
|
|
929
|
+
test("Autosuggest - Pattern constraint", function () {
|
|
930
|
+
var onChange = jest.fn();
|
|
931
|
+
var onBlur = jest.fn();
|
|
951
932
|
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
onChange: onChange,
|
|
962
|
-
onBlur: onBlur,
|
|
963
|
-
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
964
|
-
})), getByRole = _render29.getByRole, getByText = _render29.getByText;
|
|
965
|
-
input = getByRole("combobox");
|
|
933
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
934
|
+
label: "Autocomplete Countries",
|
|
935
|
+
suggestions: countries,
|
|
936
|
+
onChange: onChange,
|
|
937
|
+
onBlur: onBlur,
|
|
938
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
939
|
+
})),
|
|
940
|
+
getByRole = _render30.getByRole,
|
|
941
|
+
getByText = _render30.getByText;
|
|
966
942
|
|
|
967
|
-
|
|
943
|
+
var input = getByRole("combobox");
|
|
968
944
|
|
|
969
|
-
|
|
945
|
+
_react2.fireEvent.focus(input);
|
|
970
946
|
|
|
971
|
-
|
|
972
|
-
expect(getByText("ra")).toBeTruthy();
|
|
947
|
+
_userEvent["default"].type(input, "Andor");
|
|
973
948
|
|
|
974
|
-
|
|
949
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
950
|
+
expect(getByText("ra")).toBeTruthy();
|
|
975
951
|
|
|
976
|
-
|
|
977
|
-
value: "Andorra",
|
|
978
|
-
error: "Please match the format requested."
|
|
979
|
-
});
|
|
952
|
+
_userEvent["default"].click(getByRole("option"));
|
|
980
953
|
|
|
981
|
-
|
|
954
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
955
|
+
value: "Andorra",
|
|
956
|
+
error: "Please match the format requested."
|
|
957
|
+
});
|
|
982
958
|
|
|
983
|
-
|
|
984
|
-
value: "Andorra",
|
|
985
|
-
error: "Please match the format requested."
|
|
986
|
-
});
|
|
959
|
+
_react2.fireEvent.blur(input);
|
|
987
960
|
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
var onChange, onBlur, _render30, getByText, getByRole, input;
|
|
961
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
962
|
+
value: "Andorra",
|
|
963
|
+
error: "Please match the format requested."
|
|
964
|
+
});
|
|
965
|
+
});
|
|
966
|
+
test("Autosuggest - Length constraint", function () {
|
|
967
|
+
var onChange = jest.fn();
|
|
968
|
+
var onBlur = jest.fn();
|
|
997
969
|
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
onBlur: onBlur,
|
|
1009
|
-
minLength: 5,
|
|
1010
|
-
maxLength: 10
|
|
1011
|
-
})), getByText = _render30.getByText, getByRole = _render30.getByRole;
|
|
1012
|
-
input = getByRole("combobox");
|
|
970
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
971
|
+
label: "Autocomplete Countries",
|
|
972
|
+
suggestions: countries,
|
|
973
|
+
onChange: onChange,
|
|
974
|
+
onBlur: onBlur,
|
|
975
|
+
minLength: 5,
|
|
976
|
+
maxLength: 10
|
|
977
|
+
})),
|
|
978
|
+
getByText = _render31.getByText,
|
|
979
|
+
getByRole = _render31.getByRole;
|
|
1013
980
|
|
|
1014
|
-
|
|
981
|
+
var input = getByRole("combobox");
|
|
1015
982
|
|
|
1016
|
-
|
|
983
|
+
_react2.fireEvent.focus(input);
|
|
1017
984
|
|
|
1018
|
-
|
|
1019
|
-
expect(getByText("d")).toBeTruthy();
|
|
985
|
+
_userEvent["default"].type(input, "Cha");
|
|
1020
986
|
|
|
1021
|
-
|
|
987
|
+
expect(getByText("Cha")).toBeTruthy();
|
|
988
|
+
expect(getByText("d")).toBeTruthy();
|
|
1022
989
|
|
|
1023
|
-
|
|
1024
|
-
value: "Cha",
|
|
1025
|
-
error: "Min length 5, max length 10."
|
|
1026
|
-
});
|
|
990
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1027
991
|
|
|
1028
|
-
|
|
992
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
993
|
+
value: "Cha",
|
|
994
|
+
error: "Min length 5, max length 10."
|
|
995
|
+
});
|
|
1029
996
|
|
|
1030
|
-
|
|
1031
|
-
value: "Chad",
|
|
1032
|
-
error: "Min length 5, max length 10."
|
|
1033
|
-
});
|
|
997
|
+
_react2.fireEvent.blur(input);
|
|
1034
998
|
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
|
|
1043
|
-
var onChange, _render31, getByRole, queryByRole, input, list;
|
|
999
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
1000
|
+
value: "Chad",
|
|
1001
|
+
error: "Min length 5, max length 10."
|
|
1002
|
+
});
|
|
1003
|
+
});
|
|
1004
|
+
test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", function () {
|
|
1005
|
+
var onChange = jest.fn();
|
|
1044
1006
|
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
suggestions: countries,
|
|
1053
|
-
onChange: onChange
|
|
1054
|
-
})), getByRole = _render31.getByRole, queryByRole = _render31.queryByRole;
|
|
1055
|
-
input = getByRole("combobox");
|
|
1007
|
+
var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1008
|
+
label: "Autocomplete Countries",
|
|
1009
|
+
suggestions: countries,
|
|
1010
|
+
onChange: onChange
|
|
1011
|
+
})),
|
|
1012
|
+
getByRole = _render32.getByRole,
|
|
1013
|
+
queryByRole = _render32.queryByRole;
|
|
1056
1014
|
|
|
1057
|
-
|
|
1058
|
-
key: "ArrowDown",
|
|
1059
|
-
code: "ArrowDown",
|
|
1060
|
-
keyCode: 40,
|
|
1061
|
-
charCode: 40
|
|
1062
|
-
});
|
|
1015
|
+
var input = getByRole("combobox");
|
|
1063
1016
|
|
|
1064
|
-
|
|
1065
|
-
|
|
1017
|
+
_react2.fireEvent.keyDown(input, {
|
|
1018
|
+
key: "ArrowDown",
|
|
1019
|
+
code: "ArrowDown",
|
|
1020
|
+
keyCode: 40,
|
|
1021
|
+
charCode: 40
|
|
1022
|
+
});
|
|
1066
1023
|
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
code: "Enter",
|
|
1070
|
-
keyCode: 13,
|
|
1071
|
-
charCode: 13
|
|
1072
|
-
});
|
|
1024
|
+
var list = getByRole("listbox");
|
|
1025
|
+
expect(list).toBeTruthy();
|
|
1073
1026
|
|
|
1074
|
-
|
|
1075
|
-
|
|
1027
|
+
_react2.fireEvent.keyDown(input, {
|
|
1028
|
+
key: "Enter",
|
|
1029
|
+
code: "Enter",
|
|
1030
|
+
keyCode: 13,
|
|
1031
|
+
charCode: 13
|
|
1032
|
+
});
|
|
1076
1033
|
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
}, _callee12);
|
|
1083
|
-
})));
|
|
1084
|
-
test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
|
|
1085
|
-
var onChange, _render32, getByRole, queryByRole, input, list;
|
|
1034
|
+
expect(input.value).toBe("Afghanistan");
|
|
1035
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1036
|
+
});
|
|
1037
|
+
test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", function () {
|
|
1038
|
+
var onChange = jest.fn();
|
|
1086
1039
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
suggestions: countries,
|
|
1095
|
-
onChange: onChange
|
|
1096
|
-
})), getByRole = _render32.getByRole, queryByRole = _render32.queryByRole;
|
|
1097
|
-
input = getByRole("combobox");
|
|
1040
|
+
var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1041
|
+
label: "Autocomplete Countries",
|
|
1042
|
+
suggestions: countries,
|
|
1043
|
+
onChange: onChange
|
|
1044
|
+
})),
|
|
1045
|
+
getByRole = _render33.getByRole,
|
|
1046
|
+
queryByRole = _render33.queryByRole;
|
|
1098
1047
|
|
|
1099
|
-
|
|
1100
|
-
key: "ArrowUp",
|
|
1101
|
-
code: "ArrowUp",
|
|
1102
|
-
keyCode: 38,
|
|
1103
|
-
charCode: 38
|
|
1104
|
-
});
|
|
1048
|
+
var input = getByRole("combobox");
|
|
1105
1049
|
|
|
1106
|
-
|
|
1107
|
-
|
|
1050
|
+
_react2.fireEvent.keyDown(input, {
|
|
1051
|
+
key: "ArrowUp",
|
|
1052
|
+
code: "ArrowUp",
|
|
1053
|
+
keyCode: 38,
|
|
1054
|
+
charCode: 38
|
|
1055
|
+
});
|
|
1108
1056
|
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
code: "Enter",
|
|
1112
|
-
keyCode: 13,
|
|
1113
|
-
charCode: 13
|
|
1114
|
-
});
|
|
1057
|
+
var list = getByRole("listbox");
|
|
1058
|
+
expect(list).toBeTruthy();
|
|
1115
1059
|
|
|
1116
|
-
|
|
1117
|
-
|
|
1060
|
+
_react2.fireEvent.keyDown(input, {
|
|
1061
|
+
key: "Enter",
|
|
1062
|
+
code: "Enter",
|
|
1063
|
+
keyCode: 13,
|
|
1064
|
+
charCode: 13
|
|
1065
|
+
});
|
|
1118
1066
|
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
}, _callee13);
|
|
1125
|
-
})));
|
|
1126
|
-
test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
|
|
1127
|
-
var onChange, _render33, getByRole, queryByRole, input, list;
|
|
1067
|
+
expect(input.value).toBe("Djibouti");
|
|
1068
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1069
|
+
});
|
|
1070
|
+
test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", function () {
|
|
1071
|
+
var onChange = jest.fn();
|
|
1128
1072
|
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
suggestions: countries,
|
|
1137
|
-
onChange: onChange
|
|
1138
|
-
})), getByRole = _render33.getByRole, queryByRole = _render33.queryByRole;
|
|
1139
|
-
input = getByRole("combobox");
|
|
1073
|
+
var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1074
|
+
label: "Autocomplete Countries",
|
|
1075
|
+
suggestions: countries,
|
|
1076
|
+
onChange: onChange
|
|
1077
|
+
})),
|
|
1078
|
+
getByRole = _render34.getByRole,
|
|
1079
|
+
queryByRole = _render34.queryByRole;
|
|
1140
1080
|
|
|
1141
|
-
|
|
1081
|
+
var input = getByRole("combobox");
|
|
1142
1082
|
|
|
1143
|
-
|
|
1083
|
+
_react2.fireEvent.focus(input);
|
|
1144
1084
|
|
|
1145
|
-
|
|
1146
|
-
expect(list).toBeTruthy();
|
|
1085
|
+
_userEvent["default"].type(input, "Bangla");
|
|
1147
1086
|
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
code: "Esc",
|
|
1151
|
-
keyCode: 27,
|
|
1152
|
-
charCode: 27
|
|
1153
|
-
});
|
|
1087
|
+
var list = getByRole("listbox");
|
|
1088
|
+
expect(list).toBeTruthy();
|
|
1154
1089
|
|
|
1155
|
-
|
|
1156
|
-
|
|
1090
|
+
_react2.fireEvent.keyDown(input, {
|
|
1091
|
+
key: "Esc",
|
|
1092
|
+
code: "Esc",
|
|
1093
|
+
keyCode: 27,
|
|
1094
|
+
charCode: 27
|
|
1095
|
+
});
|
|
1157
1096
|
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
}, _callee14);
|
|
1164
|
-
})));
|
|
1165
|
-
test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
|
|
1166
|
-
var onChange, _render34, getByRole, queryByRole, input, list;
|
|
1097
|
+
expect(input.value).toBe("");
|
|
1098
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1099
|
+
});
|
|
1100
|
+
test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", function () {
|
|
1101
|
+
var onChange = jest.fn();
|
|
1167
1102
|
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
suggestions: countries,
|
|
1176
|
-
onChange: onChange
|
|
1177
|
-
})), getByRole = _render34.getByRole, queryByRole = _render34.queryByRole;
|
|
1178
|
-
input = getByRole("combobox");
|
|
1103
|
+
var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1104
|
+
label: "Autocomplete Countries",
|
|
1105
|
+
suggestions: countries,
|
|
1106
|
+
onChange: onChange
|
|
1107
|
+
})),
|
|
1108
|
+
getByRole = _render35.getByRole,
|
|
1109
|
+
queryByRole = _render35.queryByRole;
|
|
1179
1110
|
|
|
1180
|
-
|
|
1111
|
+
var input = getByRole("combobox");
|
|
1181
1112
|
|
|
1182
|
-
|
|
1183
|
-
expect(list).toBeTruthy();
|
|
1113
|
+
_react2.fireEvent.focus(input);
|
|
1184
1114
|
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
code: "Enter",
|
|
1188
|
-
keyCode: 27,
|
|
1189
|
-
charCode: 27
|
|
1190
|
-
});
|
|
1115
|
+
var list = getByRole("listbox");
|
|
1116
|
+
expect(list).toBeTruthy();
|
|
1191
1117
|
|
|
1192
|
-
|
|
1193
|
-
|
|
1118
|
+
_react2.fireEvent.keyDown(input, {
|
|
1119
|
+
key: "Enter",
|
|
1120
|
+
code: "Enter",
|
|
1121
|
+
keyCode: 27,
|
|
1122
|
+
charCode: 27
|
|
1123
|
+
});
|
|
1194
1124
|
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
}, _callee15);
|
|
1201
|
-
})));
|
|
1202
|
-
test("Autosuggest complex key secuence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
|
|
1203
|
-
var onChange, _render35, getByRole, queryByRole, input;
|
|
1125
|
+
expect(input.value).toBe("");
|
|
1126
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1127
|
+
});
|
|
1128
|
+
test("Autosuggest complex key secuence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", function () {
|
|
1129
|
+
var onChange = jest.fn();
|
|
1204
1130
|
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
suggestions: countries,
|
|
1213
|
-
onChange: onChange
|
|
1214
|
-
})), getByRole = _render35.getByRole, queryByRole = _render35.queryByRole;
|
|
1215
|
-
input = getByRole("combobox");
|
|
1131
|
+
var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1132
|
+
label: "Autocomplete Countries",
|
|
1133
|
+
suggestions: countries,
|
|
1134
|
+
onChange: onChange
|
|
1135
|
+
})),
|
|
1136
|
+
getByRole = _render36.getByRole,
|
|
1137
|
+
queryByRole = _render36.queryByRole;
|
|
1216
1138
|
|
|
1217
|
-
|
|
1139
|
+
var input = getByRole("combobox");
|
|
1218
1140
|
|
|
1219
|
-
|
|
1141
|
+
_react2.fireEvent.focus(input);
|
|
1220
1142
|
|
|
1221
|
-
|
|
1222
|
-
key: "ArrowUp",
|
|
1223
|
-
code: "ArrowUp",
|
|
1224
|
-
keyCode: 38,
|
|
1225
|
-
charCode: 38
|
|
1226
|
-
});
|
|
1143
|
+
_userEvent["default"].type(input, "Ba");
|
|
1227
1144
|
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1145
|
+
_react2.fireEvent.keyDown(input, {
|
|
1146
|
+
key: "ArrowUp",
|
|
1147
|
+
code: "ArrowUp",
|
|
1148
|
+
keyCode: 38,
|
|
1149
|
+
charCode: 38
|
|
1150
|
+
});
|
|
1234
1151
|
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1152
|
+
_react2.fireEvent.keyDown(input, {
|
|
1153
|
+
key: "ArrowUp",
|
|
1154
|
+
code: "ArrowUpp",
|
|
1155
|
+
keyCode: 38,
|
|
1156
|
+
charCode: 38
|
|
1157
|
+
});
|
|
1241
1158
|
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1159
|
+
_react2.fireEvent.keyDown(input, {
|
|
1160
|
+
key: "ArrowDown",
|
|
1161
|
+
code: "ArrowDown",
|
|
1162
|
+
keyCode: 40,
|
|
1163
|
+
charCode: 40
|
|
1164
|
+
});
|
|
1248
1165
|
|
|
1249
|
-
|
|
1250
|
-
|
|
1166
|
+
_react2.fireEvent.keyDown(input, {
|
|
1167
|
+
key: "Enter",
|
|
1168
|
+
code: "Enter",
|
|
1169
|
+
keyCode: 13,
|
|
1170
|
+
charCode: 13
|
|
1171
|
+
});
|
|
1251
1172
|
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
code: "Esp",
|
|
1255
|
-
keyCode: 27,
|
|
1256
|
-
charCode: 27
|
|
1257
|
-
});
|
|
1173
|
+
expect(input.value).toBe("Barbados");
|
|
1174
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1258
1175
|
|
|
1259
|
-
|
|
1260
|
-
|
|
1176
|
+
_react2.fireEvent.keyDown(input, {
|
|
1177
|
+
key: "Esc",
|
|
1178
|
+
code: "Esp",
|
|
1179
|
+
keyCode: 27,
|
|
1180
|
+
charCode: 27
|
|
1181
|
+
});
|
|
1261
1182
|
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
}
|
|
1266
|
-
}
|
|
1267
|
-
}, _callee16);
|
|
1268
|
-
})));
|
|
1183
|
+
expect(input.value).toBe("");
|
|
1184
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1185
|
+
});
|
|
1269
1186
|
});
|
|
1270
1187
|
describe("TextInput component asynchronous autosuggest tests", function () {
|
|
1271
|
-
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1272
|
-
var callbackFunc, onChange,
|
|
1188
|
+
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
1189
|
+
var callbackFunc, onChange, _render37, getByRole, getByText, input;
|
|
1273
1190
|
|
|
1274
|
-
return _regenerator["default"].wrap(function
|
|
1191
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
1275
1192
|
while (1) {
|
|
1276
|
-
switch (
|
|
1193
|
+
switch (_context.prev = _context.next) {
|
|
1277
1194
|
case 0:
|
|
1278
1195
|
callbackFunc = jest.fn(function (newValue) {
|
|
1279
1196
|
var result = new Promise(function (resolve) {
|
|
@@ -1286,17 +1203,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1286
1203
|
return result;
|
|
1287
1204
|
});
|
|
1288
1205
|
onChange = jest.fn();
|
|
1289
|
-
|
|
1206
|
+
_render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1290
1207
|
label: "Autosuggest Countries",
|
|
1291
1208
|
suggestions: callbackFunc,
|
|
1292
1209
|
onChange: onChange
|
|
1293
|
-
})), getByRole =
|
|
1210
|
+
})), getByRole = _render37.getByRole, getByText = _render37.getByText;
|
|
1294
1211
|
input = getByRole("combobox");
|
|
1295
1212
|
|
|
1296
1213
|
_react2.fireEvent.focus(input);
|
|
1297
1214
|
|
|
1298
1215
|
expect(getByRole("listbox")).toBeTruthy();
|
|
1299
|
-
|
|
1216
|
+
_context.next = 8;
|
|
1300
1217
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1301
1218
|
return getByText("Searching...");
|
|
1302
1219
|
});
|
|
@@ -1309,7 +1226,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1309
1226
|
|
|
1310
1227
|
_userEvent["default"].type(input, "Ab");
|
|
1311
1228
|
|
|
1312
|
-
|
|
1229
|
+
_context.next = 15;
|
|
1313
1230
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1314
1231
|
return getByText("Searching...");
|
|
1315
1232
|
});
|
|
@@ -1335,66 +1252,58 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1335
1252
|
|
|
1336
1253
|
case 19:
|
|
1337
1254
|
case "end":
|
|
1338
|
-
return
|
|
1255
|
+
return _context.stop();
|
|
1339
1256
|
}
|
|
1340
1257
|
}
|
|
1341
|
-
},
|
|
1258
|
+
}, _callee);
|
|
1342
1259
|
})));
|
|
1343
|
-
test("Autosuggest Esc key works while 'Searching...' message is shown",
|
|
1344
|
-
var callbackFunc
|
|
1260
|
+
test("Autosuggest Esc key works while 'Searching...' message is shown", function () {
|
|
1261
|
+
var callbackFunc = jest.fn(function (newValue) {
|
|
1262
|
+
var result = new Promise(function (resolve) {
|
|
1263
|
+
return setTimeout(function () {
|
|
1264
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1265
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1266
|
+
}) : countries);
|
|
1267
|
+
}, 100);
|
|
1268
|
+
});
|
|
1269
|
+
return result;
|
|
1270
|
+
});
|
|
1271
|
+
var onChange = jest.fn();
|
|
1345
1272
|
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1355
|
-
}) : countries);
|
|
1356
|
-
}, 100);
|
|
1357
|
-
});
|
|
1358
|
-
return result;
|
|
1359
|
-
});
|
|
1360
|
-
onChange = jest.fn();
|
|
1361
|
-
_render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1362
|
-
label: "Autosuggest Countries",
|
|
1363
|
-
suggestions: callbackFunc,
|
|
1364
|
-
onChange: onChange
|
|
1365
|
-
})), getByRole = _render37.getByRole, queryByText = _render37.queryByText, queryByRole = _render37.queryByRole;
|
|
1366
|
-
input = getByRole("combobox");
|
|
1273
|
+
var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1274
|
+
label: "Autosuggest Countries",
|
|
1275
|
+
suggestions: callbackFunc,
|
|
1276
|
+
onChange: onChange
|
|
1277
|
+
})),
|
|
1278
|
+
getByRole = _render38.getByRole,
|
|
1279
|
+
queryByText = _render38.queryByText,
|
|
1280
|
+
queryByRole = _render38.queryByRole;
|
|
1367
1281
|
|
|
1368
|
-
|
|
1282
|
+
var input = getByRole("combobox");
|
|
1369
1283
|
|
|
1370
|
-
|
|
1284
|
+
_react2.fireEvent.focus(input);
|
|
1371
1285
|
|
|
1372
|
-
|
|
1286
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
1373
1287
|
|
|
1374
|
-
|
|
1375
|
-
key: "Esc",
|
|
1376
|
-
code: "Esc",
|
|
1377
|
-
keyCode: 27,
|
|
1378
|
-
charCode: 27
|
|
1379
|
-
});
|
|
1288
|
+
_userEvent["default"].type(input, "Ab");
|
|
1380
1289
|
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1290
|
+
_react2.fireEvent.keyDown(input, {
|
|
1291
|
+
key: "Esc",
|
|
1292
|
+
code: "Esc",
|
|
1293
|
+
keyCode: 27,
|
|
1294
|
+
charCode: 27
|
|
1295
|
+
});
|
|
1384
1296
|
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
})));
|
|
1392
|
-
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
|
|
1393
|
-
var callbackFunc, onChange, _render38, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1297
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1298
|
+
expect(queryByText("Searching...")).toBeFalsy();
|
|
1299
|
+
expect(input.value).toBe("");
|
|
1300
|
+
});
|
|
1301
|
+
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
1302
|
+
var callbackFunc, onChange, _render39, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1394
1303
|
|
|
1395
|
-
return _regenerator["default"].wrap(function
|
|
1304
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
1396
1305
|
while (1) {
|
|
1397
|
-
switch (
|
|
1306
|
+
switch (_context2.prev = _context2.next) {
|
|
1398
1307
|
case 0:
|
|
1399
1308
|
callbackFunc = jest.fn(function (newValue) {
|
|
1400
1309
|
var result = new Promise(function (resolve) {
|
|
@@ -1407,11 +1316,11 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1407
1316
|
return result;
|
|
1408
1317
|
});
|
|
1409
1318
|
onChange = jest.fn();
|
|
1410
|
-
|
|
1319
|
+
_render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1411
1320
|
label: "Autosuggest Countries",
|
|
1412
1321
|
suggestions: callbackFunc,
|
|
1413
1322
|
onChange: onChange
|
|
1414
|
-
})), getByRole =
|
|
1323
|
+
})), getByRole = _render39.getByRole, getByText = _render39.getByText, queryByText = _render39.queryByText, queryByRole = _render39.queryByRole;
|
|
1415
1324
|
input = getByRole("combobox");
|
|
1416
1325
|
|
|
1417
1326
|
_react2.fireEvent.focus(input);
|
|
@@ -1440,7 +1349,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1440
1349
|
});
|
|
1441
1350
|
|
|
1442
1351
|
expect(list).toBeTruthy();
|
|
1443
|
-
|
|
1352
|
+
_context2.next = 16;
|
|
1444
1353
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1445
1354
|
return getByText("Searching...");
|
|
1446
1355
|
});
|
|
@@ -1453,17 +1362,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1453
1362
|
|
|
1454
1363
|
case 20:
|
|
1455
1364
|
case "end":
|
|
1456
|
-
return
|
|
1365
|
+
return _context2.stop();
|
|
1457
1366
|
}
|
|
1458
1367
|
}
|
|
1459
|
-
},
|
|
1368
|
+
}, _callee2);
|
|
1460
1369
|
})));
|
|
1461
|
-
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1462
|
-
var callbackFunc, onChange,
|
|
1370
|
+
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
1371
|
+
var callbackFunc, onChange, _render40, getByRole, getByText, input;
|
|
1463
1372
|
|
|
1464
|
-
return _regenerator["default"].wrap(function
|
|
1373
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
1465
1374
|
while (1) {
|
|
1466
|
-
switch (
|
|
1375
|
+
switch (_context3.prev = _context3.next) {
|
|
1467
1376
|
case 0:
|
|
1468
1377
|
callbackFunc = jest.fn(function (newValue) {
|
|
1469
1378
|
var result = new Promise(function (resolve) {
|
|
@@ -1476,18 +1385,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1476
1385
|
return result;
|
|
1477
1386
|
});
|
|
1478
1387
|
onChange = jest.fn();
|
|
1479
|
-
|
|
1388
|
+
_render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1480
1389
|
label: "Autosuggest Countries",
|
|
1481
1390
|
onChange: onChange,
|
|
1482
1391
|
suggestions: callbackFunc
|
|
1483
|
-
})), getByRole =
|
|
1392
|
+
})), getByRole = _render40.getByRole, getByText = _render40.getByText;
|
|
1484
1393
|
input = getByRole("combobox");
|
|
1485
1394
|
|
|
1486
1395
|
_react2.fireEvent.focus(input);
|
|
1487
1396
|
|
|
1488
1397
|
_userEvent["default"].type(input, "Den");
|
|
1489
1398
|
|
|
1490
|
-
|
|
1399
|
+
_context3.next = 8;
|
|
1491
1400
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1492
1401
|
return getByText("Searching...");
|
|
1493
1402
|
});
|
|
@@ -1504,17 +1413,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1504
1413
|
|
|
1505
1414
|
case 12:
|
|
1506
1415
|
case "end":
|
|
1507
|
-
return
|
|
1416
|
+
return _context3.stop();
|
|
1508
1417
|
}
|
|
1509
1418
|
}
|
|
1510
|
-
},
|
|
1419
|
+
}, _callee3);
|
|
1511
1420
|
})));
|
|
1512
|
-
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1513
|
-
var callbackFunc, onChange,
|
|
1421
|
+
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
1422
|
+
var callbackFunc, onChange, _render41, getByRole, getByText, queryByRole, input;
|
|
1514
1423
|
|
|
1515
|
-
return _regenerator["default"].wrap(function
|
|
1424
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
1516
1425
|
while (1) {
|
|
1517
|
-
switch (
|
|
1426
|
+
switch (_context4.prev = _context4.next) {
|
|
1518
1427
|
case 0:
|
|
1519
1428
|
callbackFunc = jest.fn(function (newValue) {
|
|
1520
1429
|
var result = new Promise(function (resolve) {
|
|
@@ -1527,45 +1436,47 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1527
1436
|
return result;
|
|
1528
1437
|
});
|
|
1529
1438
|
onChange = jest.fn();
|
|
1530
|
-
|
|
1439
|
+
_render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1531
1440
|
label: "Autosuggest Countries",
|
|
1532
1441
|
value: "Denm",
|
|
1533
1442
|
onChange: onChange,
|
|
1534
1443
|
suggestions: callbackFunc
|
|
1535
|
-
})), getByRole =
|
|
1444
|
+
})), getByRole = _render41.getByRole, getByText = _render41.getByText, queryByRole = _render41.queryByRole;
|
|
1536
1445
|
input = getByRole("combobox");
|
|
1446
|
+
expect(input.value).toBe("Denm");
|
|
1537
1447
|
|
|
1538
|
-
|
|
1448
|
+
_userEvent["default"].click(getByText("Autosuggest Countries"));
|
|
1539
1449
|
|
|
1540
|
-
|
|
1450
|
+
_context4.next = 8;
|
|
1541
1451
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1542
1452
|
return getByText("Searching...");
|
|
1543
1453
|
});
|
|
1544
1454
|
|
|
1545
|
-
case
|
|
1546
|
-
expect(input.value).toBe("Denm");
|
|
1455
|
+
case 8:
|
|
1547
1456
|
expect(getByText("Denmark")).toBeTruthy();
|
|
1548
1457
|
|
|
1549
|
-
|
|
1458
|
+
_react2.fireEvent.focus(getByRole("option"));
|
|
1459
|
+
|
|
1460
|
+
_userEvent["default"].click(getByText("Denmark"));
|
|
1550
1461
|
|
|
1551
1462
|
expect(onChange).toHaveBeenCalledWith({
|
|
1552
1463
|
value: "Denmark"
|
|
1553
1464
|
});
|
|
1554
1465
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1555
1466
|
|
|
1556
|
-
case
|
|
1467
|
+
case 13:
|
|
1557
1468
|
case "end":
|
|
1558
|
-
return
|
|
1469
|
+
return _context4.stop();
|
|
1559
1470
|
}
|
|
1560
1471
|
}
|
|
1561
|
-
},
|
|
1472
|
+
}, _callee4);
|
|
1562
1473
|
})));
|
|
1563
|
-
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1564
|
-
var callbackFunc, onChange,
|
|
1474
|
+
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
1475
|
+
var callbackFunc, onChange, _render42, getByText, getByRole, queryByRole, input;
|
|
1565
1476
|
|
|
1566
|
-
return _regenerator["default"].wrap(function
|
|
1477
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
1567
1478
|
while (1) {
|
|
1568
|
-
switch (
|
|
1479
|
+
switch (_context5.prev = _context5.next) {
|
|
1569
1480
|
case 0:
|
|
1570
1481
|
callbackFunc = jest.fn(function (newValue) {
|
|
1571
1482
|
var result = new Promise(function (resolve) {
|
|
@@ -1578,18 +1489,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1578
1489
|
return result;
|
|
1579
1490
|
});
|
|
1580
1491
|
onChange = jest.fn();
|
|
1581
|
-
|
|
1492
|
+
_render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1582
1493
|
label: "Autosuggest Countries",
|
|
1583
1494
|
onChange: onChange,
|
|
1584
1495
|
suggestions: callbackFunc
|
|
1585
|
-
})), getByText =
|
|
1496
|
+
})), getByText = _render42.getByText, getByRole = _render42.getByRole, queryByRole = _render42.queryByRole;
|
|
1586
1497
|
input = getByRole("combobox");
|
|
1587
1498
|
|
|
1588
1499
|
_react2.fireEvent.focus(input);
|
|
1589
1500
|
|
|
1590
1501
|
_userEvent["default"].type(input, "Example text");
|
|
1591
1502
|
|
|
1592
|
-
|
|
1503
|
+
_context5.next = 8;
|
|
1593
1504
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1594
1505
|
return getByText("Searching...");
|
|
1595
1506
|
});
|
|
@@ -1599,17 +1510,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1599
1510
|
|
|
1600
1511
|
case 9:
|
|
1601
1512
|
case "end":
|
|
1602
|
-
return
|
|
1513
|
+
return _context5.stop();
|
|
1603
1514
|
}
|
|
1604
1515
|
}
|
|
1605
|
-
},
|
|
1516
|
+
}, _callee5);
|
|
1606
1517
|
})));
|
|
1607
|
-
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1608
|
-
var callbackFunc, onChange,
|
|
1518
|
+
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
1519
|
+
var callbackFunc, onChange, _render43, getByText, getByRole, queryByRole, input;
|
|
1609
1520
|
|
|
1610
|
-
return _regenerator["default"].wrap(function
|
|
1521
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1611
1522
|
while (1) {
|
|
1612
|
-
switch (
|
|
1523
|
+
switch (_context6.prev = _context6.next) {
|
|
1613
1524
|
case 0:
|
|
1614
1525
|
callbackFunc = jest.fn(function (newValue) {
|
|
1615
1526
|
var result = new Promise(function (resolve) {
|
|
@@ -1622,18 +1533,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1622
1533
|
return result;
|
|
1623
1534
|
});
|
|
1624
1535
|
onChange = jest.fn();
|
|
1625
|
-
|
|
1536
|
+
_render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1626
1537
|
label: "Autosuggest Countries",
|
|
1627
1538
|
onChange: onChange,
|
|
1628
1539
|
suggestions: callbackFunc
|
|
1629
|
-
})), getByText =
|
|
1540
|
+
})), getByText = _render43.getByText, getByRole = _render43.getByRole, queryByRole = _render43.queryByRole;
|
|
1630
1541
|
input = getByRole("combobox");
|
|
1631
1542
|
|
|
1632
1543
|
_react2.fireEvent.focus(input);
|
|
1633
1544
|
|
|
1634
1545
|
_userEvent["default"].type(input, "wrong");
|
|
1635
1546
|
|
|
1636
|
-
|
|
1547
|
+
_context6.next = 8;
|
|
1637
1548
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1638
1549
|
return getByText("Searching...");
|
|
1639
1550
|
});
|
|
@@ -1665,17 +1576,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1665
1576
|
|
|
1666
1577
|
case 15:
|
|
1667
1578
|
case "end":
|
|
1668
|
-
return
|
|
1579
|
+
return _context6.stop();
|
|
1669
1580
|
}
|
|
1670
1581
|
}
|
|
1671
|
-
},
|
|
1582
|
+
}, _callee6);
|
|
1672
1583
|
})));
|
|
1673
|
-
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1674
|
-
var errorCallbackFunc, onChange,
|
|
1584
|
+
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
1585
|
+
var errorCallbackFunc, onChange, _render44, getByRole, getByText, input;
|
|
1675
1586
|
|
|
1676
|
-
return _regenerator["default"].wrap(function
|
|
1587
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1677
1588
|
while (1) {
|
|
1678
|
-
switch (
|
|
1589
|
+
switch (_context7.prev = _context7.next) {
|
|
1679
1590
|
case 0:
|
|
1680
1591
|
errorCallbackFunc = jest.fn(function () {
|
|
1681
1592
|
var result = new Promise(function (resolve, reject) {
|
|
@@ -1686,16 +1597,16 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1686
1597
|
return result;
|
|
1687
1598
|
});
|
|
1688
1599
|
onChange = jest.fn();
|
|
1689
|
-
|
|
1600
|
+
_render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1690
1601
|
label: "Autosuggest Countries",
|
|
1691
1602
|
onChange: onChange,
|
|
1692
1603
|
suggestions: errorCallbackFunc
|
|
1693
|
-
})), getByRole =
|
|
1604
|
+
})), getByRole = _render44.getByRole, getByText = _render44.getByText;
|
|
1694
1605
|
input = getByRole("combobox");
|
|
1695
1606
|
|
|
1696
1607
|
_react2.fireEvent.focus(input);
|
|
1697
1608
|
|
|
1698
|
-
|
|
1609
|
+
_context7.next = 7;
|
|
1699
1610
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1700
1611
|
return getByText("Searching...");
|
|
1701
1612
|
});
|
|
@@ -1705,9 +1616,9 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1705
1616
|
|
|
1706
1617
|
case 8:
|
|
1707
1618
|
case "end":
|
|
1708
|
-
return
|
|
1619
|
+
return _context7.stop();
|
|
1709
1620
|
}
|
|
1710
1621
|
}
|
|
1711
|
-
},
|
|
1622
|
+
}, _callee7);
|
|
1712
1623
|
})));
|
|
1713
1624
|
});
|