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