@dxc-technology/halstack-react 0.0.0-e961efe → 0.0.0-e9cf865

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 (352) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/{dist/V3Select → V3Select}/V3Select.js +35 -129
  6. package/{dist/V3Select → V3Select}/index.d.ts +0 -0
  7. package/{dist/V3Textarea → V3Textarea}/V3Textarea.js +12 -16
  8. package/{dist/V3Textarea → V3Textarea}/index.d.ts +0 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/{dist/accordion → accordion}/Accordion.js +37 -132
  11. package/accordion/types.d.ts +68 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.d.ts +7 -0
  14. package/accordion-group/AccordionGroup.js +170 -0
  15. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  16. package/accordion-group/types.d.ts +72 -0
  17. package/accordion-group/types.js +5 -0
  18. package/alert/Alert.d.ts +4 -0
  19. package/{dist/alert → alert}/Alert.js +40 -153
  20. package/alert/Alert.stories.tsx +170 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.js +59 -0
  24. package/box/Box.d.ts +4 -0
  25. package/{dist/box → box}/Box.js +15 -45
  26. package/box/Box.stories.tsx +132 -0
  27. package/box/types.d.ts +43 -0
  28. package/box/types.js +5 -0
  29. package/button/Button.d.ts +4 -0
  30. package/{dist/button → button}/Button.js +24 -83
  31. package/button/Button.stories.tsx +276 -0
  32. package/button/types.d.ts +57 -0
  33. package/button/types.js +5 -0
  34. package/card/Card.d.ts +4 -0
  35. package/{dist/card → card}/Card.js +34 -124
  36. package/card/Card.stories.tsx +201 -0
  37. package/card/ice-cream.jpg +0 -0
  38. package/card/types.d.ts +67 -0
  39. package/card/types.js +5 -0
  40. package/checkbox/Checkbox.d.ts +4 -0
  41. package/{dist/checkbox → checkbox}/Checkbox.js +15 -61
  42. package/checkbox/Checkbox.stories.tsx +192 -0
  43. package/checkbox/types.d.ts +60 -0
  44. package/checkbox/types.js +5 -0
  45. package/chip/Chip.d.ts +4 -0
  46. package/{dist/chip → chip}/Chip.js +18 -84
  47. package/chip/Chip.stories.tsx +121 -0
  48. package/chip/types.d.ts +53 -0
  49. package/chip/types.js +5 -0
  50. package/{dist/common → common}/OpenSans.css +0 -0
  51. package/{dist/common → common}/RequiredComponent.js +3 -11
  52. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  62. package/{dist/common → common}/utils.js +0 -0
  63. package/{dist/common → common}/variables.js +88 -88
  64. package/{dist/date → date}/Date.js +17 -23
  65. package/{dist/date → date}/index.d.ts +0 -0
  66. package/date-input/DateInput.d.ts +4 -0
  67. package/{dist/date-input → date-input}/DateInput.js +26 -68
  68. package/date-input/DateInput.stories.tsx +138 -0
  69. package/date-input/types.d.ts +100 -0
  70. package/date-input/types.js +5 -0
  71. package/dialog/Dialog.d.ts +4 -0
  72. package/{dist/dialog → dialog}/Dialog.js +22 -75
  73. package/dialog/Dialog.stories.tsx +212 -0
  74. package/dialog/types.d.ts +43 -0
  75. package/dialog/types.js +5 -0
  76. package/dropdown/Dropdown.d.ts +4 -0
  77. package/{dist/dropdown → dropdown}/Dropdown.js +45 -172
  78. package/dropdown/types.d.ts +89 -0
  79. package/dropdown/types.js +5 -0
  80. package/file-input/FileInput.d.ts +4 -0
  81. package/{dist/file-input → file-input}/FileInput.js +98 -221
  82. package/file-input/FileItem.d.ts +14 -0
  83. package/file-input/FileItem.js +184 -0
  84. package/file-input/types.d.ts +112 -0
  85. package/file-input/types.js +5 -0
  86. package/footer/Footer.d.ts +4 -0
  87. package/footer/Footer.js +260 -0
  88. package/footer/Footer.stories.tsx +130 -0
  89. package/footer/Icons.d.ts +2 -0
  90. package/{dist/footer → footer}/Icons.js +15 -15
  91. package/footer/types.d.ts +65 -0
  92. package/footer/types.js +5 -0
  93. package/header/Header.d.ts +7 -0
  94. package/{dist/header → header}/Header.js +58 -204
  95. package/header/Header.stories.tsx +162 -0
  96. package/header/Icons.d.ts +2 -0
  97. package/{dist/header → header}/Icons.js +7 -32
  98. package/header/types.d.ts +47 -0
  99. package/header/types.js +5 -0
  100. package/heading/Heading.d.ts +4 -0
  101. package/{dist/heading → heading}/Heading.js +25 -96
  102. package/heading/Heading.stories.tsx +53 -0
  103. package/heading/types.d.ts +33 -0
  104. package/heading/types.js +5 -0
  105. package/{dist/input-text → input-text}/Icons.js +2 -2
  106. package/{dist/input-text → input-text}/InputText.js +38 -132
  107. package/{dist/input-text → input-text}/index.d.ts +1 -1
  108. package/layout/ApplicationLayout.d.ts +10 -0
  109. package/{dist/layout → layout}/ApplicationLayout.js +39 -141
  110. package/layout/ApplicationLayout.stories.tsx +171 -0
  111. package/{dist/layout → layout}/Icons.js +7 -7
  112. package/layout/types.d.ts +57 -0
  113. package/layout/types.js +5 -0
  114. package/link/Link.d.ts +3 -0
  115. package/{dist/link → link}/Link.js +19 -95
  116. package/link/Link.stories.tsx +146 -0
  117. package/link/types.d.ts +74 -0
  118. package/link/types.js +5 -0
  119. package/list/List.d.ts +7 -0
  120. package/list/List.js +37 -0
  121. package/list/List.stories.tsx +70 -0
  122. package/main.d.ts +48 -0
  123. package/{dist/main.js → main.js} +118 -82
  124. package/number-input/NumberInput.d.ts +4 -0
  125. package/number-input/NumberInput.js +83 -0
  126. package/number-input/NumberInput.stories.tsx +115 -0
  127. package/number-input/NumberInputContext.d.ts +4 -0
  128. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  129. package/number-input/numberInputContextTypes.d.ts +19 -0
  130. package/number-input/numberInputContextTypes.js +5 -0
  131. package/number-input/types.d.ts +117 -0
  132. package/number-input/types.js +5 -0
  133. package/package.json +20 -17
  134. package/{dist/paginator → paginator}/Icons.js +9 -9
  135. package/paginator/Paginator.d.ts +4 -0
  136. package/paginator/Paginator.js +192 -0
  137. package/paginator/Paginator.stories.tsx +63 -0
  138. package/paginator/types.d.ts +38 -0
  139. package/paginator/types.js +5 -0
  140. package/password-input/PasswordInput.d.ts +4 -0
  141. package/{dist/password-input → password-input}/PasswordInput.js +37 -77
  142. package/password-input/PasswordInput.stories.tsx +131 -0
  143. package/password-input/types.d.ts +107 -0
  144. package/password-input/types.js +5 -0
  145. package/progress-bar/ProgressBar.d.ts +4 -0
  146. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  147. package/progress-bar/ProgressBar.stories.jsx +58 -0
  148. package/progress-bar/types.d.ts +37 -0
  149. package/progress-bar/types.js +5 -0
  150. package/radio/Radio.d.ts +4 -0
  151. package/{dist/radio → radio}/Radio.js +17 -52
  152. package/radio/Radio.stories.tsx +192 -0
  153. package/radio/types.d.ts +54 -0
  154. package/radio/types.js +5 -0
  155. package/resultsetTable/ResultsetTable.d.ts +4 -0
  156. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +39 -146
  157. package/resultsetTable/types.d.ts +67 -0
  158. package/resultsetTable/types.js +5 -0
  159. package/row/Row.d.ts +11 -0
  160. package/row/Row.js +124 -0
  161. package/row/Row.stories.tsx +223 -0
  162. package/{dist/select → select}/Select.js +254 -487
  163. package/select/Select.stories.tsx +572 -0
  164. package/select/index.d.ts +131 -0
  165. package/sidenav/Sidenav.d.ts +9 -0
  166. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  167. package/sidenav/Sidenav.stories.tsx +165 -0
  168. package/sidenav/types.d.ts +50 -0
  169. package/sidenav/types.js +5 -0
  170. package/slider/Slider.d.ts +4 -0
  171. package/{dist/slider → slider}/Slider.js +74 -161
  172. package/slider/Slider.stories.tsx +177 -0
  173. package/slider/types.d.ts +78 -0
  174. package/slider/types.js +5 -0
  175. package/spinner/Spinner.d.ts +4 -0
  176. package/spinner/Spinner.js +250 -0
  177. package/spinner/Spinner.stories.jsx +102 -0
  178. package/spinner/types.d.ts +32 -0
  179. package/spinner/types.js +5 -0
  180. package/stack/Stack.d.ts +10 -0
  181. package/stack/Stack.js +94 -0
  182. package/stack/Stack.stories.tsx +150 -0
  183. package/switch/Switch.d.ts +4 -0
  184. package/{dist/switch → switch}/Switch.js +28 -71
  185. package/switch/Switch.stories.tsx +160 -0
  186. package/switch/types.d.ts +58 -0
  187. package/switch/types.js +5 -0
  188. package/table/Table.d.ts +4 -0
  189. package/{dist/table → table}/Table.js +12 -26
  190. package/table/Table.stories.jsx +276 -0
  191. package/table/types.d.ts +21 -0
  192. package/table/types.js +5 -0
  193. package/tabs/Tabs.d.ts +4 -0
  194. package/tabs/Tabs.js +213 -0
  195. package/tabs/Tabs.stories.tsx +121 -0
  196. package/tabs/types.d.ts +70 -0
  197. package/tabs/types.js +5 -0
  198. package/tag/Tag.d.ts +4 -0
  199. package/tag/Tag.js +193 -0
  200. package/tag/Tag.stories.tsx +145 -0
  201. package/tag/types.d.ts +60 -0
  202. package/tag/types.js +5 -0
  203. package/text/Text.d.ts +7 -0
  204. package/text/Text.js +30 -0
  205. package/text/Text.stories.tsx +19 -0
  206. package/text-input/TextInput.d.ts +4 -0
  207. package/{dist/text-input → text-input}/TextInput.js +269 -457
  208. package/text-input/TextInput.stories.tsx +456 -0
  209. package/text-input/types.d.ts +159 -0
  210. package/text-input/types.js +5 -0
  211. package/{dist/textarea → textarea}/Textarea.js +40 -95
  212. package/textarea/Textarea.stories.jsx +135 -0
  213. package/{dist/textarea → textarea}/index.d.ts +18 -8
  214. package/{dist/toggle → toggle}/Toggle.js +16 -50
  215. package/{dist/toggle → toggle}/index.d.ts +0 -0
  216. package/toggle-group/ToggleGroup.d.ts +4 -0
  217. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +30 -140
  218. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  219. package/toggle-group/types.d.ts +84 -0
  220. package/toggle-group/types.js +5 -0
  221. package/{dist/upload → upload}/Upload.js +11 -15
  222. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  223. package/{dist/upload → upload}/buttons-upload/Icons.js +7 -7
  224. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  225. package/{dist/upload → upload}/dragAndDropArea/Icons.js +6 -6
  226. package/upload/file-upload/FileToUpload.js +115 -0
  227. package/{dist/upload → upload}/file-upload/Icons.js +13 -13
  228. package/{dist/upload → upload}/files-upload/FilesToUpload.js +13 -27
  229. package/{dist/upload → upload}/index.d.ts +0 -0
  230. package/{dist/upload → upload}/transaction/Icons.js +31 -31
  231. package/upload/transaction/Transaction.js +104 -0
  232. package/upload/transactions/Transactions.js +94 -0
  233. package/useTheme.d.ts +2 -0
  234. package/{dist/useTheme.js → useTheme.js} +1 -1
  235. package/{dist/wizard → wizard}/Icons.js +8 -8
  236. package/wizard/Wizard.d.ts +4 -0
  237. package/wizard/Wizard.js +231 -0
  238. package/wizard/Wizard.stories.jsx +224 -0
  239. package/wizard/types.d.ts +64 -0
  240. package/wizard/types.js +5 -0
  241. package/README.md +0 -66
  242. package/babel.config.js +0 -7
  243. package/dist/BackgroundColorContext.js +0 -46
  244. package/dist/ThemeContext.js +0 -250
  245. package/dist/accordion/index.d.ts +0 -28
  246. package/dist/accordion-group/AccordionGroup.js +0 -186
  247. package/dist/accordion-group/index.d.ts +0 -16
  248. package/dist/alert/index.d.ts +0 -51
  249. package/dist/badge/Badge.js +0 -63
  250. package/dist/box/index.d.ts +0 -25
  251. package/dist/button/index.d.ts +0 -24
  252. package/dist/card/index.d.ts +0 -22
  253. package/dist/checkbox/index.d.ts +0 -24
  254. package/dist/chip/index.d.ts +0 -22
  255. package/dist/date-input/index.d.ts +0 -95
  256. package/dist/dialog/index.d.ts +0 -18
  257. package/dist/dropdown/index.d.ts +0 -26
  258. package/dist/file-input/FileItem.js +0 -287
  259. package/dist/file-input/index.d.ts +0 -81
  260. package/dist/footer/Footer.js +0 -421
  261. package/dist/footer/index.d.ts +0 -25
  262. package/dist/header/index.d.ts +0 -25
  263. package/dist/heading/index.d.ts +0 -17
  264. package/dist/link/index.d.ts +0 -23
  265. package/dist/main.d.ts +0 -40
  266. package/dist/number-input/NumberInput.js +0 -136
  267. package/dist/number-input/index.d.ts +0 -113
  268. package/dist/paginator/Paginator.js +0 -305
  269. package/dist/paginator/index.d.ts +0 -20
  270. package/dist/password-input/index.d.ts +0 -94
  271. package/dist/progress-bar/index.d.ts +0 -18
  272. package/dist/radio/index.d.ts +0 -23
  273. package/dist/resultsetTable/index.d.ts +0 -19
  274. package/dist/select/index.d.ts +0 -53
  275. package/dist/sidenav/index.d.ts +0 -13
  276. package/dist/slider/index.d.ts +0 -29
  277. package/dist/spinner/Spinner.js +0 -381
  278. package/dist/spinner/index.d.ts +0 -17
  279. package/dist/stories/Button.js +0 -71
  280. package/dist/stories/Button.stories.js +0 -55
  281. package/dist/stories/Header.js +0 -67
  282. package/dist/stories/Header.stories.js +0 -31
  283. package/dist/stories/Introduction.stories.mdx +0 -211
  284. package/dist/stories/Page.js +0 -68
  285. package/dist/stories/Page.stories.js +0 -39
  286. package/dist/stories/assets/code-brackets.svg +0 -1
  287. package/dist/stories/assets/colors.svg +0 -1
  288. package/dist/stories/assets/comments.svg +0 -1
  289. package/dist/stories/assets/direction.svg +0 -1
  290. package/dist/stories/assets/flow.svg +0 -1
  291. package/dist/stories/assets/plugin.svg +0 -1
  292. package/dist/stories/assets/repo.svg +0 -1
  293. package/dist/stories/assets/stackalt.svg +0 -1
  294. package/dist/stories/button.css +0 -30
  295. package/dist/stories/header.css +0 -26
  296. package/dist/stories/page.css +0 -69
  297. package/dist/switch/index.d.ts +0 -24
  298. package/dist/table/index.d.ts +0 -13
  299. package/dist/tabs/Tabs.js +0 -343
  300. package/dist/tabs/index.d.ts +0 -19
  301. package/dist/tag/Tag.js +0 -282
  302. package/dist/tag/index.d.ts +0 -24
  303. package/dist/text-input/index.d.ts +0 -135
  304. package/dist/toggle-group/index.d.ts +0 -21
  305. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  306. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  307. package/dist/upload/file-upload/FileToUpload.js +0 -189
  308. package/dist/upload/transaction/Transaction.js +0 -148
  309. package/dist/upload/transactions/Transactions.js +0 -138
  310. package/dist/wizard/Wizard.js +0 -405
  311. package/dist/wizard/index.d.ts +0 -18
  312. package/test/Accordion.test.js +0 -33
  313. package/test/AccordionGroup.test.js +0 -125
  314. package/test/Alert.test.js +0 -53
  315. package/test/Box.test.js +0 -10
  316. package/test/Button.test.js +0 -18
  317. package/test/Card.test.js +0 -30
  318. package/test/Checkbox.test.js +0 -45
  319. package/test/Chip.test.js +0 -25
  320. package/test/Date.test.js +0 -395
  321. package/test/DateInput.test.js +0 -242
  322. package/test/Dialog.test.js +0 -23
  323. package/test/Dropdown.test.js +0 -145
  324. package/test/FileInput.test.js +0 -201
  325. package/test/Footer.test.js +0 -94
  326. package/test/Header.test.js +0 -34
  327. package/test/Heading.test.js +0 -83
  328. package/test/InputText.test.js +0 -239
  329. package/test/Link.test.js +0 -43
  330. package/test/NumberInput.test.js +0 -259
  331. package/test/Paginator.test.js +0 -181
  332. package/test/PasswordInput.test.js +0 -83
  333. package/test/ProgressBar.test.js +0 -35
  334. package/test/Radio.test.js +0 -37
  335. package/test/ResultsetTable.test.js +0 -330
  336. package/test/Select.test.js +0 -415
  337. package/test/Sidenav.test.js +0 -45
  338. package/test/Slider.test.js +0 -74
  339. package/test/Spinner.test.js +0 -32
  340. package/test/Switch.test.js +0 -45
  341. package/test/Table.test.js +0 -36
  342. package/test/Tabs.test.js +0 -109
  343. package/test/Tag.test.js +0 -32
  344. package/test/TextInput.test.js +0 -732
  345. package/test/Textarea.test.js +0 -193
  346. package/test/ToggleGroup.test.js +0 -85
  347. package/test/Upload.test.js +0 -60
  348. package/test/V3Select.test.js +0 -212
  349. package/test/V3TextArea.test.js +0 -51
  350. package/test/Wizard.test.js +0 -130
  351. package/test/mocks/pngMock.js +0 -1
  352. package/test/mocks/svgMock.js +0 -1
package/test/Tabs.test.js DELETED
@@ -1,109 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcTabs from "../src/tabs/Tabs";
4
-
5
- const sampleTabs = [
6
- {
7
- label: "Tab-1",
8
- },
9
- {
10
- label: "Tab-2",
11
- },
12
- {
13
- label: "Tab-3",
14
- },
15
- ];
16
-
17
- const sampleTabsWithBadge = [
18
- {
19
- label: "Tab-1",
20
- notificationNumber: "10",
21
- },
22
- {
23
- label: "Tab-2",
24
- notificationNumber: "20",
25
- },
26
- {
27
- label: "Tab-3",
28
- notificationNumber: "101",
29
- },
30
- ];
31
-
32
- describe("Tabs component tests", () => {
33
- test("Tabs render with correct labels", () => {
34
- const { getByText } = render(<DxcTabs tabs={sampleTabs}></DxcTabs>);
35
- expect(getByText("Tab-1")).toBeTruthy();
36
- expect(getByText("Tab-2")).toBeTruthy();
37
- expect(getByText("Tab-3")).toBeTruthy();
38
- });
39
- test("Tabs render with correct labels and badges", () => {
40
- const { getByText } = render(<DxcTabs tabs={sampleTabsWithBadge}></DxcTabs>);
41
- expect(getByText("10")).toBeTruthy();
42
- expect(getByText("20")).toBeTruthy();
43
- expect(getByText("+99")).toBeTruthy();
44
- });
45
-
46
- test("Tabs render with correct icons", () => {
47
- const { getAllByRole } = render(
48
- <DxcTabs
49
- tabs={[
50
- {
51
- label: "Tab-1",
52
- iconSrc: "/testIcon1.png",
53
- },
54
- {
55
- label: "Tab-2",
56
- iconSrc: "/testIcon2.png",
57
- },
58
- {
59
- label: "Tab-3",
60
- iconSrc: "/testIcon3.png",
61
- },
62
- ]}
63
- ></DxcTabs>
64
- );
65
- expect(getAllByRole("img")[0].getAttribute("src")).toBe("/testIcon1.png");
66
- expect(getAllByRole("img")[1].getAttribute("src")).toBe("/testIcon2.png");
67
- expect(getAllByRole("img")[2].getAttribute("src")).toBe("/testIcon3.png");
68
- });
69
-
70
- test("Tabs render with disabled tab", () => {
71
- const { getAllByRole } = render(
72
- <DxcTabs
73
- tabs={[
74
- {
75
- label: "Tab-1",
76
- isDisabled: true,
77
- },
78
- {
79
- label: "Tab-2",
80
- },
81
- ]}
82
- ></DxcTabs>
83
- );
84
- expect(getAllByRole("tab")[0].hasAttribute("disabled")).toBeTruthy();
85
- expect(getAllByRole("tab")[1].hasAttribute("disabled")).toBeFalsy();
86
- });
87
-
88
- test("Uncontrolled tabs", () => {
89
- const onTabClick = jest.fn();
90
- const { getByText } = render(<DxcTabs tabs={sampleTabs} onTabClick={onTabClick}></DxcTabs>);
91
- const tab1 = getByText("Tab-1");
92
- const tab2 = getByText("Tab-2");
93
- fireEvent.click(tab2);
94
- expect(onTabClick).toHaveBeenCalledWith(1);
95
- fireEvent.click(tab1);
96
- expect(onTabClick).toHaveBeenCalledWith(0);
97
- });
98
-
99
- test("Controlled tabs", () => {
100
- const onTabClick = jest.fn();
101
- const { getByText } = render(<DxcTabs tabs={sampleTabs} onTabClick={onTabClick} activeTabIndex={0}></DxcTabs>);
102
- const tab2 = getByText("Tab-2");
103
- const tab3 = getByText("Tab-3");
104
- fireEvent.click(tab2);
105
- expect(onTabClick).toHaveBeenCalledWith(1);
106
- fireEvent.click(tab3);
107
- expect(onTabClick).toHaveBeenCalledWith(2);
108
- });
109
- });
package/test/Tag.test.js DELETED
@@ -1,32 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcTag from "../src/tag/Tag";
4
-
5
- describe("Tag component tests", () => {
6
- test("Tag renders with correct label", () => {
7
- const { getByText } = render(<DxcTag label="tag-test"></DxcTag>);
8
- expect(getByText("tag-test")).toBeTruthy();
9
- });
10
-
11
- test("Tag renders with correct label before", () => {
12
- const { getByText } = render(<DxcTag label="tag-test" labelPosition="before"></DxcTag>);
13
- expect(getByText("tag-test")).toBeTruthy();
14
- });
15
-
16
- test("Tag renders with correct icon", () => {
17
- const { getByRole } = render(<DxcTag label="tag-test" iconSrc="/test-icon.jpg"></DxcTag>);
18
- expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
19
- });
20
-
21
- test("Tag renders with link href", () => {
22
- const { getByRole } = render(<DxcTag label="tag-test" linkHref="/test/page"></DxcTag>);
23
- expect(getByRole("link").getAttribute("href")).toBe("/test/page");
24
- });
25
-
26
- test("Call correct function on click", () => {
27
- const onClick = jest.fn();
28
- const { getByText } = render(<DxcTag label="tag-test" onClick={onClick}></DxcTag>);
29
- fireEvent.click(getByText("tag-test"));
30
- expect(onClick).toHaveBeenCalled();
31
- });
32
- });