@dxc-technology/halstack-react 0.0.0-9282b45 → 0.0.0-92fa0e1

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