@dxc-technology/halstack-react 0.0.0-356b44c → 0.0.0-38849bf

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 (351) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.js +59 -0
  21. package/box/Box.d.ts +4 -0
  22. package/box/Box.js +129 -0
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +47 -0
  25. package/box/types.js +5 -0
  26. package/button/Button.d.ts +4 -0
  27. package/button/Button.js +177 -0
  28. package/button/Button.stories.tsx +276 -0
  29. package/button/types.d.ts +57 -0
  30. package/button/types.js +5 -0
  31. package/card/Card.d.ts +4 -0
  32. package/card/Card.js +165 -0
  33. package/card/types.d.ts +69 -0
  34. package/card/types.js +5 -0
  35. package/checkbox/Checkbox.d.ts +4 -0
  36. package/checkbox/Checkbox.js +253 -0
  37. package/checkbox/Checkbox.stories.tsx +192 -0
  38. package/checkbox/types.d.ts +60 -0
  39. package/checkbox/types.js +5 -0
  40. package/chip/Chip.js +221 -0
  41. package/chip/index.d.ts +22 -0
  42. package/{dist/common → common}/OpenSans.css +0 -0
  43. package/{dist/common → common}/RequiredComponent.js +5 -19
  44. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  54. package/common/utils.js +22 -0
  55. package/common/variables.js +1577 -0
  56. package/{dist/date → date}/Date.js +87 -71
  57. package/date/index.d.ts +27 -0
  58. package/date-input/DateInput.d.ts +4 -0
  59. package/date-input/DateInput.js +361 -0
  60. package/date-input/DateInput.stories.tsx +138 -0
  61. package/date-input/types.d.ts +100 -0
  62. package/date-input/types.js +5 -0
  63. package/dialog/Dialog.d.ts +4 -0
  64. package/dialog/Dialog.js +165 -0
  65. package/dialog/types.d.ts +43 -0
  66. package/dialog/types.js +5 -0
  67. package/dropdown/Dropdown.d.ts +4 -0
  68. package/dropdown/Dropdown.js +417 -0
  69. package/dropdown/types.d.ts +89 -0
  70. package/dropdown/types.js +5 -0
  71. package/file-input/FileInput.js +532 -0
  72. package/file-input/FileItem.js +193 -0
  73. package/file-input/index.d.ts +81 -0
  74. package/footer/Footer.d.ts +4 -0
  75. package/footer/Footer.js +266 -0
  76. package/footer/Footer.stories.jsx +151 -0
  77. package/footer/Icons.js +77 -0
  78. package/footer/types.d.ts +61 -0
  79. package/footer/types.js +5 -0
  80. package/header/Header.d.ts +7 -0
  81. package/header/Header.js +324 -0
  82. package/header/Icons.js +34 -0
  83. package/header/types.d.ts +45 -0
  84. package/header/types.js +5 -0
  85. package/heading/Heading.js +176 -0
  86. package/heading/index.d.ts +17 -0
  87. package/input-text/Icons.js +22 -0
  88. package/input-text/InputText.js +611 -0
  89. package/input-text/index.d.ts +36 -0
  90. package/layout/ApplicationLayout.js +235 -0
  91. package/layout/Icons.js +55 -0
  92. package/link/Link.d.ts +3 -0
  93. package/link/Link.js +161 -0
  94. package/link/Link.stories.tsx +70 -0
  95. package/link/types.d.ts +74 -0
  96. package/link/types.js +5 -0
  97. package/main.d.ts +44 -0
  98. package/{dist/main.js → main.js} +143 -43
  99. package/number-input/NumberInput.d.ts +4 -0
  100. package/number-input/NumberInput.js +86 -0
  101. package/number-input/NumberInput.stories.tsx +115 -0
  102. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  103. package/number-input/types.d.ts +117 -0
  104. package/number-input/types.js +5 -0
  105. package/package.json +39 -24
  106. package/paginator/Icons.js +66 -0
  107. package/paginator/Paginator.d.ts +4 -0
  108. package/paginator/Paginator.js +198 -0
  109. package/paginator/Paginator.stories.tsx +63 -0
  110. package/paginator/types.d.ts +38 -0
  111. package/paginator/types.js +5 -0
  112. package/password-input/PasswordInput.d.ts +4 -0
  113. package/password-input/PasswordInput.js +162 -0
  114. package/password-input/PasswordInput.stories.tsx +131 -0
  115. package/password-input/types.d.ts +100 -0
  116. package/password-input/types.js +5 -0
  117. package/progress-bar/ProgressBar.d.ts +4 -0
  118. package/progress-bar/ProgressBar.js +170 -0
  119. package/progress-bar/ProgressBar.stories.jsx +58 -0
  120. package/progress-bar/types.d.ts +37 -0
  121. package/progress-bar/types.js +5 -0
  122. package/radio/Radio.d.ts +4 -0
  123. package/radio/Radio.js +174 -0
  124. package/radio/Radio.stories.tsx +192 -0
  125. package/radio/types.d.ts +54 -0
  126. package/radio/types.js +5 -0
  127. package/resultsetTable/ResultsetTable.js +274 -0
  128. package/resultsetTable/index.d.ts +19 -0
  129. package/select/Select.js +865 -0
  130. package/select/index.d.ts +131 -0
  131. package/sidenav/Sidenav.d.ts +9 -0
  132. package/sidenav/Sidenav.js +136 -0
  133. package/sidenav/types.d.ts +50 -0
  134. package/sidenav/types.js +5 -0
  135. package/slider/Slider.d.ts +4 -0
  136. package/slider/Slider.js +317 -0
  137. package/slider/Slider.stories.tsx +172 -0
  138. package/slider/types.d.ts +78 -0
  139. package/slider/types.js +5 -0
  140. package/spinner/Spinner.d.ts +4 -0
  141. package/spinner/Spinner.js +250 -0
  142. package/spinner/Spinner.stories.jsx +102 -0
  143. package/spinner/types.d.ts +32 -0
  144. package/spinner/types.js +5 -0
  145. package/switch/Switch.d.ts +4 -0
  146. package/switch/Switch.js +179 -0
  147. package/switch/Switch.stories.tsx +160 -0
  148. package/switch/types.d.ts +58 -0
  149. package/switch/types.js +5 -0
  150. package/table/Table.d.ts +4 -0
  151. package/table/Table.js +118 -0
  152. package/table/Table.stories.jsx +276 -0
  153. package/table/types.d.ts +21 -0
  154. package/table/types.js +5 -0
  155. package/tabs/Tabs.d.ts +4 -0
  156. package/tabs/Tabs.js +211 -0
  157. package/tabs/types.d.ts +71 -0
  158. package/tabs/types.js +5 -0
  159. package/tag/Tag.d.ts +4 -0
  160. package/tag/Tag.js +193 -0
  161. package/tag/Tag.stories.tsx +145 -0
  162. package/tag/types.d.ts +60 -0
  163. package/tag/types.js +5 -0
  164. package/text-input/TextInput.js +825 -0
  165. package/text-input/index.d.ts +135 -0
  166. package/textarea/Textarea.js +317 -0
  167. package/textarea/Textarea.stories.jsx +135 -0
  168. package/textarea/index.d.ts +117 -0
  169. package/{dist/toggle → toggle}/Toggle.js +30 -67
  170. package/toggle/index.d.ts +21 -0
  171. package/toggle-group/ToggleGroup.js +243 -0
  172. package/toggle-group/index.d.ts +21 -0
  173. package/{dist/upload → upload}/Upload.js +23 -22
  174. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  175. package/upload/buttons-upload/Icons.js +40 -0
  176. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  177. package/upload/dragAndDropArea/Icons.js +39 -0
  178. package/upload/file-upload/FileToUpload.js +115 -0
  179. package/upload/file-upload/Icons.js +66 -0
  180. package/upload/files-upload/FilesToUpload.js +109 -0
  181. package/upload/index.d.ts +15 -0
  182. package/upload/transaction/Icons.js +160 -0
  183. package/upload/transaction/Transaction.js +104 -0
  184. package/upload/transactions/Transactions.js +94 -0
  185. package/useTheme.js +22 -0
  186. package/wizard/Icons.js +65 -0
  187. package/wizard/Wizard.js +271 -0
  188. package/wizard/index.d.ts +18 -0
  189. package/README.md +0 -66
  190. package/babel.config.js +0 -4
  191. package/dist/accordion/Accordion.js +0 -248
  192. package/dist/accordion/Accordion.stories.js +0 -207
  193. package/dist/accordion/readme.md +0 -96
  194. package/dist/alert/Alert.js +0 -304
  195. package/dist/alert/Alert.stories.js +0 -158
  196. package/dist/alert/close.svg +0 -4
  197. package/dist/alert/error.svg +0 -4
  198. package/dist/alert/info.svg +0 -4
  199. package/dist/alert/readme.md +0 -43
  200. package/dist/alert/success.svg +0 -4
  201. package/dist/alert/warning.svg +0 -4
  202. package/dist/box/Box.js +0 -148
  203. package/dist/button/Button.js +0 -181
  204. package/dist/button/Button.stories.js +0 -224
  205. package/dist/button/readme.md +0 -93
  206. package/dist/card/Card.js +0 -217
  207. package/dist/checkbox/Checkbox.js +0 -240
  208. package/dist/checkbox/Checkbox.stories.js +0 -144
  209. package/dist/checkbox/readme.md +0 -116
  210. package/dist/chip/Chip.js +0 -173
  211. package/dist/common/services/example-service.js +0 -10
  212. package/dist/common/services/example-service.test.js +0 -12
  213. package/dist/common/utils.js +0 -42
  214. package/dist/common/variables.js +0 -400
  215. package/dist/date/Date.stories.js +0 -205
  216. package/dist/date/calendar.svg +0 -1
  217. package/dist/date/calendar_dark.svg +0 -1
  218. package/dist/date/readme.md +0 -73
  219. package/dist/dialog/Dialog.js +0 -197
  220. package/dist/dialog/Dialog.stories.js +0 -217
  221. package/dist/dialog/readme.md +0 -32
  222. package/dist/dropdown/Dropdown.js +0 -416
  223. package/dist/dropdown/Dropdown.stories.js +0 -249
  224. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  225. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  226. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  227. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  228. package/dist/dropdown/readme.md +0 -69
  229. package/dist/footer/Footer.js +0 -346
  230. package/dist/footer/Footer.stories.js +0 -94
  231. package/dist/footer/dxc_logo_wht.png +0 -0
  232. package/dist/footer/readme.md +0 -41
  233. package/dist/header/Header.js +0 -360
  234. package/dist/header/Header.stories.js +0 -176
  235. package/dist/header/close_icon.svg +0 -1
  236. package/dist/header/dxc_logo_black.png +0 -0
  237. package/dist/header/dxc_logo_white.png +0 -0
  238. package/dist/header/hamb_menu_black.svg +0 -1
  239. package/dist/header/hamb_menu_white.svg +0 -1
  240. package/dist/header/readme.md +0 -33
  241. package/dist/heading/Heading.js +0 -153
  242. package/dist/input-text/InputText.js +0 -519
  243. package/dist/input-text/InputText.stories.js +0 -209
  244. package/dist/input-text/error.svg +0 -1
  245. package/dist/input-text/readme.md +0 -91
  246. package/dist/link/Link.js +0 -136
  247. package/dist/link/readme.md +0 -51
  248. package/dist/paginator/Paginator.js +0 -196
  249. package/dist/paginator/images/next.svg +0 -3
  250. package/dist/paginator/images/nextPage.svg +0 -3
  251. package/dist/paginator/images/previous.svg +0 -3
  252. package/dist/paginator/images/previousPage.svg +0 -3
  253. package/dist/paginator/readme.md +0 -50
  254. package/dist/progress-bar/ProgressBar.js +0 -185
  255. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  256. package/dist/progress-bar/readme.md +0 -63
  257. package/dist/radio/Radio.js +0 -195
  258. package/dist/radio/Radio.stories.js +0 -166
  259. package/dist/radio/readme.md +0 -70
  260. package/dist/resultsetTable/ResultsetTable.js +0 -333
  261. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  262. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  263. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  264. package/dist/select/Select.js +0 -451
  265. package/dist/select/Select.stories.js +0 -235
  266. package/dist/select/readme.md +0 -72
  267. package/dist/sidenav/Sidenav.js +0 -222
  268. package/dist/sidenav/arrow_icon.svg +0 -3
  269. package/dist/slider/Slider.js +0 -258
  270. package/dist/slider/Slider.stories.js +0 -241
  271. package/dist/slider/readme.md +0 -64
  272. package/dist/spinner/Spinner.js +0 -193
  273. package/dist/spinner/Spinner.stories.js +0 -183
  274. package/dist/spinner/readme.md +0 -65
  275. package/dist/switch/Switch.js +0 -199
  276. package/dist/switch/Switch.stories.js +0 -134
  277. package/dist/switch/readme.md +0 -133
  278. package/dist/table/Table.js +0 -93
  279. package/dist/tabs/Tabs.js +0 -172
  280. package/dist/tabs/Tabs.stories.js +0 -130
  281. package/dist/tabs/readme.md +0 -78
  282. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  283. package/dist/tabs-for-sections/readme.md +0 -78
  284. package/dist/tag/Tag.js +0 -217
  285. package/dist/textarea/Textarea.js +0 -227
  286. package/dist/toggle/Toggle.stories.js +0 -297
  287. package/dist/toggle/readme.md +0 -80
  288. package/dist/upload/Upload.stories.js +0 -72
  289. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  290. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  291. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  292. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  293. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  294. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  295. package/dist/upload/file-upload/FileToUpload.js +0 -158
  296. package/dist/upload/file-upload/audio-icon.svg +0 -4
  297. package/dist/upload/file-upload/close.svg +0 -4
  298. package/dist/upload/file-upload/file-icon.svg +0 -4
  299. package/dist/upload/file-upload/video-icon.svg +0 -4
  300. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  301. package/dist/upload/readme.md +0 -37
  302. package/dist/upload/transaction/Transaction.js +0 -155
  303. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  304. package/dist/upload/transaction/audio-icon.svg +0 -4
  305. package/dist/upload/transaction/error-icon.svg +0 -4
  306. package/dist/upload/transaction/file-icon-err.svg +0 -4
  307. package/dist/upload/transaction/file-icon.svg +0 -4
  308. package/dist/upload/transaction/image-icon-err.svg +0 -4
  309. package/dist/upload/transaction/image-icon.svg +0 -4
  310. package/dist/upload/transaction/success-icon.svg +0 -4
  311. package/dist/upload/transaction/video-icon-err.svg +0 -4
  312. package/dist/upload/transaction/video-icon.svg +0 -4
  313. package/dist/upload/transactions/Transactions.js +0 -120
  314. package/dist/wizard/Wizard.js +0 -327
  315. package/dist/wizard/invalid_icon.svg +0 -6
  316. package/dist/wizard/valid_icon.svg +0 -6
  317. package/dist/wizard/validation-wrong.svg +0 -6
  318. package/test/Accordion.test.js +0 -33
  319. package/test/Alert.test.js +0 -53
  320. package/test/Box.test.js +0 -10
  321. package/test/Button.test.js +0 -18
  322. package/test/Card.test.js +0 -30
  323. package/test/Checkbox.test.js +0 -45
  324. package/test/Chip.test.js +0 -25
  325. package/test/Date.test.js +0 -393
  326. package/test/Dialog.test.js +0 -23
  327. package/test/Dropdown.test.js +0 -130
  328. package/test/Footer.test.js +0 -99
  329. package/test/Header.test.js +0 -39
  330. package/test/Heading.test.js +0 -35
  331. package/test/InputText.test.js +0 -236
  332. package/test/Link.test.js +0 -25
  333. package/test/Paginator.test.js +0 -165
  334. package/test/ProgressBar.test.js +0 -35
  335. package/test/Radio.test.js +0 -37
  336. package/test/ResultsetTable.test.js +0 -282
  337. package/test/Select.test.js +0 -191
  338. package/test/Sidenav.test.js +0 -87
  339. package/test/Slider.test.js +0 -65
  340. package/test/Spinner.test.js +0 -27
  341. package/test/Switch.test.js +0 -45
  342. package/test/Table.test.js +0 -36
  343. package/test/Tabs.test.js +0 -88
  344. package/test/TabsForSections.test.js +0 -34
  345. package/test/Tag.test.js +0 -32
  346. package/test/TextArea.test.js +0 -52
  347. package/test/Toggle.test.js +0 -43
  348. package/test/Upload.test.js +0 -60
  349. package/test/Wizard.test.js +0 -130
  350. package/test/mocks/pngMock.js +0 -1
  351. package/test/mocks/svgMock.js +0 -1
@@ -1,43 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcToggle from "../src/toggle/Toggle";
4
-
5
- describe("Toggle component tests", () => {
6
- test("Toggle renders with correct text", () => {
7
- const { getByText } = render(<DxcToggle label="Toggle" />);
8
- expect(getByText("Toggle")).toBeTruthy();
9
- });
10
-
11
- test("Calls correct function on click", () => {
12
- const onClick = jest.fn();
13
- const { getByText} = render(<DxcToggle label="ToggleTest" onClick={onClick} />);
14
- fireEvent.click(getByText("ToggleTest"));
15
- expect(onClick).toHaveBeenCalled();
16
- });
17
-
18
- test("Calls correct function on click with the correct value.", () => {
19
- const onClick = jest.fn();
20
- const { getByText, rerender } = render(<DxcToggle label="ToggleTest" onClick={onClick} />);
21
-
22
- fireEvent.click(getByText("ToggleTest"));
23
- rerender(<DxcToggle label="ToggleTest" onClick={onClick} selected={true} />);
24
- fireEvent.click(getByText("ToggleTest"));
25
- expect(onClick.mock.calls[0][0]).toBe(true);
26
- expect(onClick.mock.calls[1][0]).toBe(false);
27
- });
28
-
29
-
30
- test("Calls correct function on click with the correct value, if it´s controlled and the user doesn´t change the value the function always receives the same", () => {
31
- const onClick = jest.fn();
32
- const { getByText } = render(<DxcToggle label="ToggleTest" selected={true} onClick={onClick} />);
33
-
34
- fireEvent.click(getByText("ToggleTest"));
35
- fireEvent.click(getByText("ToggleTest"));
36
- fireEvent.click(getByText("ToggleTest"));
37
- expect(onClick).toHaveBeenCalledTimes(3);
38
- expect(onClick.mock.calls[0][0]).toBe(false);
39
- expect(onClick.mock.calls[1][0]).toBe(false);
40
- expect(onClick.mock.calls[2][0]).toBe(false);
41
- });
42
-
43
- });
@@ -1,60 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent, act, createEvent } from "@testing-library/react";
3
- import DxcUpload from "../src/upload/Upload";
4
-
5
- describe("Upload component tests", () => {
6
- test("Upload renders with correct text", () => {
7
- const { getByText } = render(<DxcUpload margin="small"></DxcUpload>);
8
- expect(getByText("There are no files to upload")).toBeTruthy();
9
- expect(getByText("Drag and drop your files here or choose one from your computer")).toBeTruthy();
10
- expect(getByText("CHOOSE FILES")).toBeTruthy();
11
- });
12
-
13
- test("Upload shows file information", () => {
14
- const myfunction = jest.fn();
15
- const { getByText } = render(<DxcUpload margin="small"></DxcUpload>);
16
-
17
- const dropZone = getByText("There are no files to upload");
18
- const dropEvent = createEvent.drop(dropZone);
19
- const fileList = [new File(["(⌐□_□)"], "test.png", { type: "image/png" })];
20
-
21
- Object.defineProperty(dropEvent, "dataTransfer", {
22
- value: {
23
- files: fileList,
24
- clearData: myfunction,
25
- },
26
- });
27
-
28
- act(() => {
29
- fireEvent(dropZone, dropEvent);
30
- });
31
- expect(getByText("test.png")).toBeTruthy();
32
- expect(getByText("image/png")).toBeTruthy();
33
- expect(getByText("UPLOAD")).toBeTruthy();
34
- });
35
-
36
- test("Calls correct function callbackUpload", () => {
37
- const onCallbackUpload = jest.fn(() => new Promise(resolve => setTimeout(resolve, 1000)));
38
- const myfunction = jest.fn();
39
- const { getByText } = render(<DxcUpload margin="small" callbackUpload={onCallbackUpload}></DxcUpload>);
40
-
41
- const dropZone = getByText("There are no files to upload");
42
- const dropEvent = createEvent.drop(dropZone);
43
- const fileList = [new File(["(⌐□_□)"], "test.png", { type: "image/png" })];
44
-
45
- Object.defineProperty(dropEvent, "dataTransfer", {
46
- value: {
47
- files: fileList,
48
- clearData: myfunction,
49
- },
50
- });
51
-
52
- act(() => {
53
- fireEvent(dropZone, dropEvent);
54
- });
55
- act(() => {
56
- fireEvent.click(getByText("UPLOAD"));
57
- });
58
- expect(onCallbackUpload).toHaveBeenCalled();
59
- });
60
- });
@@ -1,130 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcWizard from "../src/wizard/Wizard";
4
-
5
- describe("Wizard components tests", () => {
6
- test("Wizard renders with correct steps", () => {
7
- const { getByText } = render(
8
- <DxcWizard
9
- steps={[
10
- {
11
- label: "first-step",
12
- },
13
- {
14
- label: "second-step",
15
- },
16
- ]}
17
- ></DxcWizard>
18
- );
19
-
20
- expect(getByText("first-step")).toBeTruthy();
21
- expect(getByText("second-step")).toBeTruthy();
22
- });
23
-
24
- test("Click on step text", () => {
25
- const onClick = jest.fn();
26
- const { getByText } = render(
27
- <DxcWizard
28
- onStepClick={onClick}
29
- steps={[
30
- {
31
- label: "first-step",
32
- },
33
- ]}
34
- ></DxcWizard>
35
- );
36
-
37
- const step = getByText("first-step");
38
- fireEvent.click(step);
39
- expect(onClick).toHaveBeenCalled();
40
- });
41
-
42
- test("Click on step description", () => {
43
- const onClick = jest.fn();
44
- const { getByText } = render(
45
- <DxcWizard
46
- onStepClick={onClick}
47
- steps={[
48
- {
49
- label: "first-step",
50
- description: "step-description",
51
- },
52
- ]}
53
- ></DxcWizard>
54
- );
55
-
56
- const step = getByText("step-description");
57
- fireEvent.click(step);
58
- expect(onClick).toHaveBeenCalled();
59
- });
60
-
61
- test("Click on step number", () => {
62
- const onClick = jest.fn();
63
- const { getByText } = render(
64
- <DxcWizard
65
- onStepClick={onClick}
66
- steps={[
67
- {
68
- label: "first-step",
69
- },
70
- ]}
71
- ></DxcWizard>
72
- );
73
-
74
- const step = getByText("1");
75
- fireEvent.click(step);
76
- expect(onClick).toHaveBeenCalled();
77
- });
78
-
79
- test("Click on disable step", () => {
80
- const onClick = jest.fn();
81
- const { getByText } = render(
82
- <DxcWizard
83
- onStepClick={onClick}
84
- steps={[
85
- {
86
- label: "first-step",
87
- },
88
- {
89
- label: "second-step",
90
- disabled: true,
91
- },
92
- ]}
93
- ></DxcWizard>
94
- );
95
-
96
- const step = getByText("second-step");
97
- fireEvent.click(step);
98
- expect(onClick).toHaveBeenCalledTimes(0);
99
- });
100
-
101
- test("Controlled wizard function is called", () => {
102
- const onClick = jest.fn((i) => i);
103
- const { getByText } = render(
104
- <DxcWizard
105
- currentStep={1}
106
- onStepClick={onClick}
107
- steps={[
108
- {
109
- label: "first-step",
110
- },
111
- {
112
- label: "second-step",
113
- },
114
- ]}
115
- ></DxcWizard>
116
- );
117
-
118
- const step1 = getByText("first-step");
119
- const step2 = getByText("second-step");
120
- fireEvent.click(step1);
121
- fireEvent.click(step2);
122
- fireEvent.click(step1);
123
-
124
- expect(onClick).toHaveBeenCalledTimes(3);
125
- //Test the received value in the onClick function
126
- expect(onClick).toHaveBeenNthCalledWith(1, 0);
127
- expect(onClick).toHaveBeenNthCalledWith(2, 1);
128
- expect(onClick).toHaveBeenNthCalledWith(3, 0);
129
- });
130
- });
@@ -1 +0,0 @@
1
- module.exports = 'ImageMock';
@@ -1 +0,0 @@
1
- module.exports = 'IconMock';