@dxc-technology/halstack-react 0.0.0-b7324ab → 0.0.0-b92e300

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 (309) 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/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/{dist/box → box}/Box.js +42 -26
  21. package/box/index.d.ts +25 -0
  22. package/button/Button.d.ts +4 -0
  23. package/button/Button.js +182 -0
  24. package/button/Button.stories.tsx +293 -0
  25. package/button/types.d.ts +57 -0
  26. package/button/types.js +5 -0
  27. package/card/Card.d.ts +4 -0
  28. package/card/Card.js +165 -0
  29. package/card/types.d.ts +69 -0
  30. package/card/types.js +5 -0
  31. package/checkbox/Checkbox.d.ts +4 -0
  32. package/checkbox/Checkbox.js +253 -0
  33. package/checkbox/types.d.ts +60 -0
  34. package/checkbox/types.js +5 -0
  35. package/chip/Chip.js +221 -0
  36. package/chip/index.d.ts +22 -0
  37. package/{dist/common → common}/OpenSans.css +0 -0
  38. package/{dist/common → common}/RequiredComponent.js +5 -19
  39. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  40. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  41. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  49. package/common/utils.js +22 -0
  50. package/common/variables.js +1569 -0
  51. package/{dist/date → date}/Date.js +121 -90
  52. package/date/index.d.ts +27 -0
  53. package/date-input/DateInput.d.ts +4 -0
  54. package/date-input/DateInput.js +361 -0
  55. package/date-input/types.d.ts +100 -0
  56. package/date-input/types.js +5 -0
  57. package/dialog/Dialog.js +184 -0
  58. package/dialog/index.d.ts +18 -0
  59. package/dropdown/Dropdown.js +450 -0
  60. package/dropdown/index.d.ts +26 -0
  61. package/file-input/FileInput.js +532 -0
  62. package/file-input/FileItem.js +193 -0
  63. package/file-input/index.d.ts +81 -0
  64. package/footer/Footer.js +297 -0
  65. package/footer/Icons.js +77 -0
  66. package/footer/index.d.ts +25 -0
  67. package/header/Header.js +326 -0
  68. package/header/Icons.js +59 -0
  69. package/header/index.d.ts +25 -0
  70. package/heading/Heading.js +176 -0
  71. package/heading/index.d.ts +17 -0
  72. package/input-text/Icons.js +22 -0
  73. package/input-text/InputText.js +611 -0
  74. package/input-text/index.d.ts +36 -0
  75. package/layout/ApplicationLayout.js +235 -0
  76. package/layout/Icons.js +55 -0
  77. package/link/Link.js +183 -0
  78. package/link/index.d.ts +23 -0
  79. package/main.d.ts +44 -0
  80. package/{dist/main.js → main.js} +143 -43
  81. package/number-input/NumberInput.js +128 -0
  82. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  83. package/number-input/index.d.ts +113 -0
  84. package/package.json +39 -24
  85. package/paginator/Icons.js +66 -0
  86. package/paginator/Paginator.d.ts +4 -0
  87. package/paginator/Paginator.js +198 -0
  88. package/paginator/types.d.ts +38 -0
  89. package/paginator/types.js +5 -0
  90. package/password-input/PasswordInput.js +199 -0
  91. package/password-input/PasswordInput.stories.jsx +131 -0
  92. package/password-input/index.d.ts +94 -0
  93. package/progress-bar/ProgressBar.d.ts +4 -0
  94. package/progress-bar/ProgressBar.js +170 -0
  95. package/progress-bar/types.d.ts +37 -0
  96. package/progress-bar/types.js +5 -0
  97. package/radio/Radio.d.ts +4 -0
  98. package/radio/Radio.js +174 -0
  99. package/radio/types.d.ts +54 -0
  100. package/radio/types.js +5 -0
  101. package/resultsetTable/ResultsetTable.js +274 -0
  102. package/resultsetTable/index.d.ts +19 -0
  103. package/select/Select.js +865 -0
  104. package/select/index.d.ts +131 -0
  105. package/sidenav/Sidenav.js +145 -0
  106. package/sidenav/index.d.ts +13 -0
  107. package/slider/Slider.d.ts +4 -0
  108. package/slider/Slider.js +306 -0
  109. package/slider/types.d.ts +83 -0
  110. package/slider/types.js +5 -0
  111. package/spinner/Spinner.js +267 -0
  112. package/spinner/index.d.ts +17 -0
  113. package/switch/Switch.d.ts +4 -0
  114. package/switch/Switch.js +179 -0
  115. package/switch/types.d.ts +58 -0
  116. package/switch/types.js +5 -0
  117. package/table/Table.js +118 -0
  118. package/table/index.d.ts +13 -0
  119. package/tabs/Tabs.js +259 -0
  120. package/tabs/index.d.ts +19 -0
  121. package/tag/Tag.js +208 -0
  122. package/tag/index.d.ts +24 -0
  123. package/text-input/TextInput.js +825 -0
  124. package/text-input/index.d.ts +135 -0
  125. package/textarea/Textarea.js +317 -0
  126. package/textarea/Textarea.stories.jsx +135 -0
  127. package/textarea/index.d.ts +117 -0
  128. package/{dist/toggle → toggle}/Toggle.js +30 -67
  129. package/toggle/index.d.ts +21 -0
  130. package/toggle-group/ToggleGroup.js +243 -0
  131. package/toggle-group/index.d.ts +21 -0
  132. package/{dist/upload → upload}/Upload.js +23 -22
  133. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  134. package/upload/buttons-upload/Icons.js +40 -0
  135. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  136. package/upload/dragAndDropArea/Icons.js +39 -0
  137. package/upload/file-upload/FileToUpload.js +115 -0
  138. package/upload/file-upload/Icons.js +66 -0
  139. package/upload/files-upload/FilesToUpload.js +109 -0
  140. package/upload/index.d.ts +15 -0
  141. package/upload/transaction/Icons.js +160 -0
  142. package/upload/transaction/Transaction.js +104 -0
  143. package/upload/transactions/Transactions.js +94 -0
  144. package/useTheme.js +22 -0
  145. package/wizard/Icons.js +65 -0
  146. package/wizard/Wizard.js +271 -0
  147. package/wizard/index.d.ts +18 -0
  148. package/README.md +0 -66
  149. package/babel.config.js +0 -4
  150. package/dist/accordion/Accordion.js +0 -264
  151. package/dist/accordion/Accordion.stories.js +0 -207
  152. package/dist/accordion/readme.md +0 -96
  153. package/dist/alert/Alert.js +0 -302
  154. package/dist/alert/Alert.stories.js +0 -158
  155. package/dist/alert/close.svg +0 -4
  156. package/dist/alert/error.svg +0 -4
  157. package/dist/alert/info.svg +0 -4
  158. package/dist/alert/readme.md +0 -43
  159. package/dist/alert/success.svg +0 -4
  160. package/dist/alert/warning.svg +0 -4
  161. package/dist/button/Button.js +0 -183
  162. package/dist/button/Button.stories.js +0 -224
  163. package/dist/button/readme.md +0 -93
  164. package/dist/card/Card.js +0 -246
  165. package/dist/checkbox/Checkbox.js +0 -224
  166. package/dist/checkbox/Checkbox.stories.js +0 -144
  167. package/dist/checkbox/readme.md +0 -116
  168. package/dist/chip/Chip.js +0 -170
  169. package/dist/common/services/example-service.js +0 -10
  170. package/dist/common/services/example-service.test.js +0 -12
  171. package/dist/common/utils.js +0 -42
  172. package/dist/common/variables.js +0 -214
  173. package/dist/date/Date.stories.js +0 -205
  174. package/dist/date/calendar.svg +0 -1
  175. package/dist/date/calendar_dark.svg +0 -1
  176. package/dist/date/readme.md +0 -73
  177. package/dist/dialog/Dialog.js +0 -193
  178. package/dist/dialog/Dialog.stories.js +0 -217
  179. package/dist/dialog/readme.md +0 -32
  180. package/dist/dropdown/Dropdown.js +0 -412
  181. package/dist/dropdown/Dropdown.stories.js +0 -249
  182. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  183. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  184. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  185. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  186. package/dist/dropdown/readme.md +0 -69
  187. package/dist/footer/Footer.js +0 -341
  188. package/dist/footer/Footer.stories.js +0 -94
  189. package/dist/footer/dxc_logo_wht.png +0 -0
  190. package/dist/footer/readme.md +0 -41
  191. package/dist/header/Header.js +0 -350
  192. package/dist/header/Header.stories.js +0 -176
  193. package/dist/header/close_icon.svg +0 -1
  194. package/dist/header/dxc_logo_black.png +0 -0
  195. package/dist/header/dxc_logo_white.png +0 -0
  196. package/dist/header/hamb_menu_black.svg +0 -1
  197. package/dist/header/hamb_menu_white.svg +0 -1
  198. package/dist/header/readme.md +0 -33
  199. package/dist/heading/Heading.js +0 -159
  200. package/dist/input-text/InputText.js +0 -519
  201. package/dist/input-text/InputText.stories.js +0 -209
  202. package/dist/input-text/error.svg +0 -1
  203. package/dist/input-text/readme.md +0 -91
  204. package/dist/link/Link.js +0 -129
  205. package/dist/link/readme.md +0 -51
  206. package/dist/paginator/Paginator.js +0 -178
  207. package/dist/paginator/images/next.svg +0 -3
  208. package/dist/paginator/images/nextPage.svg +0 -3
  209. package/dist/paginator/images/previous.svg +0 -3
  210. package/dist/paginator/images/previousPage.svg +0 -3
  211. package/dist/paginator/readme.md +0 -50
  212. package/dist/progress-bar/ProgressBar.js +0 -189
  213. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  214. package/dist/progress-bar/readme.md +0 -63
  215. package/dist/radio/Radio.js +0 -191
  216. package/dist/radio/Radio.stories.js +0 -166
  217. package/dist/radio/readme.md +0 -70
  218. package/dist/resultsetTable/ResultsetTable.js +0 -334
  219. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  220. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  221. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  222. package/dist/select/Select.js +0 -442
  223. package/dist/select/Select.stories.js +0 -235
  224. package/dist/select/readme.md +0 -72
  225. package/dist/sidenav/Sidenav.js +0 -217
  226. package/dist/sidenav/arrow_icon.svg +0 -3
  227. package/dist/slider/Slider.js +0 -258
  228. package/dist/slider/Slider.stories.js +0 -241
  229. package/dist/slider/readme.md +0 -64
  230. package/dist/spinner/Spinner.js +0 -196
  231. package/dist/spinner/Spinner.stories.js +0 -183
  232. package/dist/spinner/readme.md +0 -65
  233. package/dist/switch/Switch.js +0 -195
  234. package/dist/switch/Switch.stories.js +0 -134
  235. package/dist/switch/readme.md +0 -133
  236. package/dist/table/Table.js +0 -84
  237. package/dist/tabs/Tabs.js +0 -170
  238. package/dist/tabs/Tabs.stories.js +0 -130
  239. package/dist/tabs/readme.md +0 -78
  240. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  241. package/dist/tabs-for-sections/readme.md +0 -78
  242. package/dist/tag/Tag.js +0 -217
  243. package/dist/textarea/Textarea.js +0 -226
  244. package/dist/toggle/Toggle.stories.js +0 -297
  245. package/dist/toggle/readme.md +0 -80
  246. package/dist/upload/Upload.stories.js +0 -72
  247. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  248. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  249. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  250. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -282
  251. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  252. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  253. package/dist/upload/file-upload/FileToUpload.js +0 -158
  254. package/dist/upload/file-upload/audio-icon.svg +0 -4
  255. package/dist/upload/file-upload/close.svg +0 -4
  256. package/dist/upload/file-upload/file-icon.svg +0 -4
  257. package/dist/upload/file-upload/video-icon.svg +0 -4
  258. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  259. package/dist/upload/readme.md +0 -37
  260. package/dist/upload/transaction/Transaction.js +0 -155
  261. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  262. package/dist/upload/transaction/audio-icon.svg +0 -4
  263. package/dist/upload/transaction/error-icon.svg +0 -4
  264. package/dist/upload/transaction/file-icon-err.svg +0 -4
  265. package/dist/upload/transaction/file-icon.svg +0 -4
  266. package/dist/upload/transaction/image-icon-err.svg +0 -4
  267. package/dist/upload/transaction/image-icon.svg +0 -4
  268. package/dist/upload/transaction/success-icon.svg +0 -4
  269. package/dist/upload/transaction/video-icon-err.svg +0 -4
  270. package/dist/upload/transaction/video-icon.svg +0 -4
  271. package/dist/upload/transactions/Transactions.js +0 -120
  272. package/dist/wizard/Wizard.js +0 -310
  273. package/dist/wizard/invalid_icon.svg +0 -6
  274. package/dist/wizard/valid_icon.svg +0 -6
  275. package/dist/wizard/validation-wrong.svg +0 -6
  276. package/test/Accordion.test.js +0 -33
  277. package/test/Alert.test.js +0 -53
  278. package/test/Box.test.js +0 -10
  279. package/test/Button.test.js +0 -18
  280. package/test/Card.test.js +0 -30
  281. package/test/Checkbox.test.js +0 -45
  282. package/test/Chip.test.js +0 -25
  283. package/test/Date.test.js +0 -393
  284. package/test/Dialog.test.js +0 -23
  285. package/test/Dropdown.test.js +0 -130
  286. package/test/Footer.test.js +0 -99
  287. package/test/Header.test.js +0 -39
  288. package/test/Heading.test.js +0 -35
  289. package/test/InputText.test.js +0 -236
  290. package/test/Link.test.js +0 -25
  291. package/test/Paginator.test.js +0 -165
  292. package/test/ProgressBar.test.js +0 -35
  293. package/test/Radio.test.js +0 -37
  294. package/test/ResultsetTable.test.js +0 -282
  295. package/test/Select.test.js +0 -191
  296. package/test/Sidenav.test.js +0 -87
  297. package/test/Slider.test.js +0 -65
  298. package/test/Spinner.test.js +0 -27
  299. package/test/Switch.test.js +0 -45
  300. package/test/Table.test.js +0 -36
  301. package/test/Tabs.test.js +0 -88
  302. package/test/TabsForSections.test.js +0 -34
  303. package/test/Tag.test.js +0 -32
  304. package/test/TextArea.test.js +0 -52
  305. package/test/Toggle.test.js +0 -43
  306. package/test/Upload.test.js +0 -60
  307. package/test/Wizard.test.js +0 -130
  308. package/test/mocks/pngMock.js +0 -1
  309. 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
- });