@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,165 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcPaginator from "../src/paginator/Paginator";
4
- import DxcButton from "../src/button/Button";
5
-
6
- describe("Paginator component tests", () => {
7
- test("Paginator renders with default values", () => {
8
- const { getByText } = render(<DxcPaginator></DxcPaginator>);
9
- expect(getByText("1 to 1 of 1")).toBeTruthy();
10
- expect(getByText("Page: 1 of 1")).toBeTruthy();
11
- });
12
-
13
- test("Paginator renders with currentPage", () => {
14
- const { getByText } = render(<DxcPaginator currentPage={2}></DxcPaginator>);
15
- expect(getByText("Page: 2 of 1")).toBeTruthy();
16
- });
17
-
18
- test("Paginator renders with itemsPerPage", () => {
19
- const { getByText } = render(<DxcPaginator currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>);
20
- expect(getByText("1 to 10 of 20")).toBeTruthy();
21
- expect(getByText("Page: 1 of 2")).toBeTruthy();
22
- });
23
-
24
- test("Paginator renders with totalItems", () => {
25
- const { getByText } = render(<DxcPaginator totalItems={20}></DxcPaginator>);
26
- expect(getByText("1 to 5 of 20")).toBeTruthy();
27
- expect(getByText("Page: 1 of 4")).toBeTruthy();
28
- });
29
-
30
- test("Paginator renders with correct text in second page", () => {
31
- const { getByText } = render(<DxcPaginator currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>);
32
- expect(getByText("11 to 20 of 20")).toBeTruthy();
33
- expect(getByText("Page: 2 of 2")).toBeTruthy();
34
- });
35
-
36
- test("Call correct nextFunction", () => {
37
- const onClick = jest.fn();
38
- const { getByRole } = render(
39
- <DxcPaginator nextFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
40
- );
41
- const nextButton = getByRole("button");
42
- fireEvent.click(nextButton);
43
- expect(onClick).toHaveBeenCalled();
44
- });
45
-
46
- test("Call correct lastFunction", () => {
47
- const onClick = jest.fn();
48
- const { getByRole } = render(
49
- <DxcPaginator lastFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
50
- );
51
- const lastButton = getByRole("button");
52
- fireEvent.click(lastButton);
53
- expect(onClick).toHaveBeenCalledWith(2);
54
- });
55
-
56
- test("Call correct prevFunction", () => {
57
- const onClick = jest.fn();
58
- const { getByRole } = render(
59
- <DxcPaginator prevFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>
60
- );
61
- const prevButton = getByRole("button");
62
- fireEvent.click(prevButton);
63
- expect(onClick).toHaveBeenCalled();
64
- });
65
-
66
- test("Call correct firstFunction", () => {
67
- const onClick = jest.fn();
68
- const { getByRole } = render(
69
- <DxcPaginator firstFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={30}></DxcPaginator>
70
- );
71
- const firstButton = getByRole("button");
72
- fireEvent.click(firstButton);
73
- expect(onClick).toHaveBeenCalled();
74
- });
75
-
76
- test("Next button is disable in last page", () => {
77
- const onClick = jest.fn();
78
- const { getByRole } = render(
79
- <DxcPaginator nextFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>
80
- );
81
- const nextButton = getByRole("button");
82
- expect(nextButton.hasAttribute("disabled")).toBeTruthy();
83
- fireEvent.click(nextButton);
84
- expect(onClick).toHaveBeenCalledTimes(0);
85
- });
86
-
87
- test("Last button is disable in last page", () => {
88
- const onClick = jest.fn();
89
- const { getByRole } = render(
90
- <DxcPaginator lastFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>
91
- );
92
- const lastButton = getByRole("button");
93
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
94
- fireEvent.click(lastButton);
95
- expect(onClick).toHaveBeenCalledTimes(0);
96
- });
97
-
98
- test("First button is disable in first page", () => {
99
- const onClick = jest.fn();
100
- const { getByRole } = render(
101
- <DxcPaginator firstFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
102
- );
103
- const lastButton = getByRole("button");
104
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
105
- fireEvent.click(lastButton);
106
- expect(onClick).toHaveBeenCalledTimes(0);
107
- });
108
-
109
- test("Previous button is disable in first page", () => {
110
- const onClick = jest.fn();
111
- const { getByRole } = render(
112
- <DxcPaginator prevFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
113
- );
114
- const lastButton = getByRole("button");
115
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
116
- fireEvent.click(lastButton);
117
- expect(onClick).toHaveBeenCalledTimes(0);
118
- });
119
-
120
- test("Last and next buttons are disable in last page", () => {
121
- const onClick = jest.fn();
122
- const { getAllByRole } = render(
123
- <DxcPaginator
124
- prevFunction={onClick}
125
- firstFunction={onClick}
126
- nextFunction={onClick}
127
- lastFunction={onClick}
128
- currentPage={2}
129
- itemsPerPage={10}
130
- totalItems={20}
131
- ></DxcPaginator>
132
- );
133
- const firstButton = getAllByRole("button")[0];
134
- const prevButton = getAllByRole("button")[1];
135
- const nextButton = getAllByRole("button")[2];
136
- const lastButton = getAllByRole("button")[3];
137
- expect(firstButton.hasAttribute("disabled")).toBeFalsy();
138
- expect(prevButton.hasAttribute("disabled")).toBeFalsy();
139
- expect(nextButton.hasAttribute("disabled")).toBeTruthy();
140
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
141
- });
142
-
143
- test("First and previous buttons are disable in first page", () => {
144
- const onClick = jest.fn();
145
- const { getAllByRole } = render(
146
- <DxcPaginator
147
- prevFunction={onClick}
148
- firstFunction={onClick}
149
- nextFunction={onClick}
150
- lastFunction={onClick}
151
- currentPage={1}
152
- itemsPerPage={10}
153
- totalItems={20}
154
- ></DxcPaginator>
155
- );
156
- const firstButton = getAllByRole("button")[0];
157
- const prevButton = getAllByRole("button")[1];
158
- const nextButton = getAllByRole("button")[2];
159
- const lastButton = getAllByRole("button")[3];
160
- expect(firstButton.hasAttribute("disabled")).toBeTruthy();
161
- expect(prevButton.hasAttribute("disabled")).toBeTruthy();
162
- expect(nextButton.hasAttribute("disabled")).toBeFalsy();
163
- expect(lastButton.hasAttribute("disabled")).toBeFalsy();
164
- });
165
- });
@@ -1,35 +0,0 @@
1
- import React from "react";
2
- import { render } from "@testing-library/react";
3
- import DxcProgressBar from "../src/progress-bar/ProgressBar";
4
-
5
- describe("ProgressBar component tests", () => {
6
- test("ProgressBar renders with label", () => {
7
- const { getByText } = render(<DxcProgressBar label="test-label"></DxcProgressBar>);
8
- expect(getByText("test-label")).toBeTruthy();
9
- });
10
-
11
- test("Overlay progressBar renders with label", () => {
12
- const { getByText } = render(<DxcProgressBar label="test-label" overlay></DxcProgressBar>);
13
- expect(getByText("test-label")).toBeTruthy();
14
- });
15
-
16
- test("ProgressBar renders with default value", () => {
17
- const { getByText } = render(<DxcProgressBar showValue></DxcProgressBar>);
18
- expect(getByText("100 %")).toBeTruthy();
19
- });
20
-
21
- test("Overlay progressBar renders with default value", () => {
22
- const { getByText } = render(<DxcProgressBar showValue overlay></DxcProgressBar>);
23
- expect(getByText("100 %")).toBeTruthy();
24
- });
25
-
26
- test("ProgressBar renders with value", () => {
27
- const { getByText } = render(<DxcProgressBar showValue value={25}></DxcProgressBar>);
28
- expect(getByText("25 %")).toBeTruthy();
29
- });
30
-
31
- test("Overlay progressBar renders with value", () => {
32
- const { getByText } = render(<DxcProgressBar showValue value={25} overlay></DxcProgressBar>);
33
- expect(getByText("25 %")).toBeTruthy();
34
- });
35
- });
@@ -1,37 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcRadio from "../src/radio/Radio";
4
-
5
- describe("Radio component tests", () => {
6
- test("Radio renders correctly", () => {
7
- const { getByText } = render(<DxcRadio label="Radio button" />);
8
- expect(getByText("Radio button")).toBeTruthy();
9
- });
10
- test("Calls correct function on click", () => {
11
- const onClick = jest.fn();
12
- const { getByText} = render(<DxcRadio label="Radio button" onClick={onClick} />);
13
- fireEvent.click(getByText("Radio button"));
14
-
15
- expect(onClick).toHaveBeenCalled();
16
- expect(onClick).toHaveBeenCalledWith(true);
17
- });
18
- test("Controlled Radio", () => {
19
- const onClick = jest.fn();
20
- const { getByText, getByRole } = render(<DxcRadio label="Radio button" checked={false} onClick={onClick} />);
21
- expect(getByRole("radio").checked).toBe(false);
22
- fireEvent.click(getByText("Radio button"));
23
- expect(onClick).toHaveBeenCalled();
24
- expect(onClick).toHaveBeenCalledWith(true);
25
- expect(getByRole("radio").checked).toBe(false);
26
- });
27
- test("Uncontrolled Radio", () => {
28
- const onClick = jest.fn();
29
- const { getByText, getByRole } = render(<DxcRadio label="Radio button" onClick={onClick} />);
30
- expect(getByRole("radio").checked).toBe(false);
31
- fireEvent.click(getByText("Radio button"));
32
- expect(onClick).toHaveBeenCalled();
33
- expect(onClick).toHaveBeenCalledWith(true);
34
- expect(getByRole("radio").checked).toBe(false);
35
- });
36
-
37
- });
@@ -1,282 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcResultsetTable from "../src/resultsetTable/ResultsetTable";
4
-
5
- const columns = [
6
- {
7
- displayValue: "Id",
8
- isSortable: false,
9
- },
10
- {
11
- displayValue: "Name",
12
- isSortable: true,
13
- },
14
- {
15
- displayValue: "City",
16
- isSortable: false,
17
- }
18
- ];
19
-
20
- const rows = [
21
- [
22
- {
23
- displayValue: "001",
24
- sortValue: "001",
25
- },
26
- {
27
- displayValue: "Peter",
28
- sortValue: "Peter",
29
- },
30
- {
31
- displayValue: "Oviedo",
32
- sortValue: "Oviedo",
33
- }
34
- ],
35
- [
36
- {
37
- displayValue: "002",
38
- sortValue: "002",
39
- },
40
- {
41
- displayValue: "Louis",
42
- sortValue: "Louis",
43
- },
44
- {
45
- displayValue: "Oviedo",
46
- sortValue: "Oviedo",
47
- },
48
- {
49
- displayValue: "",
50
- },
51
- ],
52
- [
53
- {
54
- displayValue: "003",
55
- sortValue: "003",
56
- },
57
- {
58
- displayValue: "Lana",
59
- sortValue: "Lana",
60
- },
61
- {
62
- displayValue: "Albacete",
63
- sortValue: "Albacete",
64
- }
65
- ],
66
- [
67
- {
68
- displayValue: "004",
69
- sortValue: "004",
70
- },
71
- {
72
- displayValue: "Rick",
73
- sortValue: "Rick",
74
- },
75
- {
76
- displayValue: "Albacete",
77
- sortValue: "Albacete",
78
- }
79
- ],
80
- [
81
- {
82
- displayValue: "005",
83
- sortValue: "005",
84
- },
85
- {
86
- displayValue: "Mark",
87
- sortValue: "Mark",
88
- },
89
- {
90
- displayValue: "Madrid",
91
- sortValue: "Madrid",
92
- }
93
- ],
94
- [
95
- {
96
- displayValue: "006",
97
- sortValue: "006",
98
- },
99
- {
100
- displayValue: "Cris",
101
- sortValue: "Cris",
102
- },
103
- {
104
- displayValue: "Barcelona",
105
- sortValue: "Barcelona",
106
- },
107
- {
108
- displayValue: "",
109
- },
110
- ],
111
- [
112
- {
113
- displayValue: "007",
114
- sortValue: "007",
115
- },
116
- {
117
- displayValue: "Susan",
118
- sortValue: "Susan",
119
- },
120
- {
121
- displayValue: "Madrid",
122
- sortValue: "Madrid",
123
- }
124
- ],
125
- [
126
- {
127
- displayValue: "008",
128
- sortValue: "008",
129
- },
130
- {
131
- displayValue: "Tina",
132
- sortValue: "Tina",
133
- },
134
- {
135
- displayValue: "Barcelona",
136
- sortValue: "Barcelona",
137
- }
138
- ],
139
- [
140
- {
141
- displayValue: "009",
142
- sortValue: "009",
143
- },
144
- {
145
- displayValue: "Kevin",
146
- sortValue: "Kevin",
147
- },
148
- {
149
- displayValue: "Oviedo",
150
- sortValue: "Oviedo",
151
- },
152
- {
153
- displayValue: "",
154
- },
155
- ],
156
- [
157
- {
158
- displayValue: "010",
159
- sortValue: "010",
160
- },
161
- {
162
- displayValue: "Cosmin",
163
- sortValue: "Cosmin",
164
- },
165
- {
166
- displayValue: "Barcelona",
167
- sortValue: "Barcelona",
168
- },
169
- {
170
- displayValue: "",
171
- },
172
- ],
173
- ];
174
-
175
- const rows2 = [
176
- [
177
- {
178
- displayValue: "546",
179
- sortValue: "465",
180
- },
181
- {
182
- displayValue: "OtherValue",
183
- sortValue: "OtherValue",
184
- },
185
- {
186
- displayValue: "OtherValue",
187
- sortValue: "OtherValue",
188
- }
189
- ],
190
- [
191
- {
192
- displayValue: "978",
193
- sortValue: "465",
194
- },
195
- {
196
- displayValue: "OtherValue",
197
- sortValue: "OtherValue",
198
- },
199
- {
200
- displayValue: "OtherValue",
201
- sortValue: "OtherValue",
202
- },
203
- {
204
- displayValue: "",
205
- },
206
- ],
207
- [
208
- {
209
- displayValue: "678",
210
- sortValue: "344",
211
- },
212
- {
213
- displayValue: "OtherValue",
214
- sortValue: "OtherValue",
215
- },
216
- {
217
- displayValue: "OtherValue",
218
- sortValue: "OtherValue",
219
- }
220
- ],
221
- ];
222
-
223
- describe("ResultsetTable component tests", () => {
224
- test("ResultsetTable rendered correctly", () => {
225
- const { getByText } = render(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>);
226
- expect(getByText("Peter")).toBeTruthy();
227
- });
228
- test("Resultsettable shows as many rows as itemsPerPage", () => {
229
- const { getByText, queryByText } = render(
230
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
231
- );
232
- expect(getByText("Peter")).toBeTruthy();
233
- expect(queryByText("Rick")).toBeFalsy();
234
- });
235
-
236
- test("Resultsettable shows rows on second page", () => {
237
- const { getByText, getAllByRole } = render(
238
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
239
- );
240
- expect(getByText("Peter")).toBeTruthy();
241
- expect(getByText("Louis")).toBeTruthy();
242
- expect(getByText("Lana")).toBeTruthy();
243
- const nextButton = getAllByRole("button")[2];
244
- fireEvent.click(nextButton);
245
- expect(getByText("4 to 6 of 10")).toBeTruthy();
246
- expect(getByText("Page: 2 of 4")).toBeTruthy();
247
- expect(getByText("Rick")).toBeTruthy();
248
- expect(getByText("Mark")).toBeTruthy();
249
- expect(getByText("Cris")).toBeTruthy();
250
- });
251
-
252
- test("Resultsettable going to the last page shows only one row", () => {
253
- const { getByText, getAllByRole } = render(
254
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
255
- );
256
- const lastButton = getAllByRole("button")[3];
257
- fireEvent.click(lastButton);
258
- expect(getByText("10 to 10 of 10")).toBeTruthy();
259
- expect(getByText("Page: 4 of 4")).toBeTruthy();
260
- expect(getAllByRole("row")).toHaveLength(2);
261
- expect(getByText("Cosmin")).toBeTruthy();
262
- });
263
-
264
- test("Resultsettable sort rows by column", () => {
265
- const component = render(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>);
266
- expect(component.queryByText("Peter")).toBeTruthy();
267
- fireEvent.click(component.queryByText("Name"));
268
- expect(component.queryByText("Tina")).not.toBeTruthy();
269
- expect(component.queryByText("Cosmin")).toBeTruthy();
270
-
271
- fireEvent.click(component.queryByText("Name"));
272
- expect(component.queryByText("Tina")).toBeTruthy();
273
- expect(component.queryByText("Cosmin")).not.toBeTruthy();
274
- });
275
- test("Resultsettable change rows should go to first page", () => {
276
- const {queryByText, rerender} = render(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>);
277
- expect(queryByText("Peter")).toBeTruthy();
278
- rerender(<DxcResultsetTable columns={columns} rows={rows2} itemsPerPage={3}></DxcResultsetTable>);
279
- expect(queryByText("1 to 3 of 3")).toBeTruthy();
280
- });
281
-
282
- });