@dxc-technology/halstack-react 0.0.0-301f60b → 0.0.0-309222c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +294 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +121 -123
- package/accordion/Accordion.stories.tsx +13 -14
- package/accordion/Accordion.test.js +25 -11
- package/accordion/types.d.ts +9 -4
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -36
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +30 -37
- package/accordion-group/types.d.ts +14 -3
- package/alert/Alert.js +5 -2
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +23 -33
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +53 -68
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +24 -27
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +106 -109
- package/checkbox/Checkbox.stories.tsx +146 -130
- package/checkbox/Checkbox.test.js +100 -10
- package/checkbox/types.d.ts +13 -5
- package/chip/types.d.ts +1 -1
- package/common/variables.js +236 -101
- package/date-input/DateInput.js +56 -42
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +161 -87
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +247 -251
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +504 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +183 -222
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +43 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -131
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +58 -75
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -10
- package/main.js +46 -56
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +45 -11
- package/number-input/types.d.ts +17 -10
- package/package.json +20 -16
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +43 -1
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +16 -18
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +342 -0
- package/quick-nav/types.d.ts +21 -0
- package/{row → quick-nav}/types.js +0 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +30 -27
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.js +1 -3
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +198 -0
- package/select/Option.js +1 -1
- package/select/Select.js +131 -226
- package/select/Select.stories.tsx +160 -115
- package/select/Select.test.js +608 -275
- package/select/types.d.ts +40 -13
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -156
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +122 -96
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +142 -21
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -67
- package/switch/Switch.stories.tsx +20 -42
- package/switch/Switch.test.js +155 -3
- package/switch/types.d.ts +12 -4
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +362 -108
- package/tabs/Tabs.stories.tsx +74 -8
- package/tabs/Tabs.test.js +241 -13
- package/tabs/types.d.ts +19 -5
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{stack → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +15 -20
- package/tag/Tag.stories.tsx +12 -8
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +213 -334
- package/text-input/TextInput.stories.tsx +189 -182
- package/text-input/TextInput.test.js +659 -760
- package/text-input/types.d.ts +46 -12
- package/textarea/Textarea.js +12 -23
- package/textarea/Textarea.test.js +10 -20
- package/textarea/types.d.ts +14 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +58 -54
- package/wizard/Wizard.stories.tsx +33 -24
- package/wizard/Wizard.test.js +36 -23
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
|
@@ -6,6 +6,10 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
6
6
|
|
|
7
7
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
8
|
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
|
|
9
13
|
var _react = _interopRequireDefault(require("react"));
|
|
10
14
|
|
|
11
15
|
var _react2 = require("@testing-library/react");
|
|
@@ -14,56 +18,54 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
|
14
18
|
|
|
15
19
|
var _TextInput = _interopRequireDefault(require("./TextInput"));
|
|
16
20
|
|
|
21
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
22
|
+
global.globalThis = global;
|
|
23
|
+
|
|
24
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
25
|
+
function ResizeObserver(cb) {
|
|
26
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
27
|
+
this.cb = cb;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
key: "observe",
|
|
32
|
+
value: function observe() {
|
|
33
|
+
this.cb([{
|
|
34
|
+
borderBoxSize: {
|
|
35
|
+
inlineSize: 0,
|
|
36
|
+
blockSize: 0
|
|
37
|
+
}
|
|
38
|
+
}]);
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
key: "unobserve",
|
|
42
|
+
value: function unobserve() {}
|
|
43
|
+
}]);
|
|
44
|
+
return ResizeObserver;
|
|
45
|
+
}();
|
|
46
|
+
|
|
47
|
+
global.DOMRect = {
|
|
48
|
+
fromRect: function fromRect() {
|
|
49
|
+
return {
|
|
50
|
+
top: 0,
|
|
51
|
+
left: 0,
|
|
52
|
+
bottom: 0,
|
|
53
|
+
right: 0,
|
|
54
|
+
width: 0,
|
|
55
|
+
height: 0
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
17
59
|
var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
|
|
18
60
|
describe("TextInput component tests", function () {
|
|
19
|
-
test("Renders with correct
|
|
61
|
+
test("Renders with correct error aria attributes", function () {
|
|
20
62
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
21
|
-
label: "Example label"
|
|
22
|
-
})),
|
|
23
|
-
getByText = _render.getByText;
|
|
24
|
-
|
|
25
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
26
|
-
});
|
|
27
|
-
test("Renders with correct label and helper text", function () {
|
|
28
|
-
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
29
|
-
label: "Example label",
|
|
30
|
-
helperText: "Example helper text"
|
|
31
|
-
})),
|
|
32
|
-
getByText = _render2.getByText;
|
|
33
|
-
|
|
34
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
35
|
-
expect(getByText("Example helper text")).toBeTruthy();
|
|
36
|
-
});
|
|
37
|
-
test("Renders with correct label and optional", function () {
|
|
38
|
-
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
39
|
-
label: "Example label",
|
|
40
|
-
helperText: "Example helper text",
|
|
41
|
-
optional: true
|
|
42
|
-
})),
|
|
43
|
-
getByText = _render3.getByText;
|
|
44
|
-
|
|
45
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
46
|
-
expect(getByText("(Optional)")).toBeTruthy();
|
|
47
|
-
expect(getByText("Example helper text")).toBeTruthy();
|
|
48
|
-
});
|
|
49
|
-
test("Renders with correct placeholder", function () {
|
|
50
|
-
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
51
|
-
label: "Example label",
|
|
52
|
-
placeholder: "Placeholder"
|
|
53
|
-
})),
|
|
54
|
-
getByRole = _render4.getByRole;
|
|
55
|
-
|
|
56
|
-
var input = getByRole("textbox");
|
|
57
|
-
expect(input.getAttribute("placeholder")).toBe("Placeholder");
|
|
58
|
-
});
|
|
59
|
-
test("Renders with error message and correct aria attributes", function () {
|
|
60
|
-
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
61
63
|
label: "Error label",
|
|
62
64
|
placeholder: "Placeholder",
|
|
63
65
|
error: "Error message."
|
|
64
66
|
})),
|
|
65
|
-
getByText =
|
|
66
|
-
getByRole =
|
|
67
|
+
getByText = _render.getByText,
|
|
68
|
+
getByRole = _render.getByRole;
|
|
67
69
|
|
|
68
70
|
var input = getByRole("textbox");
|
|
69
71
|
var errorMessage = getByText("Error message.");
|
|
@@ -73,12 +75,12 @@ describe("TextInput component tests", function () {
|
|
|
73
75
|
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
74
76
|
});
|
|
75
77
|
test("Renders with correct initial value", function () {
|
|
76
|
-
var
|
|
78
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
77
79
|
label: "Default label",
|
|
78
80
|
placeholder: "Placeholder",
|
|
79
81
|
defaultValue: "Example text"
|
|
80
82
|
})),
|
|
81
|
-
getByRole =
|
|
83
|
+
getByRole = _render2.getByRole;
|
|
82
84
|
|
|
83
85
|
var input = getByRole("textbox");
|
|
84
86
|
expect(input.value).toBe("Example text");
|
|
@@ -87,14 +89,14 @@ describe("TextInput component tests", function () {
|
|
|
87
89
|
var onChange = jest.fn();
|
|
88
90
|
var onBlur = jest.fn();
|
|
89
91
|
|
|
90
|
-
var
|
|
92
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
91
93
|
label: "Input label",
|
|
92
94
|
placeholder: "Placeholder",
|
|
93
95
|
onChange: onChange,
|
|
94
96
|
onBlur: onBlur,
|
|
95
97
|
clearable: true
|
|
96
98
|
})),
|
|
97
|
-
getByRole =
|
|
99
|
+
getByRole = _render3.getByRole;
|
|
98
100
|
|
|
99
101
|
var input = getByRole("textbox");
|
|
100
102
|
|
|
@@ -118,20 +120,19 @@ describe("TextInput component tests", function () {
|
|
|
118
120
|
|
|
119
121
|
expect(onBlur).toHaveBeenCalled();
|
|
120
122
|
expect(onBlur).toHaveBeenCalledWith({
|
|
121
|
-
value: "Test"
|
|
122
|
-
error: null
|
|
123
|
+
value: "Test"
|
|
123
124
|
});
|
|
124
125
|
});
|
|
125
126
|
test("Not optional constraint (onChange)", function () {
|
|
126
127
|
var onChange = jest.fn();
|
|
127
128
|
|
|
128
|
-
var
|
|
129
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
129
130
|
label: "Input label",
|
|
130
131
|
placeholder: "Placeholder",
|
|
131
132
|
onChange: onChange,
|
|
132
133
|
clearable: true
|
|
133
134
|
})),
|
|
134
|
-
getByRole =
|
|
135
|
+
getByRole = _render4.getByRole;
|
|
135
136
|
|
|
136
137
|
var input = getByRole("textbox");
|
|
137
138
|
|
|
@@ -143,8 +144,7 @@ describe("TextInput component tests", function () {
|
|
|
143
144
|
|
|
144
145
|
expect(onChange).toHaveBeenCalled();
|
|
145
146
|
expect(onChange).toHaveBeenCalledWith({
|
|
146
|
-
value: "Test"
|
|
147
|
-
error: null
|
|
147
|
+
value: "Test"
|
|
148
148
|
});
|
|
149
149
|
|
|
150
150
|
_userEvent["default"].clear(input);
|
|
@@ -159,7 +159,7 @@ describe("TextInput component tests", function () {
|
|
|
159
159
|
var onChange = jest.fn();
|
|
160
160
|
var onBlur = jest.fn();
|
|
161
161
|
|
|
162
|
-
var
|
|
162
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
163
163
|
label: "Input label",
|
|
164
164
|
placeholder: "Placeholder",
|
|
165
165
|
onChange: onChange,
|
|
@@ -171,7 +171,7 @@ describe("TextInput component tests", function () {
|
|
|
171
171
|
clearable: true,
|
|
172
172
|
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
173
173
|
})),
|
|
174
|
-
getByRole =
|
|
174
|
+
getByRole = _render5.getByRole;
|
|
175
175
|
|
|
176
176
|
var input = getByRole("textbox");
|
|
177
177
|
|
|
@@ -205,23 +205,21 @@ describe("TextInput component tests", function () {
|
|
|
205
205
|
|
|
206
206
|
expect(onChange).toHaveBeenCalled();
|
|
207
207
|
expect(onChange).toHaveBeenCalledWith({
|
|
208
|
-
value: "pattern4&"
|
|
209
|
-
error: null
|
|
208
|
+
value: "pattern4&"
|
|
210
209
|
});
|
|
211
210
|
|
|
212
211
|
_react2.fireEvent.blur(input);
|
|
213
212
|
|
|
214
213
|
expect(onBlur).toHaveBeenCalled();
|
|
215
214
|
expect(onBlur).toHaveBeenCalledWith({
|
|
216
|
-
value: "pattern4&"
|
|
217
|
-
error: null
|
|
215
|
+
value: "pattern4&"
|
|
218
216
|
});
|
|
219
217
|
});
|
|
220
218
|
test("Length constraint", function () {
|
|
221
219
|
var onChange = jest.fn();
|
|
222
220
|
var onBlur = jest.fn();
|
|
223
221
|
|
|
224
|
-
var
|
|
222
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
225
223
|
label: "Input label",
|
|
226
224
|
placeholder: "Placeholder",
|
|
227
225
|
onChange: onChange,
|
|
@@ -234,7 +232,7 @@ describe("TextInput component tests", function () {
|
|
|
234
232
|
minLength: 5,
|
|
235
233
|
maxLength: 10
|
|
236
234
|
})),
|
|
237
|
-
getByRole =
|
|
235
|
+
getByRole = _render6.getByRole;
|
|
238
236
|
|
|
239
237
|
var input = getByRole("textbox");
|
|
240
238
|
|
|
@@ -268,23 +266,21 @@ describe("TextInput component tests", function () {
|
|
|
268
266
|
|
|
269
267
|
expect(onChange).toHaveBeenCalled();
|
|
270
268
|
expect(onChange).toHaveBeenCalledWith({
|
|
271
|
-
value: "length"
|
|
272
|
-
error: null
|
|
269
|
+
value: "length"
|
|
273
270
|
});
|
|
274
271
|
|
|
275
272
|
_react2.fireEvent.blur(input);
|
|
276
273
|
|
|
277
274
|
expect(onBlur).toHaveBeenCalled();
|
|
278
275
|
expect(onBlur).toHaveBeenCalledWith({
|
|
279
|
-
value: "length"
|
|
280
|
-
error: null
|
|
276
|
+
value: "length"
|
|
281
277
|
});
|
|
282
278
|
});
|
|
283
279
|
test("Pattern and length constraints", function () {
|
|
284
280
|
var onChange = jest.fn();
|
|
285
281
|
var onBlur = jest.fn();
|
|
286
282
|
|
|
287
|
-
var
|
|
283
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
288
284
|
label: "Input label",
|
|
289
285
|
placeholder: "Placeholder",
|
|
290
286
|
onChange: onChange,
|
|
@@ -298,7 +294,7 @@ describe("TextInput component tests", function () {
|
|
|
298
294
|
minLength: 5,
|
|
299
295
|
maxLength: 10
|
|
300
296
|
})),
|
|
301
|
-
getByRole =
|
|
297
|
+
getByRole = _render7.getByRole;
|
|
302
298
|
|
|
303
299
|
var input = getByRole("textbox");
|
|
304
300
|
|
|
@@ -350,26 +346,24 @@ describe("TextInput component tests", function () {
|
|
|
350
346
|
|
|
351
347
|
expect(onChange).toHaveBeenCalled();
|
|
352
348
|
expect(onChange).toHaveBeenCalledWith({
|
|
353
|
-
value: "tests4&"
|
|
354
|
-
error: null
|
|
349
|
+
value: "tests4&"
|
|
355
350
|
});
|
|
356
351
|
|
|
357
352
|
_react2.fireEvent.blur(input);
|
|
358
353
|
|
|
359
354
|
expect(onBlur).toHaveBeenCalled();
|
|
360
355
|
expect(onBlur).toHaveBeenCalledWith({
|
|
361
|
-
value: "tests4&"
|
|
362
|
-
error: null
|
|
356
|
+
value: "tests4&"
|
|
363
357
|
});
|
|
364
358
|
});
|
|
365
359
|
test("onChange function is called correctly", function () {
|
|
366
360
|
var onChange = jest.fn();
|
|
367
361
|
|
|
368
|
-
var
|
|
362
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
369
363
|
label: "Input label",
|
|
370
364
|
onChange: onChange
|
|
371
365
|
})),
|
|
372
|
-
getByRole =
|
|
366
|
+
getByRole = _render8.getByRole;
|
|
373
367
|
|
|
374
368
|
var input = getByRole("textbox");
|
|
375
369
|
|
|
@@ -378,20 +372,19 @@ describe("TextInput component tests", function () {
|
|
|
378
372
|
expect(input.value).toBe("onchange event test");
|
|
379
373
|
expect(onChange).toHaveBeenCalled();
|
|
380
374
|
expect(onChange).toHaveBeenCalledWith({
|
|
381
|
-
value: "onchange event test"
|
|
382
|
-
error: null
|
|
375
|
+
value: "onchange event test"
|
|
383
376
|
});
|
|
384
377
|
});
|
|
385
378
|
test("onBlur function is called correctly", function () {
|
|
386
379
|
var onBlur = jest.fn();
|
|
387
380
|
var onChange = jest.fn();
|
|
388
381
|
|
|
389
|
-
var
|
|
382
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
390
383
|
label: "Input label",
|
|
391
384
|
onChange: onChange,
|
|
392
385
|
onBlur: onBlur
|
|
393
386
|
})),
|
|
394
|
-
getByRole =
|
|
387
|
+
getByRole = _render9.getByRole;
|
|
395
388
|
|
|
396
389
|
var input = getByRole("textbox");
|
|
397
390
|
|
|
@@ -405,37 +398,25 @@ describe("TextInput component tests", function () {
|
|
|
405
398
|
|
|
406
399
|
expect(onBlur).toHaveBeenCalled();
|
|
407
400
|
expect(onBlur).toHaveBeenCalledWith({
|
|
408
|
-
value: "Blur test"
|
|
409
|
-
error: null
|
|
401
|
+
value: "Blur test"
|
|
410
402
|
});
|
|
411
403
|
});
|
|
412
|
-
test("Clear action
|
|
413
|
-
var
|
|
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;
|
|
414
411
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
switch (_context.prev = _context.next) {
|
|
418
|
-
case 0:
|
|
419
|
-
_render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
420
|
-
label: "Input label",
|
|
421
|
-
value: "Text",
|
|
422
|
-
clearable: true
|
|
423
|
-
})), getByTitle = _render14.getByTitle;
|
|
424
|
-
expect(getByTitle("Clear field")).toBeTruthy();
|
|
425
|
-
|
|
426
|
-
case 2:
|
|
427
|
-
case "end":
|
|
428
|
-
return _context.stop();
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
}, _callee);
|
|
432
|
-
})));
|
|
412
|
+
expect(getByTitle("Clear field")).toBeTruthy();
|
|
413
|
+
});
|
|
433
414
|
test("Clear action onClick cleans the input", function () {
|
|
434
|
-
var
|
|
415
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
435
416
|
label: "Input label",
|
|
436
417
|
clearable: true
|
|
437
418
|
})),
|
|
438
|
-
getByRole =
|
|
419
|
+
getByRole = _render11.getByRole;
|
|
439
420
|
|
|
440
421
|
var input = getByRole("textbox");
|
|
441
422
|
|
|
@@ -450,15 +431,14 @@ describe("TextInput component tests", function () {
|
|
|
450
431
|
test("Disabled input renders with correct aria and can not be modified", function () {
|
|
451
432
|
var onChange = jest.fn();
|
|
452
433
|
|
|
453
|
-
var
|
|
434
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
454
435
|
label: "Input label",
|
|
455
436
|
onChange: onChange,
|
|
456
437
|
disabled: true
|
|
457
438
|
})),
|
|
458
|
-
getByRole =
|
|
439
|
+
getByRole = _render12.getByRole;
|
|
459
440
|
|
|
460
441
|
var input = getByRole("textbox");
|
|
461
|
-
expect(input.getAttribute("aria-disabled")).toBe("true");
|
|
462
442
|
|
|
463
443
|
_userEvent["default"].type(input, "Test");
|
|
464
444
|
|
|
@@ -483,12 +463,12 @@ describe("TextInput component tests", function () {
|
|
|
483
463
|
}))
|
|
484
464
|
};
|
|
485
465
|
|
|
486
|
-
var
|
|
466
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
487
467
|
label: "Disabled input label",
|
|
488
468
|
action: action,
|
|
489
469
|
disabled: true
|
|
490
470
|
})),
|
|
491
|
-
getByRole =
|
|
471
|
+
getByRole = _render13.getByRole;
|
|
492
472
|
|
|
493
473
|
var input = getByRole("textbox");
|
|
494
474
|
expect(input.disabled).toBeTruthy();
|
|
@@ -498,29 +478,29 @@ describe("TextInput component tests", function () {
|
|
|
498
478
|
expect(onClick).not.toHaveBeenCalled();
|
|
499
479
|
});
|
|
500
480
|
test("Disabled input (clear default action should not be displayed, even with text written on the input)", function () {
|
|
501
|
-
var
|
|
481
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
502
482
|
label: "Disabled input label",
|
|
503
483
|
value: "Sample text",
|
|
504
484
|
disabled: true,
|
|
505
485
|
clearable: true
|
|
506
486
|
})),
|
|
507
|
-
getByRole =
|
|
508
|
-
queryByRole =
|
|
487
|
+
getByRole = _render14.getByRole,
|
|
488
|
+
queryByRole = _render14.queryByRole;
|
|
509
489
|
|
|
510
490
|
var input = getByRole("textbox");
|
|
511
491
|
expect(input.disabled).toBeTruthy();
|
|
512
492
|
expect(queryByRole("button")).toBeFalsy();
|
|
513
493
|
});
|
|
514
494
|
test("Disabled input (suffix and preffix must be displayed)", function () {
|
|
515
|
-
var
|
|
495
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
516
496
|
label: "Disabled input label",
|
|
517
497
|
value: "Sample text",
|
|
518
498
|
prefix: "+34",
|
|
519
499
|
suffix: "USD",
|
|
520
500
|
disabled: true
|
|
521
501
|
})),
|
|
522
|
-
getByRole =
|
|
523
|
-
getByText =
|
|
502
|
+
getByRole = _render15.getByRole,
|
|
503
|
+
getByText = _render15.getByText;
|
|
524
504
|
|
|
525
505
|
var input = getByRole("textbox");
|
|
526
506
|
expect(input.disabled).toBeTruthy();
|
|
@@ -547,13 +527,13 @@ describe("TextInput component tests", function () {
|
|
|
547
527
|
title: "Search"
|
|
548
528
|
};
|
|
549
529
|
|
|
550
|
-
var
|
|
530
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
551
531
|
label: "Input label",
|
|
552
532
|
action: action
|
|
553
533
|
})),
|
|
554
|
-
getByRole =
|
|
555
|
-
getByTestId =
|
|
556
|
-
getByTitle =
|
|
534
|
+
getByRole = _render16.getByRole,
|
|
535
|
+
getByTestId = _render16.getByTestId,
|
|
536
|
+
getByTitle = _render16.getByTitle;
|
|
557
537
|
|
|
558
538
|
expect(getByTestId("image")).toBeTruthy();
|
|
559
539
|
expect(getByTitle("Search")).toBeTruthy();
|
|
@@ -562,18 +542,75 @@ describe("TextInput component tests", function () {
|
|
|
562
542
|
|
|
563
543
|
expect(onClick).toHaveBeenCalled();
|
|
564
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
|
+
});
|
|
565
602
|
test("Renders with correct prefix and suffix", function () {
|
|
566
|
-
var
|
|
603
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
567
604
|
label: "Input label",
|
|
568
605
|
prefix: "+34",
|
|
569
606
|
suffix: "USD"
|
|
570
607
|
})),
|
|
571
|
-
getByText =
|
|
608
|
+
getByText = _render18.getByText;
|
|
572
609
|
|
|
573
610
|
expect(getByText("+34")).toBeTruthy();
|
|
574
611
|
expect(getByText("USD")).toBeTruthy();
|
|
575
612
|
});
|
|
576
|
-
test("Input has correct accesibility attributes", function () {
|
|
613
|
+
test("Text Input has correct aria accesibility attributes", function () {
|
|
577
614
|
var onClick = jest.fn();
|
|
578
615
|
var action = {
|
|
579
616
|
onClick: onClick,
|
|
@@ -593,18 +630,19 @@ describe("TextInput component tests", function () {
|
|
|
593
630
|
title: "Search"
|
|
594
631
|
};
|
|
595
632
|
|
|
596
|
-
var
|
|
633
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
597
634
|
label: "Example label",
|
|
598
635
|
clearable: true,
|
|
599
636
|
action: action
|
|
600
637
|
})),
|
|
601
|
-
getByRole =
|
|
602
|
-
getAllByRole =
|
|
638
|
+
getByRole = _render19.getByRole,
|
|
639
|
+
getAllByRole = _render19.getAllByRole;
|
|
603
640
|
|
|
604
641
|
var input = getByRole("textbox");
|
|
605
642
|
expect(input.getAttribute("aria-autocomplete")).toBeNull();
|
|
606
643
|
expect(input.getAttribute("aria-controls")).toBeNull();
|
|
607
644
|
expect(input.getAttribute("aria-expanded")).toBeNull();
|
|
645
|
+
expect(input.getAttribute("aria-haspopup")).toBeNull();
|
|
608
646
|
expect(input.getAttribute("aria-activedescendant")).toBeNull();
|
|
609
647
|
expect(input.getAttribute("aria-invalid")).toBe("false");
|
|
610
648
|
expect(input.getAttribute("aria-errormessage")).toBeNull();
|
|
@@ -618,17 +656,18 @@ describe("TextInput component tests", function () {
|
|
|
618
656
|
expect(search.getAttribute("aria-label")).toBe("Search");
|
|
619
657
|
});
|
|
620
658
|
test("Autosuggest has correct accesibility attributes", function () {
|
|
621
|
-
var
|
|
659
|
+
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
622
660
|
label: "Autocomplete Countries",
|
|
623
661
|
optional: true,
|
|
624
662
|
suggestions: countries
|
|
625
663
|
})),
|
|
626
|
-
getByRole =
|
|
627
|
-
getAllByRole =
|
|
664
|
+
getByRole = _render20.getByRole,
|
|
665
|
+
getAllByRole = _render20.getAllByRole;
|
|
628
666
|
|
|
629
667
|
var input = getByRole("combobox");
|
|
630
668
|
expect(input.getAttribute("aria-autocomplete")).toBe("list");
|
|
631
669
|
expect(input.getAttribute("aria-expanded")).toBe("false");
|
|
670
|
+
expect(input.getAttribute("aria-haspopup")).toBe("listbox");
|
|
632
671
|
expect(input.getAttribute("aria-required")).toBe("false");
|
|
633
672
|
|
|
634
673
|
_react2.fireEvent.focus(input);
|
|
@@ -636,121 +675,95 @@ describe("TextInput component tests", function () {
|
|
|
636
675
|
var list = getByRole("listbox");
|
|
637
676
|
expect(input.getAttribute("aria-controls")).toBe(list.id);
|
|
638
677
|
expect(input.getAttribute("aria-expanded")).toBe("true");
|
|
639
|
-
expect(list.getAttribute("aria-label")).toBe("Autocomplete Countries");
|
|
640
678
|
var options = getAllByRole("option");
|
|
641
|
-
expect(options[0].getAttribute("aria-selected")).
|
|
679
|
+
expect(options[0].getAttribute("aria-selected")).toBeNull();
|
|
642
680
|
});
|
|
643
681
|
});
|
|
644
682
|
describe("TextInput component synchronous autosuggest tests", function () {
|
|
645
|
-
test("Autosuggest is displayed when the input gains focus",
|
|
646
|
-
var onChange
|
|
683
|
+
test("Autosuggest is displayed when the input gains focus", function () {
|
|
684
|
+
var onChange = jest.fn();
|
|
647
685
|
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
suggestions: countries,
|
|
656
|
-
onChange: onChange
|
|
657
|
-
})), getByRole = _render24.getByRole, getByText = _render24.getByText;
|
|
658
|
-
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;
|
|
659
693
|
|
|
660
|
-
|
|
694
|
+
var input = getByRole("combobox");
|
|
661
695
|
|
|
662
|
-
|
|
663
|
-
expect(list).toBeTruthy();
|
|
664
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
665
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
666
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
667
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
696
|
+
_react2.fireEvent.focus(input);
|
|
668
697
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
})
|
|
676
|
-
test("Autosuggest is displayed when the user clicks the input",
|
|
677
|
-
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();
|
|
678
707
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
suggestions: countries,
|
|
687
|
-
onChange: onChange
|
|
688
|
-
})), getByRole = _render25.getByRole, getByText = _render25.getByText;
|
|
689
|
-
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;
|
|
690
715
|
|
|
691
|
-
|
|
716
|
+
var input = getByRole("combobox");
|
|
692
717
|
|
|
693
|
-
|
|
694
|
-
expect(list).toBeTruthy();
|
|
695
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
696
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
697
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
698
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
718
|
+
_react2.fireEvent.focus(input);
|
|
699
719
|
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
})
|
|
707
|
-
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)",
|
|
708
|
-
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();
|
|
709
729
|
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
})), getByRole = _render26.getByRole, queryByRole = _render26.queryByRole, getByText = _render26.getByText, getAllByText = _render26.getAllByText;
|
|
720
|
-
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;
|
|
721
739
|
|
|
722
|
-
|
|
740
|
+
var input = getByRole("combobox");
|
|
723
741
|
|
|
724
|
-
|
|
725
|
-
expect(list).toBeTruthy();
|
|
742
|
+
_react2.fireEvent.focus(input);
|
|
726
743
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
code: "Esc",
|
|
730
|
-
keyCode: 27,
|
|
731
|
-
charCode: 27
|
|
732
|
-
});
|
|
744
|
+
var list = getByRole("listbox");
|
|
745
|
+
expect(list).toBeTruthy();
|
|
733
746
|
|
|
734
|
-
|
|
747
|
+
_react2.fireEvent.keyDown(input, {
|
|
748
|
+
key: "Esc",
|
|
749
|
+
code: "Esc",
|
|
750
|
+
keyCode: 27,
|
|
751
|
+
charCode: 27
|
|
752
|
+
});
|
|
735
753
|
|
|
736
|
-
|
|
754
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
737
755
|
|
|
738
|
-
|
|
739
|
-
expect(getAllByText("B").length).toBe(4);
|
|
740
|
-
expect(getByText("ahamas")).toBeTruthy();
|
|
741
|
-
expect(getByText("ahrain")).toBeTruthy();
|
|
742
|
-
expect(getByText("angladesh")).toBeTruthy();
|
|
743
|
-
expect(getByText("arbados")).toBeTruthy();
|
|
756
|
+
_userEvent["default"].type(input, "B");
|
|
744
757
|
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
})
|
|
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
|
+
});
|
|
752
765
|
test("Autosuggest displays filtered when the input has a default value", function () {
|
|
753
|
-
var
|
|
766
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
754
767
|
label: "Uncontrolled suggestions filtered by default",
|
|
755
768
|
helperText: "Example of helper text",
|
|
756
769
|
placeholder: "Placeholder",
|
|
@@ -759,9 +772,9 @@ describe("TextInput component synchronous autosuggest tests", function () {
|
|
|
759
772
|
suggestions: ["Suggestion 11", "Suggestion 12", "Suggestion 23", "Suggestion 24"],
|
|
760
773
|
clearable: true
|
|
761
774
|
})),
|
|
762
|
-
getByRole =
|
|
763
|
-
getByText =
|
|
764
|
-
getAllByText =
|
|
775
|
+
getByRole = _render24.getByRole,
|
|
776
|
+
getByText = _render24.getByText,
|
|
777
|
+
getAllByText = _render24.getAllByText;
|
|
765
778
|
|
|
766
779
|
var input = getByRole("combobox");
|
|
767
780
|
expect(input.value).toBe("Suggestion 2");
|
|
@@ -772,518 +785,412 @@ describe("TextInput component synchronous autosuggest tests", function () {
|
|
|
772
785
|
expect(getByText("3")).toBeTruthy();
|
|
773
786
|
expect(getByText("4")).toBeTruthy();
|
|
774
787
|
});
|
|
775
|
-
test("Autosuggest is not displayed when prop suggestions is an empty array",
|
|
776
|
-
var onChange
|
|
777
|
-
|
|
778
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
779
|
-
while (1) {
|
|
780
|
-
switch (_context5.prev = _context5.next) {
|
|
781
|
-
case 0:
|
|
782
|
-
onChange = jest.fn();
|
|
783
|
-
_render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
784
|
-
label: "Autocomplete Countries",
|
|
785
|
-
suggestions: [],
|
|
786
|
-
onChange: onChange
|
|
787
|
-
})), queryByRole = _render28.queryByRole;
|
|
788
|
-
input = queryByRole("textbox");
|
|
788
|
+
test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
|
|
789
|
+
var onChange = jest.fn();
|
|
789
790
|
|
|
790
|
-
|
|
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;
|
|
791
797
|
|
|
792
|
-
|
|
798
|
+
var input = queryByRole("textbox");
|
|
793
799
|
|
|
794
|
-
|
|
795
|
-
case "end":
|
|
796
|
-
return _context5.stop();
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
}, _callee5);
|
|
800
|
-
})));
|
|
801
|
-
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() {
|
|
802
|
-
var onChange, _render29, getByRole, queryByRole, getByText, input, list;
|
|
800
|
+
_react2.fireEvent.focus(input);
|
|
803
801
|
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
onChange = jest.fn();
|
|
809
|
-
_render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
810
|
-
label: "Autocomplete Countries",
|
|
811
|
-
suggestions: countries,
|
|
812
|
-
onChange: onChange
|
|
813
|
-
})), getByRole = _render29.getByRole, queryByRole = _render29.queryByRole, getByText = _render29.getByText;
|
|
814
|
-
input = getByRole("combobox");
|
|
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();
|
|
815
806
|
|
|
816
|
-
|
|
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;
|
|
817
815
|
|
|
818
|
-
|
|
819
|
-
expect(list).toBeTruthy();
|
|
820
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
816
|
+
var input = getByRole("combobox");
|
|
821
817
|
|
|
822
|
-
|
|
818
|
+
_react2.fireEvent.focus(input);
|
|
823
819
|
|
|
824
|
-
|
|
820
|
+
var list = getByRole("listbox");
|
|
821
|
+
expect(list).toBeTruthy();
|
|
822
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
825
823
|
|
|
826
|
-
|
|
827
|
-
case "end":
|
|
828
|
-
return _context6.stop();
|
|
829
|
-
}
|
|
830
|
-
}
|
|
831
|
-
}, _callee6);
|
|
832
|
-
})));
|
|
833
|
-
test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
834
|
-
var onChange, _render30, getByRole, queryByRole, getByText, input, list;
|
|
824
|
+
_userEvent["default"].type(input, "x");
|
|
835
825
|
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
onChange = jest.fn();
|
|
841
|
-
_render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
842
|
-
label: "Autocomplete Countries",
|
|
843
|
-
suggestions: countries,
|
|
844
|
-
onChange: onChange
|
|
845
|
-
})), getByRole = _render30.getByRole, queryByRole = _render30.queryByRole, getByText = _render30.getByText;
|
|
846
|
-
input = getByRole("combobox");
|
|
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();
|
|
847
830
|
|
|
848
|
-
|
|
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;
|
|
849
839
|
|
|
850
|
-
|
|
851
|
-
expect(list).toBeTruthy();
|
|
852
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
840
|
+
var input = getByRole("combobox");
|
|
853
841
|
|
|
854
|
-
|
|
842
|
+
_react2.fireEvent.focus(input);
|
|
855
843
|
|
|
856
|
-
|
|
844
|
+
var list = getByRole("listbox");
|
|
845
|
+
expect(list).toBeTruthy();
|
|
846
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
857
847
|
|
|
858
|
-
|
|
848
|
+
_userEvent["default"].type(input, "x");
|
|
859
849
|
|
|
860
|
-
|
|
850
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
861
851
|
|
|
862
|
-
|
|
863
|
-
key: "ArrowUp",
|
|
864
|
-
code: "ArrowUp",
|
|
865
|
-
keyCode: 38,
|
|
866
|
-
charCode: 38
|
|
867
|
-
});
|
|
852
|
+
_react2.fireEvent.focus(input);
|
|
868
853
|
|
|
869
|
-
|
|
854
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
870
855
|
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
856
|
+
_react2.fireEvent.keyDown(input, {
|
|
857
|
+
key: "ArrowUp",
|
|
858
|
+
code: "ArrowUp",
|
|
859
|
+
keyCode: 38,
|
|
860
|
+
charCode: 38
|
|
861
|
+
});
|
|
877
862
|
|
|
878
|
-
|
|
863
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
879
864
|
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
}
|
|
886
|
-
})));
|
|
887
|
-
test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
888
|
-
var onChange, _render31, getByRole, getByText, queryByRole, input;
|
|
865
|
+
_react2.fireEvent.keyDown(input, {
|
|
866
|
+
key: "ArrowDown",
|
|
867
|
+
code: "ArrowDown",
|
|
868
|
+
keyCode: 40,
|
|
869
|
+
charCode: 40
|
|
870
|
+
});
|
|
889
871
|
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
onChange = jest.fn();
|
|
895
|
-
_render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
896
|
-
label: "Autocomplete Countries",
|
|
897
|
-
suggestions: countries,
|
|
898
|
-
onChange: onChange
|
|
899
|
-
})), getByRole = _render31.getByRole, getByText = _render31.getByText, queryByRole = _render31.queryByRole;
|
|
900
|
-
input = getByRole("combobox");
|
|
872
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
873
|
+
});
|
|
874
|
+
test("Autosuggest uncontrolled - Suggestion selected by click", function () {
|
|
875
|
+
var onChange = jest.fn();
|
|
901
876
|
|
|
902
|
-
|
|
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;
|
|
903
885
|
|
|
904
|
-
|
|
886
|
+
var input = getByRole("combobox");
|
|
905
887
|
|
|
906
|
-
|
|
907
|
-
expect(getByText("Alba")).toBeTruthy();
|
|
908
|
-
expect(getByText("nia")).toBeTruthy();
|
|
888
|
+
_react2.fireEvent.focus(input);
|
|
909
889
|
|
|
910
|
-
|
|
890
|
+
_userEvent["default"].type(input, "Alba");
|
|
911
891
|
|
|
912
|
-
|
|
913
|
-
|
|
892
|
+
expect(onChange).toHaveBeenCalled();
|
|
893
|
+
expect(getByText("Alba")).toBeTruthy();
|
|
894
|
+
expect(getByText("nia")).toBeTruthy();
|
|
914
895
|
|
|
915
|
-
|
|
916
|
-
case "end":
|
|
917
|
-
return _context8.stop();
|
|
918
|
-
}
|
|
919
|
-
}
|
|
920
|
-
}, _callee8);
|
|
921
|
-
})));
|
|
922
|
-
test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
923
|
-
var onChange, _render32, getByRole, getByText, queryByRole, input;
|
|
896
|
+
_userEvent["default"].click(getByRole("option"));
|
|
924
897
|
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
_render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
931
|
-
label: "Autocomplete Countries",
|
|
932
|
-
value: "Andor",
|
|
933
|
-
suggestions: countries,
|
|
934
|
-
onChange: onChange
|
|
935
|
-
})), getByRole = _render32.getByRole, getByText = _render32.getByText, queryByRole = _render32.queryByRole;
|
|
936
|
-
input = getByRole("combobox");
|
|
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();
|
|
937
903
|
|
|
938
|
-
|
|
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;
|
|
939
913
|
|
|
940
|
-
|
|
941
|
-
expect(getByText("Andor")).toBeTruthy();
|
|
942
|
-
expect(getByText("ra")).toBeTruthy();
|
|
914
|
+
var input = getByRole("combobox");
|
|
943
915
|
|
|
944
|
-
|
|
916
|
+
_userEvent["default"].click(getByText("Autocomplete Countries"));
|
|
945
917
|
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
});
|
|
950
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
918
|
+
expect(input.value).toBe("Andor");
|
|
919
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
920
|
+
expect(getByText("ra")).toBeTruthy();
|
|
951
921
|
|
|
952
|
-
|
|
953
|
-
case "end":
|
|
954
|
-
return _context9.stop();
|
|
955
|
-
}
|
|
956
|
-
}
|
|
957
|
-
}, _callee9);
|
|
958
|
-
})));
|
|
959
|
-
test("Autosuggest - Pattern constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
960
|
-
var onChange, onBlur, _render33, getByRole, getByText, input;
|
|
922
|
+
_userEvent["default"].click(getByRole("option"));
|
|
961
923
|
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
suggestions: countries,
|
|
971
|
-
onChange: onChange,
|
|
972
|
-
onBlur: onBlur,
|
|
973
|
-
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
974
|
-
})), getByRole = _render33.getByRole, getByText = _render33.getByText;
|
|
975
|
-
input = getByRole("combobox");
|
|
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();
|
|
976
932
|
|
|
977
|
-
|
|
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;
|
|
978
942
|
|
|
979
|
-
|
|
943
|
+
var input = getByRole("combobox");
|
|
980
944
|
|
|
981
|
-
|
|
982
|
-
expect(getByText("ra")).toBeTruthy();
|
|
945
|
+
_react2.fireEvent.focus(input);
|
|
983
946
|
|
|
984
|
-
|
|
947
|
+
_userEvent["default"].type(input, "Andor");
|
|
985
948
|
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
error: "Please match the format requested."
|
|
989
|
-
});
|
|
949
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
950
|
+
expect(getByText("ra")).toBeTruthy();
|
|
990
951
|
|
|
991
|
-
|
|
952
|
+
_userEvent["default"].click(getByRole("option"));
|
|
992
953
|
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
954
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
955
|
+
value: "Andorra",
|
|
956
|
+
error: "Please match the format requested."
|
|
957
|
+
});
|
|
997
958
|
|
|
998
|
-
|
|
999
|
-
case "end":
|
|
1000
|
-
return _context10.stop();
|
|
1001
|
-
}
|
|
1002
|
-
}
|
|
1003
|
-
}, _callee10);
|
|
1004
|
-
})));
|
|
1005
|
-
test("Autosuggest - Length constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
1006
|
-
var onChange, onBlur, _render34, getByText, getByRole, input;
|
|
959
|
+
_react2.fireEvent.blur(input);
|
|
1007
960
|
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
suggestions: countries,
|
|
1017
|
-
onChange: onChange,
|
|
1018
|
-
onBlur: onBlur,
|
|
1019
|
-
minLength: 5,
|
|
1020
|
-
maxLength: 10
|
|
1021
|
-
})), getByText = _render34.getByText, getByRole = _render34.getByRole;
|
|
1022
|
-
input = getByRole("combobox");
|
|
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();
|
|
1023
969
|
|
|
1024
|
-
|
|
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;
|
|
1025
980
|
|
|
1026
|
-
|
|
981
|
+
var input = getByRole("combobox");
|
|
1027
982
|
|
|
1028
|
-
|
|
1029
|
-
expect(getByText("d")).toBeTruthy();
|
|
983
|
+
_react2.fireEvent.focus(input);
|
|
1030
984
|
|
|
1031
|
-
|
|
985
|
+
_userEvent["default"].type(input, "Cha");
|
|
1032
986
|
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
error: "Min length 5, max length 10."
|
|
1036
|
-
});
|
|
987
|
+
expect(getByText("Cha")).toBeTruthy();
|
|
988
|
+
expect(getByText("d")).toBeTruthy();
|
|
1037
989
|
|
|
1038
|
-
|
|
990
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1039
991
|
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
992
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
993
|
+
value: "Cha",
|
|
994
|
+
error: "Min length 5, max length 10."
|
|
995
|
+
});
|
|
1044
996
|
|
|
1045
|
-
|
|
1046
|
-
case "end":
|
|
1047
|
-
return _context11.stop();
|
|
1048
|
-
}
|
|
1049
|
-
}
|
|
1050
|
-
}, _callee11);
|
|
1051
|
-
})));
|
|
1052
|
-
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() {
|
|
1053
|
-
var onChange, _render35, getByRole, queryByRole, input, list;
|
|
997
|
+
_react2.fireEvent.blur(input);
|
|
1054
998
|
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
suggestions: countries,
|
|
1063
|
-
onChange: onChange
|
|
1064
|
-
})), getByRole = _render35.getByRole, queryByRole = _render35.queryByRole;
|
|
1065
|
-
input = getByRole("combobox");
|
|
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();
|
|
1066
1006
|
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
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;
|
|
1073
1014
|
|
|
1074
|
-
|
|
1075
|
-
expect(list).toBeTruthy();
|
|
1015
|
+
var input = getByRole("combobox");
|
|
1076
1016
|
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1017
|
+
_react2.fireEvent.keyDown(input, {
|
|
1018
|
+
key: "ArrowDown",
|
|
1019
|
+
code: "ArrowDown",
|
|
1020
|
+
keyCode: 40,
|
|
1021
|
+
charCode: 40
|
|
1022
|
+
});
|
|
1083
1023
|
|
|
1084
|
-
|
|
1085
|
-
|
|
1024
|
+
var list = getByRole("listbox");
|
|
1025
|
+
expect(list).toBeTruthy();
|
|
1086
1026
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
}
|
|
1093
|
-
})));
|
|
1094
|
-
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() {
|
|
1095
|
-
var onChange, _render36, getByRole, queryByRole, input, list;
|
|
1027
|
+
_react2.fireEvent.keyDown(input, {
|
|
1028
|
+
key: "Enter",
|
|
1029
|
+
code: "Enter",
|
|
1030
|
+
keyCode: 13,
|
|
1031
|
+
charCode: 13
|
|
1032
|
+
});
|
|
1096
1033
|
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
_render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1103
|
-
label: "Autocomplete Countries",
|
|
1104
|
-
suggestions: countries,
|
|
1105
|
-
onChange: onChange
|
|
1106
|
-
})), getByRole = _render36.getByRole, queryByRole = _render36.queryByRole;
|
|
1107
|
-
input = getByRole("combobox");
|
|
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();
|
|
1108
1039
|
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
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;
|
|
1115
1047
|
|
|
1116
|
-
|
|
1117
|
-
expect(list).toBeTruthy();
|
|
1048
|
+
var input = getByRole("combobox");
|
|
1118
1049
|
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1050
|
+
_react2.fireEvent.keyDown(input, {
|
|
1051
|
+
key: "ArrowUp",
|
|
1052
|
+
code: "ArrowUp",
|
|
1053
|
+
keyCode: 38,
|
|
1054
|
+
charCode: 38
|
|
1055
|
+
});
|
|
1125
1056
|
|
|
1126
|
-
|
|
1127
|
-
|
|
1057
|
+
var list = getByRole("listbox");
|
|
1058
|
+
expect(list).toBeTruthy();
|
|
1128
1059
|
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
}
|
|
1135
|
-
})));
|
|
1136
|
-
test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
|
|
1137
|
-
var onChange, _render37, getByRole, queryByRole, input, list;
|
|
1060
|
+
_react2.fireEvent.keyDown(input, {
|
|
1061
|
+
key: "Enter",
|
|
1062
|
+
code: "Enter",
|
|
1063
|
+
keyCode: 13,
|
|
1064
|
+
charCode: 13
|
|
1065
|
+
});
|
|
1138
1066
|
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
_render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1145
|
-
label: "Autocomplete Countries",
|
|
1146
|
-
suggestions: countries,
|
|
1147
|
-
onChange: onChange
|
|
1148
|
-
})), getByRole = _render37.getByRole, queryByRole = _render37.queryByRole;
|
|
1149
|
-
input = getByRole("combobox");
|
|
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();
|
|
1150
1072
|
|
|
1151
|
-
|
|
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;
|
|
1152
1080
|
|
|
1153
|
-
|
|
1081
|
+
var input = getByRole("combobox");
|
|
1154
1082
|
|
|
1155
|
-
|
|
1156
|
-
expect(list).toBeTruthy();
|
|
1083
|
+
_react2.fireEvent.focus(input);
|
|
1157
1084
|
|
|
1158
|
-
|
|
1159
|
-
key: "Esc",
|
|
1160
|
-
code: "Esc",
|
|
1161
|
-
keyCode: 27,
|
|
1162
|
-
charCode: 27
|
|
1163
|
-
});
|
|
1085
|
+
_userEvent["default"].type(input, "Bangla");
|
|
1164
1086
|
|
|
1165
|
-
|
|
1166
|
-
|
|
1087
|
+
var list = getByRole("listbox");
|
|
1088
|
+
expect(list).toBeTruthy();
|
|
1167
1089
|
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
}
|
|
1174
|
-
})));
|
|
1175
|
-
test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
|
|
1176
|
-
var onChange, _render38, getByRole, queryByRole, input, list;
|
|
1090
|
+
_react2.fireEvent.keyDown(input, {
|
|
1091
|
+
key: "Esc",
|
|
1092
|
+
code: "Esc",
|
|
1093
|
+
keyCode: 27,
|
|
1094
|
+
charCode: 27
|
|
1095
|
+
});
|
|
1177
1096
|
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
_render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1184
|
-
label: "Autocomplete Countries",
|
|
1185
|
-
suggestions: countries,
|
|
1186
|
-
onChange: onChange
|
|
1187
|
-
})), getByRole = _render38.getByRole, queryByRole = _render38.queryByRole;
|
|
1188
|
-
input = getByRole("combobox");
|
|
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();
|
|
1189
1102
|
|
|
1190
|
-
|
|
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;
|
|
1191
1110
|
|
|
1192
|
-
|
|
1193
|
-
expect(list).toBeTruthy();
|
|
1111
|
+
var input = getByRole("combobox");
|
|
1194
1112
|
|
|
1195
|
-
|
|
1196
|
-
key: "Enter",
|
|
1197
|
-
code: "Enter",
|
|
1198
|
-
keyCode: 27,
|
|
1199
|
-
charCode: 27
|
|
1200
|
-
});
|
|
1113
|
+
_react2.fireEvent.focus(input);
|
|
1201
1114
|
|
|
1202
|
-
|
|
1203
|
-
|
|
1115
|
+
var list = getByRole("listbox");
|
|
1116
|
+
expect(list).toBeTruthy();
|
|
1204
1117
|
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
}
|
|
1211
|
-
})));
|
|
1212
|
-
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() {
|
|
1213
|
-
var onChange, _render39, getByRole, queryByRole, input;
|
|
1118
|
+
_react2.fireEvent.keyDown(input, {
|
|
1119
|
+
key: "Enter",
|
|
1120
|
+
code: "Enter",
|
|
1121
|
+
keyCode: 27,
|
|
1122
|
+
charCode: 27
|
|
1123
|
+
});
|
|
1214
1124
|
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
_render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1221
|
-
label: "Autocomplete Countries",
|
|
1222
|
-
suggestions: countries,
|
|
1223
|
-
onChange: onChange
|
|
1224
|
-
})), getByRole = _render39.getByRole, queryByRole = _render39.queryByRole;
|
|
1225
|
-
input = getByRole("combobox");
|
|
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();
|
|
1226
1130
|
|
|
1227
|
-
|
|
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;
|
|
1228
1138
|
|
|
1229
|
-
|
|
1139
|
+
var input = getByRole("combobox");
|
|
1230
1140
|
|
|
1231
|
-
|
|
1232
|
-
key: "ArrowUp",
|
|
1233
|
-
code: "ArrowUp",
|
|
1234
|
-
keyCode: 38,
|
|
1235
|
-
charCode: 38
|
|
1236
|
-
});
|
|
1141
|
+
_react2.fireEvent.focus(input);
|
|
1237
1142
|
|
|
1238
|
-
|
|
1239
|
-
key: "ArrowUp",
|
|
1240
|
-
code: "ArrowUpp",
|
|
1241
|
-
keyCode: 38,
|
|
1242
|
-
charCode: 38
|
|
1243
|
-
});
|
|
1143
|
+
_userEvent["default"].type(input, "Ba");
|
|
1244
1144
|
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1145
|
+
_react2.fireEvent.keyDown(input, {
|
|
1146
|
+
key: "ArrowUp",
|
|
1147
|
+
code: "ArrowUp",
|
|
1148
|
+
keyCode: 38,
|
|
1149
|
+
charCode: 38
|
|
1150
|
+
});
|
|
1251
1151
|
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1152
|
+
_react2.fireEvent.keyDown(input, {
|
|
1153
|
+
key: "ArrowUp",
|
|
1154
|
+
code: "ArrowUpp",
|
|
1155
|
+
keyCode: 38,
|
|
1156
|
+
charCode: 38
|
|
1157
|
+
});
|
|
1258
1158
|
|
|
1259
|
-
|
|
1260
|
-
|
|
1159
|
+
_react2.fireEvent.keyDown(input, {
|
|
1160
|
+
key: "ArrowDown",
|
|
1161
|
+
code: "ArrowDown",
|
|
1162
|
+
keyCode: 40,
|
|
1163
|
+
charCode: 40
|
|
1164
|
+
});
|
|
1261
1165
|
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1166
|
+
_react2.fireEvent.keyDown(input, {
|
|
1167
|
+
key: "Enter",
|
|
1168
|
+
code: "Enter",
|
|
1169
|
+
keyCode: 13,
|
|
1170
|
+
charCode: 13
|
|
1171
|
+
});
|
|
1268
1172
|
|
|
1269
|
-
|
|
1270
|
-
|
|
1173
|
+
expect(input.value).toBe("Barbados");
|
|
1174
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1271
1175
|
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1176
|
+
_react2.fireEvent.keyDown(input, {
|
|
1177
|
+
key: "Esc",
|
|
1178
|
+
code: "Esp",
|
|
1179
|
+
keyCode: 27,
|
|
1180
|
+
charCode: 27
|
|
1181
|
+
});
|
|
1182
|
+
|
|
1183
|
+
expect(input.value).toBe("");
|
|
1184
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1185
|
+
});
|
|
1279
1186
|
});
|
|
1280
1187
|
describe("TextInput component asynchronous autosuggest tests", function () {
|
|
1281
|
-
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1282
|
-
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;
|
|
1283
1190
|
|
|
1284
|
-
return _regenerator["default"].wrap(function
|
|
1191
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
1285
1192
|
while (1) {
|
|
1286
|
-
switch (
|
|
1193
|
+
switch (_context.prev = _context.next) {
|
|
1287
1194
|
case 0:
|
|
1288
1195
|
callbackFunc = jest.fn(function (newValue) {
|
|
1289
1196
|
var result = new Promise(function (resolve) {
|
|
@@ -1291,22 +1198,22 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1291
1198
|
resolve(newValue ? countries.filter(function (option) {
|
|
1292
1199
|
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1293
1200
|
}) : countries);
|
|
1294
|
-
},
|
|
1201
|
+
}, 100);
|
|
1295
1202
|
});
|
|
1296
1203
|
return result;
|
|
1297
1204
|
});
|
|
1298
1205
|
onChange = jest.fn();
|
|
1299
|
-
|
|
1206
|
+
_render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1300
1207
|
label: "Autosuggest Countries",
|
|
1301
1208
|
suggestions: callbackFunc,
|
|
1302
1209
|
onChange: onChange
|
|
1303
|
-
})), getByRole =
|
|
1210
|
+
})), getByRole = _render37.getByRole, getByText = _render37.getByText;
|
|
1304
1211
|
input = getByRole("combobox");
|
|
1305
1212
|
|
|
1306
1213
|
_react2.fireEvent.focus(input);
|
|
1307
1214
|
|
|
1308
1215
|
expect(getByRole("listbox")).toBeTruthy();
|
|
1309
|
-
|
|
1216
|
+
_context.next = 8;
|
|
1310
1217
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1311
1218
|
return getByText("Searching...");
|
|
1312
1219
|
});
|
|
@@ -1319,7 +1226,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1319
1226
|
|
|
1320
1227
|
_userEvent["default"].type(input, "Ab");
|
|
1321
1228
|
|
|
1322
|
-
|
|
1229
|
+
_context.next = 15;
|
|
1323
1230
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1324
1231
|
return getByText("Searching...");
|
|
1325
1232
|
});
|
|
@@ -1345,66 +1252,58 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1345
1252
|
|
|
1346
1253
|
case 19:
|
|
1347
1254
|
case "end":
|
|
1348
|
-
return
|
|
1255
|
+
return _context.stop();
|
|
1349
1256
|
}
|
|
1350
1257
|
}
|
|
1351
|
-
},
|
|
1258
|
+
}, _callee);
|
|
1352
1259
|
})));
|
|
1353
|
-
test("Autosuggest Esc key works while 'Searching...' message is shown",
|
|
1354
|
-
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();
|
|
1355
1272
|
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1365
|
-
}) : countries);
|
|
1366
|
-
}, 1000);
|
|
1367
|
-
});
|
|
1368
|
-
return result;
|
|
1369
|
-
});
|
|
1370
|
-
onChange = jest.fn();
|
|
1371
|
-
_render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1372
|
-
label: "Autosuggest Countries",
|
|
1373
|
-
suggestions: callbackFunc,
|
|
1374
|
-
onChange: onChange
|
|
1375
|
-
})), getByRole = _render41.getByRole, queryByText = _render41.queryByText, queryByRole = _render41.queryByRole;
|
|
1376
|
-
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;
|
|
1377
1281
|
|
|
1378
|
-
|
|
1282
|
+
var input = getByRole("combobox");
|
|
1379
1283
|
|
|
1380
|
-
|
|
1284
|
+
_react2.fireEvent.focus(input);
|
|
1381
1285
|
|
|
1382
|
-
|
|
1286
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
1383
1287
|
|
|
1384
|
-
|
|
1385
|
-
key: "Esc",
|
|
1386
|
-
code: "Esc",
|
|
1387
|
-
keyCode: 27,
|
|
1388
|
-
charCode: 27
|
|
1389
|
-
});
|
|
1288
|
+
_userEvent["default"].type(input, "Ab");
|
|
1390
1289
|
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1290
|
+
_react2.fireEvent.keyDown(input, {
|
|
1291
|
+
key: "Esc",
|
|
1292
|
+
code: "Esc",
|
|
1293
|
+
keyCode: 27,
|
|
1294
|
+
charCode: 27
|
|
1295
|
+
});
|
|
1394
1296
|
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
})));
|
|
1402
|
-
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
|
|
1403
|
-
var callbackFunc, onChange, _render42, 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;
|
|
1404
1303
|
|
|
1405
|
-
return _regenerator["default"].wrap(function
|
|
1304
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
1406
1305
|
while (1) {
|
|
1407
|
-
switch (
|
|
1306
|
+
switch (_context2.prev = _context2.next) {
|
|
1408
1307
|
case 0:
|
|
1409
1308
|
callbackFunc = jest.fn(function (newValue) {
|
|
1410
1309
|
var result = new Promise(function (resolve) {
|
|
@@ -1412,16 +1311,16 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1412
1311
|
resolve(newValue ? countries.filter(function (option) {
|
|
1413
1312
|
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1414
1313
|
}) : countries);
|
|
1415
|
-
},
|
|
1314
|
+
}, 100);
|
|
1416
1315
|
});
|
|
1417
1316
|
return result;
|
|
1418
1317
|
});
|
|
1419
1318
|
onChange = jest.fn();
|
|
1420
|
-
|
|
1319
|
+
_render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1421
1320
|
label: "Autosuggest Countries",
|
|
1422
1321
|
suggestions: callbackFunc,
|
|
1423
1322
|
onChange: onChange
|
|
1424
|
-
})), getByRole =
|
|
1323
|
+
})), getByRole = _render39.getByRole, getByText = _render39.getByText, queryByText = _render39.queryByText, queryByRole = _render39.queryByRole;
|
|
1425
1324
|
input = getByRole("combobox");
|
|
1426
1325
|
|
|
1427
1326
|
_react2.fireEvent.focus(input);
|
|
@@ -1450,7 +1349,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1450
1349
|
});
|
|
1451
1350
|
|
|
1452
1351
|
expect(list).toBeTruthy();
|
|
1453
|
-
|
|
1352
|
+
_context2.next = 16;
|
|
1454
1353
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1455
1354
|
return getByText("Searching...");
|
|
1456
1355
|
});
|
|
@@ -1463,17 +1362,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1463
1362
|
|
|
1464
1363
|
case 20:
|
|
1465
1364
|
case "end":
|
|
1466
|
-
return
|
|
1365
|
+
return _context2.stop();
|
|
1467
1366
|
}
|
|
1468
1367
|
}
|
|
1469
|
-
},
|
|
1368
|
+
}, _callee2);
|
|
1470
1369
|
})));
|
|
1471
|
-
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1472
|
-
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;
|
|
1473
1372
|
|
|
1474
|
-
return _regenerator["default"].wrap(function
|
|
1373
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
1475
1374
|
while (1) {
|
|
1476
|
-
switch (
|
|
1375
|
+
switch (_context3.prev = _context3.next) {
|
|
1477
1376
|
case 0:
|
|
1478
1377
|
callbackFunc = jest.fn(function (newValue) {
|
|
1479
1378
|
var result = new Promise(function (resolve) {
|
|
@@ -1481,23 +1380,23 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1481
1380
|
resolve(newValue ? countries.filter(function (option) {
|
|
1482
1381
|
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1483
1382
|
}) : countries);
|
|
1484
|
-
},
|
|
1383
|
+
}, 100);
|
|
1485
1384
|
});
|
|
1486
1385
|
return result;
|
|
1487
1386
|
});
|
|
1488
1387
|
onChange = jest.fn();
|
|
1489
|
-
|
|
1388
|
+
_render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1490
1389
|
label: "Autosuggest Countries",
|
|
1491
1390
|
onChange: onChange,
|
|
1492
1391
|
suggestions: callbackFunc
|
|
1493
|
-
})), getByRole =
|
|
1392
|
+
})), getByRole = _render40.getByRole, getByText = _render40.getByText;
|
|
1494
1393
|
input = getByRole("combobox");
|
|
1495
1394
|
|
|
1496
1395
|
_react2.fireEvent.focus(input);
|
|
1497
1396
|
|
|
1498
1397
|
_userEvent["default"].type(input, "Den");
|
|
1499
1398
|
|
|
1500
|
-
|
|
1399
|
+
_context3.next = 8;
|
|
1501
1400
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1502
1401
|
return getByText("Searching...");
|
|
1503
1402
|
});
|
|
@@ -1508,24 +1407,23 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1508
1407
|
_userEvent["default"].click(getByRole("option"));
|
|
1509
1408
|
|
|
1510
1409
|
expect(onChange).toHaveBeenCalledWith({
|
|
1511
|
-
value: "Denmark"
|
|
1512
|
-
error: null
|
|
1410
|
+
value: "Denmark"
|
|
1513
1411
|
});
|
|
1514
1412
|
expect(input.value).toBe("Denmark");
|
|
1515
1413
|
|
|
1516
1414
|
case 12:
|
|
1517
1415
|
case "end":
|
|
1518
|
-
return
|
|
1416
|
+
return _context3.stop();
|
|
1519
1417
|
}
|
|
1520
1418
|
}
|
|
1521
|
-
},
|
|
1419
|
+
}, _callee3);
|
|
1522
1420
|
})));
|
|
1523
|
-
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1524
|
-
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;
|
|
1525
1423
|
|
|
1526
|
-
return _regenerator["default"].wrap(function
|
|
1424
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
1527
1425
|
while (1) {
|
|
1528
|
-
switch (
|
|
1426
|
+
switch (_context4.prev = _context4.next) {
|
|
1529
1427
|
case 0:
|
|
1530
1428
|
callbackFunc = jest.fn(function (newValue) {
|
|
1531
1429
|
var result = new Promise(function (resolve) {
|
|
@@ -1533,51 +1431,52 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1533
1431
|
resolve(newValue ? countries.filter(function (option) {
|
|
1534
1432
|
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1535
1433
|
}) : countries);
|
|
1536
|
-
},
|
|
1434
|
+
}, 100);
|
|
1537
1435
|
});
|
|
1538
1436
|
return result;
|
|
1539
1437
|
});
|
|
1540
1438
|
onChange = jest.fn();
|
|
1541
|
-
|
|
1439
|
+
_render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1542
1440
|
label: "Autosuggest Countries",
|
|
1543
1441
|
value: "Denm",
|
|
1544
1442
|
onChange: onChange,
|
|
1545
1443
|
suggestions: callbackFunc
|
|
1546
|
-
})), getByRole =
|
|
1444
|
+
})), getByRole = _render41.getByRole, getByText = _render41.getByText, queryByRole = _render41.queryByRole;
|
|
1547
1445
|
input = getByRole("combobox");
|
|
1446
|
+
expect(input.value).toBe("Denm");
|
|
1548
1447
|
|
|
1549
|
-
|
|
1448
|
+
_userEvent["default"].click(getByText("Autosuggest Countries"));
|
|
1550
1449
|
|
|
1551
|
-
|
|
1450
|
+
_context4.next = 8;
|
|
1552
1451
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1553
1452
|
return getByText("Searching...");
|
|
1554
1453
|
});
|
|
1555
1454
|
|
|
1556
|
-
case
|
|
1557
|
-
expect(input.value).toBe("Denm");
|
|
1455
|
+
case 8:
|
|
1558
1456
|
expect(getByText("Denmark")).toBeTruthy();
|
|
1559
1457
|
|
|
1560
|
-
|
|
1458
|
+
_react2.fireEvent.focus(getByRole("option"));
|
|
1459
|
+
|
|
1460
|
+
_userEvent["default"].click(getByText("Denmark"));
|
|
1561
1461
|
|
|
1562
1462
|
expect(onChange).toHaveBeenCalledWith({
|
|
1563
|
-
value: "Denmark"
|
|
1564
|
-
error: null
|
|
1463
|
+
value: "Denmark"
|
|
1565
1464
|
});
|
|
1566
1465
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1567
1466
|
|
|
1568
|
-
case
|
|
1467
|
+
case 13:
|
|
1569
1468
|
case "end":
|
|
1570
|
-
return
|
|
1469
|
+
return _context4.stop();
|
|
1571
1470
|
}
|
|
1572
1471
|
}
|
|
1573
|
-
},
|
|
1472
|
+
}, _callee4);
|
|
1574
1473
|
})));
|
|
1575
|
-
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1576
|
-
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;
|
|
1577
1476
|
|
|
1578
|
-
return _regenerator["default"].wrap(function
|
|
1477
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
1579
1478
|
while (1) {
|
|
1580
|
-
switch (
|
|
1479
|
+
switch (_context5.prev = _context5.next) {
|
|
1581
1480
|
case 0:
|
|
1582
1481
|
callbackFunc = jest.fn(function (newValue) {
|
|
1583
1482
|
var result = new Promise(function (resolve) {
|
|
@@ -1585,23 +1484,23 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1585
1484
|
resolve(newValue ? countries.filter(function (option) {
|
|
1586
1485
|
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1587
1486
|
}) : countries);
|
|
1588
|
-
},
|
|
1487
|
+
}, 100);
|
|
1589
1488
|
});
|
|
1590
1489
|
return result;
|
|
1591
1490
|
});
|
|
1592
1491
|
onChange = jest.fn();
|
|
1593
|
-
|
|
1492
|
+
_render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1594
1493
|
label: "Autosuggest Countries",
|
|
1595
1494
|
onChange: onChange,
|
|
1596
1495
|
suggestions: callbackFunc
|
|
1597
|
-
})), getByText =
|
|
1496
|
+
})), getByText = _render42.getByText, getByRole = _render42.getByRole, queryByRole = _render42.queryByRole;
|
|
1598
1497
|
input = getByRole("combobox");
|
|
1599
1498
|
|
|
1600
1499
|
_react2.fireEvent.focus(input);
|
|
1601
1500
|
|
|
1602
1501
|
_userEvent["default"].type(input, "Example text");
|
|
1603
1502
|
|
|
1604
|
-
|
|
1503
|
+
_context5.next = 8;
|
|
1605
1504
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1606
1505
|
return getByText("Searching...");
|
|
1607
1506
|
});
|
|
@@ -1611,17 +1510,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1611
1510
|
|
|
1612
1511
|
case 9:
|
|
1613
1512
|
case "end":
|
|
1614
|
-
return
|
|
1513
|
+
return _context5.stop();
|
|
1615
1514
|
}
|
|
1616
1515
|
}
|
|
1617
|
-
},
|
|
1516
|
+
}, _callee5);
|
|
1618
1517
|
})));
|
|
1619
|
-
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1620
|
-
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;
|
|
1621
1520
|
|
|
1622
|
-
return _regenerator["default"].wrap(function
|
|
1521
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1623
1522
|
while (1) {
|
|
1624
|
-
switch (
|
|
1523
|
+
switch (_context6.prev = _context6.next) {
|
|
1625
1524
|
case 0:
|
|
1626
1525
|
callbackFunc = jest.fn(function (newValue) {
|
|
1627
1526
|
var result = new Promise(function (resolve) {
|
|
@@ -1629,23 +1528,23 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1629
1528
|
resolve(newValue ? countries.filter(function (option) {
|
|
1630
1529
|
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1631
1530
|
}) : countries);
|
|
1632
|
-
},
|
|
1531
|
+
}, 100);
|
|
1633
1532
|
});
|
|
1634
1533
|
return result;
|
|
1635
1534
|
});
|
|
1636
1535
|
onChange = jest.fn();
|
|
1637
|
-
|
|
1536
|
+
_render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1638
1537
|
label: "Autosuggest Countries",
|
|
1639
1538
|
onChange: onChange,
|
|
1640
1539
|
suggestions: callbackFunc
|
|
1641
|
-
})), getByText =
|
|
1540
|
+
})), getByText = _render43.getByText, getByRole = _render43.getByRole, queryByRole = _render43.queryByRole;
|
|
1642
1541
|
input = getByRole("combobox");
|
|
1643
1542
|
|
|
1644
1543
|
_react2.fireEvent.focus(input);
|
|
1645
1544
|
|
|
1646
1545
|
_userEvent["default"].type(input, "wrong");
|
|
1647
1546
|
|
|
1648
|
-
|
|
1547
|
+
_context6.next = 8;
|
|
1649
1548
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1650
1549
|
return getByText("Searching...");
|
|
1651
1550
|
});
|
|
@@ -1677,37 +1576,37 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1677
1576
|
|
|
1678
1577
|
case 15:
|
|
1679
1578
|
case "end":
|
|
1680
|
-
return
|
|
1579
|
+
return _context6.stop();
|
|
1681
1580
|
}
|
|
1682
1581
|
}
|
|
1683
|
-
},
|
|
1582
|
+
}, _callee6);
|
|
1684
1583
|
})));
|
|
1685
|
-
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1686
|
-
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;
|
|
1687
1586
|
|
|
1688
|
-
return _regenerator["default"].wrap(function
|
|
1587
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1689
1588
|
while (1) {
|
|
1690
|
-
switch (
|
|
1589
|
+
switch (_context7.prev = _context7.next) {
|
|
1691
1590
|
case 0:
|
|
1692
1591
|
errorCallbackFunc = jest.fn(function () {
|
|
1693
1592
|
var result = new Promise(function (resolve, reject) {
|
|
1694
1593
|
return setTimeout(function () {
|
|
1695
1594
|
reject("err");
|
|
1696
|
-
},
|
|
1595
|
+
}, 100);
|
|
1697
1596
|
});
|
|
1698
1597
|
return result;
|
|
1699
1598
|
});
|
|
1700
1599
|
onChange = jest.fn();
|
|
1701
|
-
|
|
1600
|
+
_render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1702
1601
|
label: "Autosuggest Countries",
|
|
1703
1602
|
onChange: onChange,
|
|
1704
1603
|
suggestions: errorCallbackFunc
|
|
1705
|
-
})), getByRole =
|
|
1604
|
+
})), getByRole = _render44.getByRole, getByText = _render44.getByText;
|
|
1706
1605
|
input = getByRole("combobox");
|
|
1707
1606
|
|
|
1708
1607
|
_react2.fireEvent.focus(input);
|
|
1709
1608
|
|
|
1710
|
-
|
|
1609
|
+
_context7.next = 7;
|
|
1711
1610
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1712
1611
|
return getByText("Searching...");
|
|
1713
1612
|
});
|
|
@@ -1717,9 +1616,9 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1717
1616
|
|
|
1718
1617
|
case 8:
|
|
1719
1618
|
case "end":
|
|
1720
|
-
return
|
|
1619
|
+
return _context7.stop();
|
|
1721
1620
|
}
|
|
1722
1621
|
}
|
|
1723
|
-
},
|
|
1622
|
+
}, _callee7);
|
|
1724
1623
|
})));
|
|
1725
1624
|
});
|