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

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 (247) hide show
  1. package/README.md +2 -2
  2. package/babel.config.js +5 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +170 -81
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +186 -0
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +184 -83
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +39 -19
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +84 -29
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +64 -56
  21. package/dist/card/index.d.ts +22 -0
  22. package/dist/checkbox/Checkbox.js +107 -32
  23. package/dist/checkbox/index.d.ts +24 -0
  24. package/dist/chip/Chip.js +135 -40
  25. package/dist/chip/index.d.ts +22 -0
  26. package/dist/common/RequiredComponent.js +2 -8
  27. package/dist/common/utils.js +2 -22
  28. package/dist/common/variables.js +1482 -105
  29. package/dist/date/Date.js +110 -73
  30. package/dist/date/index.d.ts +27 -0
  31. package/dist/date-input/DateInput.js +400 -0
  32. package/dist/date-input/index.d.ts +95 -0
  33. package/dist/dialog/Dialog.js +61 -36
  34. package/dist/dialog/index.d.ts +18 -0
  35. package/dist/dropdown/Dropdown.js +226 -94
  36. package/dist/dropdown/index.d.ts +26 -0
  37. package/dist/file-input/FileInput.js +644 -0
  38. package/dist/file-input/FileItem.js +287 -0
  39. package/dist/file-input/index.d.ts +81 -0
  40. package/dist/footer/Footer.js +125 -45
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +211 -91
  44. package/dist/header/Icons.js +59 -0
  45. package/dist/header/index.d.ts +25 -0
  46. package/dist/heading/Heading.js +93 -22
  47. package/dist/heading/index.d.ts +17 -0
  48. package/dist/input-text/Icons.js +22 -0
  49. package/dist/input-text/InputText.js +292 -106
  50. package/dist/input-text/index.d.ts +36 -0
  51. package/dist/layout/ApplicationLayout.js +327 -0
  52. package/dist/layout/Icons.js +55 -0
  53. package/dist/link/Link.js +142 -34
  54. package/dist/link/index.d.ts +23 -0
  55. package/dist/main.d.ts +40 -0
  56. package/dist/main.js +112 -16
  57. package/dist/number-input/NumberInput.js +136 -0
  58. package/dist/number-input/NumberInputContext.js +16 -0
  59. package/dist/number-input/index.d.ts +113 -0
  60. package/dist/paginator/Icons.js +66 -0
  61. package/dist/paginator/Paginator.js +184 -57
  62. package/dist/paginator/index.d.ts +20 -0
  63. package/dist/password-input/PasswordInput.js +203 -0
  64. package/dist/password-input/index.d.ts +94 -0
  65. package/dist/progress-bar/ProgressBar.js +97 -44
  66. package/dist/progress-bar/index.d.ts +18 -0
  67. package/dist/radio/Radio.js +39 -21
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +93 -69
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +917 -263
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +87 -125
  74. package/dist/sidenav/index.d.ts +13 -0
  75. package/dist/slider/Slider.js +219 -73
  76. package/dist/slider/index.d.ts +29 -0
  77. package/dist/spinner/Spinner.js +249 -64
  78. package/dist/spinner/index.d.ts +17 -0
  79. package/dist/stories/Button.js +71 -0
  80. package/dist/stories/Button.stories.js +55 -0
  81. package/dist/stories/Header.js +67 -0
  82. package/dist/stories/Header.stories.js +31 -0
  83. package/dist/stories/Introduction.stories.mdx +211 -0
  84. package/dist/stories/Page.js +68 -0
  85. package/dist/stories/Page.stories.js +39 -0
  86. package/dist/stories/assets/code-brackets.svg +1 -0
  87. package/dist/stories/assets/colors.svg +1 -0
  88. package/dist/stories/assets/comments.svg +1 -0
  89. package/dist/stories/assets/direction.svg +1 -0
  90. package/dist/stories/assets/flow.svg +1 -0
  91. package/dist/stories/assets/plugin.svg +1 -0
  92. package/dist/stories/assets/repo.svg +1 -0
  93. package/dist/stories/assets/stackalt.svg +1 -0
  94. package/dist/stories/button.css +30 -0
  95. package/dist/stories/header.css +26 -0
  96. package/dist/stories/page.css +69 -0
  97. package/dist/switch/Switch.js +52 -25
  98. package/dist/switch/index.d.ts +24 -0
  99. package/dist/table/Table.js +63 -15
  100. package/dist/table/index.d.ts +13 -0
  101. package/dist/tabs/Tabs.js +210 -50
  102. package/dist/tabs/index.d.ts +19 -0
  103. package/dist/tag/Tag.js +100 -35
  104. package/dist/tag/index.d.ts +24 -0
  105. package/dist/text-input/TextInput.js +974 -0
  106. package/dist/text-input/index.d.ts +135 -0
  107. package/dist/textarea/Textarea.js +250 -107
  108. package/dist/textarea/index.d.ts +117 -0
  109. package/dist/toggle/Toggle.js +16 -19
  110. package/dist/toggle/index.d.ts +21 -0
  111. package/dist/toggle-group/ToggleGroup.js +327 -0
  112. package/dist/toggle-group/index.d.ts +21 -0
  113. package/dist/upload/Upload.js +13 -8
  114. package/dist/upload/buttons-upload/ButtonsUpload.js +35 -25
  115. package/dist/upload/buttons-upload/Icons.js +40 -0
  116. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -37
  117. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  118. package/dist/upload/file-upload/FileToUpload.js +64 -33
  119. package/dist/upload/file-upload/Icons.js +66 -0
  120. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  121. package/dist/upload/index.d.ts +15 -0
  122. package/dist/upload/transaction/Icons.js +160 -0
  123. package/dist/upload/transaction/Transaction.js +42 -49
  124. package/dist/upload/transactions/Transactions.js +38 -20
  125. package/dist/useTheme.js +22 -0
  126. package/dist/wizard/Icons.js +65 -0
  127. package/dist/wizard/Wizard.js +156 -61
  128. package/dist/wizard/index.d.ts +18 -0
  129. package/package.json +26 -14
  130. package/test/AccordionGroup.test.js +125 -0
  131. package/test/Date.test.js +15 -13
  132. package/test/DateInput.test.js +242 -0
  133. package/test/Dropdown.test.js +19 -4
  134. package/test/FileInput.test.js +201 -0
  135. package/test/Footer.test.js +2 -7
  136. package/test/Header.test.js +5 -10
  137. package/test/Heading.test.js +60 -12
  138. package/test/InputText.test.js +31 -28
  139. package/test/Link.test.js +25 -7
  140. package/test/NumberInput.test.js +259 -0
  141. package/test/Paginator.test.js +76 -60
  142. package/test/PasswordInput.test.js +83 -0
  143. package/test/ResultsetTable.test.js +65 -17
  144. package/test/Select.test.js +371 -147
  145. package/test/Sidenav.test.js +22 -64
  146. package/test/Slider.test.js +24 -15
  147. package/test/Spinner.test.js +5 -0
  148. package/test/Tabs.test.js +21 -0
  149. package/test/TextInput.test.js +732 -0
  150. package/test/Textarea.test.js +193 -0
  151. package/test/ToggleGroup.test.js +85 -0
  152. package/test/Upload.test.js +1 -1
  153. package/test/V3Select.test.js +212 -0
  154. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  155. package/dist/accordion/Accordion.stories.js +0 -207
  156. package/dist/accordion/readme.md +0 -96
  157. package/dist/alert/Alert.stories.js +0 -158
  158. package/dist/alert/close.svg +0 -4
  159. package/dist/alert/error.svg +0 -4
  160. package/dist/alert/info.svg +0 -4
  161. package/dist/alert/readme.md +0 -43
  162. package/dist/alert/success.svg +0 -4
  163. package/dist/alert/warning.svg +0 -4
  164. package/dist/button/Button.stories.js +0 -224
  165. package/dist/button/readme.md +0 -93
  166. package/dist/checkbox/Checkbox.stories.js +0 -144
  167. package/dist/checkbox/readme.md +0 -116
  168. package/dist/common/services/example-service.js +0 -10
  169. package/dist/common/services/example-service.test.js +0 -12
  170. package/dist/date/Date.stories.js +0 -205
  171. package/dist/date/calendar.svg +0 -1
  172. package/dist/date/calendar_dark.svg +0 -1
  173. package/dist/date/readme.md +0 -73
  174. package/dist/dialog/Dialog.stories.js +0 -217
  175. package/dist/dialog/readme.md +0 -32
  176. package/dist/dropdown/Dropdown.stories.js +0 -249
  177. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  178. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  179. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  180. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  181. package/dist/dropdown/readme.md +0 -69
  182. package/dist/footer/Footer.stories.js +0 -94
  183. package/dist/footer/dxc_logo_wht.png +0 -0
  184. package/dist/footer/readme.md +0 -41
  185. package/dist/header/Header.stories.js +0 -176
  186. package/dist/header/close_icon.svg +0 -1
  187. package/dist/header/dxc_logo_black.png +0 -0
  188. package/dist/header/dxc_logo_white.png +0 -0
  189. package/dist/header/hamb_menu_black.svg +0 -1
  190. package/dist/header/hamb_menu_white.svg +0 -1
  191. package/dist/header/readme.md +0 -33
  192. package/dist/input-text/InputText.stories.js +0 -209
  193. package/dist/input-text/error.svg +0 -1
  194. package/dist/input-text/readme.md +0 -91
  195. package/dist/link/readme.md +0 -51
  196. package/dist/paginator/images/next.svg +0 -3
  197. package/dist/paginator/images/nextPage.svg +0 -3
  198. package/dist/paginator/images/previous.svg +0 -3
  199. package/dist/paginator/images/previousPage.svg +0 -3
  200. package/dist/paginator/readme.md +0 -50
  201. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  202. package/dist/progress-bar/readme.md +0 -63
  203. package/dist/radio/Radio.stories.js +0 -166
  204. package/dist/radio/readme.md +0 -70
  205. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  206. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  207. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  208. package/dist/select/Select.stories.js +0 -235
  209. package/dist/select/readme.md +0 -72
  210. package/dist/sidenav/arrow_icon.svg +0 -3
  211. package/dist/slider/Slider.stories.js +0 -241
  212. package/dist/slider/readme.md +0 -64
  213. package/dist/spinner/Spinner.stories.js +0 -183
  214. package/dist/spinner/readme.md +0 -65
  215. package/dist/switch/Switch.stories.js +0 -134
  216. package/dist/switch/readme.md +0 -133
  217. package/dist/tabs/Tabs.stories.js +0 -130
  218. package/dist/tabs/readme.md +0 -78
  219. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  220. package/dist/tabs-for-sections/readme.md +0 -78
  221. package/dist/toggle/Toggle.stories.js +0 -297
  222. package/dist/toggle/readme.md +0 -80
  223. package/dist/upload/Upload.stories.js +0 -72
  224. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  225. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  226. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  227. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  228. package/dist/upload/file-upload/audio-icon.svg +0 -4
  229. package/dist/upload/file-upload/close.svg +0 -4
  230. package/dist/upload/file-upload/file-icon.svg +0 -4
  231. package/dist/upload/file-upload/video-icon.svg +0 -4
  232. package/dist/upload/readme.md +0 -37
  233. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  234. package/dist/upload/transaction/audio-icon.svg +0 -4
  235. package/dist/upload/transaction/error-icon.svg +0 -4
  236. package/dist/upload/transaction/file-icon-err.svg +0 -4
  237. package/dist/upload/transaction/file-icon.svg +0 -4
  238. package/dist/upload/transaction/image-icon-err.svg +0 -4
  239. package/dist/upload/transaction/image-icon.svg +0 -4
  240. package/dist/upload/transaction/success-icon.svg +0 -4
  241. package/dist/upload/transaction/video-icon-err.svg +0 -4
  242. package/dist/upload/transaction/video-icon.svg +0 -4
  243. package/dist/wizard/invalid_icon.svg +0 -6
  244. package/dist/wizard/valid_icon.svg +0 -6
  245. package/dist/wizard/validation-wrong.svg +0 -6
  246. package/test/TabsForSections.test.js +0 -34
  247. package/test/Toggle.test.js +0 -43
@@ -3,85 +3,43 @@ import { render, fireEvent } from "@testing-library/react";
3
3
  import DxcSidenav from "../src/sidenav/Sidenav";
4
4
 
5
5
  const navContent = <p>nav-content-test</p>;
6
- const pageContent = <p>page-content-test</p>;
7
6
 
8
7
  describe("Sidenav component tests", () => {
9
- test("Sidenav in overlay mode renders nav and page content, and arrow", () => {
10
- const { getByText, getByRole } = render(
11
- <DxcSidenav navContent={navContent} pageContent={pageContent}></DxcSidenav>
12
- );
13
- expect(getByText("nav-content-test")).toBeTruthy();
14
- expect(getByText("page-content-test")).toBeTruthy();
15
- expect(getByRole("img")).toBeTruthy();
16
- });
17
-
18
- test("Sidenav in push mode renders nav and page content, and arrow", () => {
19
- const { getByText, getByRole } = render(
20
- <DxcSidenav navContent={navContent} pageContent={pageContent} mode="push"></DxcSidenav>
21
- );
8
+ test("Sidenav renders nav content", () => {
9
+ const { getByText } = render(<DxcSidenav>{navContent}</DxcSidenav>);
22
10
  expect(getByText("nav-content-test")).toBeTruthy();
23
- expect(getByText("page-content-test")).toBeTruthy();
24
- expect(getByRole("img")).toBeTruthy();
25
11
  });
26
12
 
27
- test("Sidenav in overlay mode renders nav and page content in mobile version", () => {
13
+ test("Sidenav renders nav and page content in mobile version", () => {
28
14
  //425 is mobile width
29
15
  Object.defineProperty(HTMLElement.prototype, "offsetWidth", { configurable: true, value: 425 });
30
- const { getByText } = render(<DxcSidenav navContent={navContent} pageContent={pageContent}></DxcSidenav>);
16
+ const { getByText } = render(<DxcSidenav>{navContent}</DxcSidenav>);
31
17
  expect(getByText("nav-content-test")).toBeTruthy();
32
- expect(getByText("page-content-test")).toBeTruthy();
33
18
  });
34
19
 
35
- test("Sidenav in push mode renders nav and page content in mobile version", () => {
36
- //425 is mobile width
37
- Object.defineProperty(HTMLElement.prototype, "offsetWidth", { configurable: true, value: 425 });
20
+ test("Sidenav renders compound components", () => {
38
21
  const { getByText } = render(
39
- <DxcSidenav navContent={navContent} pageContent={pageContent} mode="push"></DxcSidenav>
40
- );
41
- expect(getByText("nav-content-test")).toBeTruthy();
42
- expect(getByText("page-content-test")).toBeTruthy();
43
- });
44
-
45
- test("Sidenav in overlay mode not renders arrow", () => {
46
- //We need to force the offsetWidth value to detect that is not responsive
47
- Object.defineProperty(HTMLElement.prototype, "offsetWidth", { configurable: true, value: 1024 });
48
- const { queryByRole } = render(
49
- <DxcSidenav navContent={navContent} pageContent={pageContent} displayArrow={false}></DxcSidenav>
50
- );
51
- expect(queryByRole("img")).toBeFalsy();
52
- });
53
-
54
- test("Sidenav in push mode not renders arrow", () => {
55
- //We need to force the offsetWidth value to detect that is not responsive
56
- Object.defineProperty(HTMLElement.prototype, "offsetWidth", { configurable: true, value: 1024 });
57
- const { queryByRole } = render(
58
- <DxcSidenav navContent={navContent} pageContent={pageContent} displayArrow={false} mode="push"></DxcSidenav>
59
- );
60
- expect(queryByRole("img")).toBeFalsy();
61
- });
62
-
63
- test("Sidenav renders arrow with arrow distance", () => {
64
- const { getByRole } = render(
65
- <DxcSidenav navContent={navContent} pageContent={pageContent} arrowDistance="10px"></DxcSidenav>
22
+ <DxcSidenav>
23
+ <DxcSidenav.Title>test-title</DxcSidenav.Title>
24
+ <DxcSidenav.Subtitle>test-subtitle</DxcSidenav.Subtitle>
25
+ <DxcSidenav.Link href="#">test-link</DxcSidenav.Link>
26
+ </DxcSidenav>
66
27
  );
67
- expect(getByRole("img")).toBeTruthy();
28
+ expect(getByText("test-title")).toBeTruthy();
29
+ expect(getByText("test-subtitle")).toBeTruthy();
30
+ expect(getByText("test-link")).toBeTruthy();
68
31
  });
69
32
 
70
- test("Sidenav in overlay mode always renders arrow in mobile version", () => {
71
- //425 is mobile width
72
- Object.defineProperty(HTMLElement.prototype, "offsetWidth", { configurable: true, value: 425 });
73
- const { getByRole } = render(
74
- <DxcSidenav navContent={navContent} pageContent={pageContent} displayArrow={false}></DxcSidenav>
33
+ test("Sidenav link onClick", () => {
34
+ const onClick = jest.fn();
35
+ const { getByText } = render(
36
+ <DxcSidenav>
37
+ <DxcSidenav.Link onClick={onClick}>test-link</DxcSidenav.Link>
38
+ </DxcSidenav>
75
39
  );
76
- expect(getByRole("img")).toBeTruthy();
77
- });
78
40
 
79
- test("Sidenav in push mode always renders arrow in mobile version", () => {
80
- //425 is mobile width
81
- Object.defineProperty(HTMLElement.prototype, "offsetWidth", { configurable: true, value: 425 });
82
- const { getByRole } = render(
83
- <DxcSidenav navContent={navContent} pageContent={pageContent} displayArrow={false} mode="push"></DxcSidenav>
84
- );
85
- expect(getByRole("img")).toBeTruthy();
41
+ const link = getByText("test-link");
42
+ fireEvent.click(link);
43
+ expect(onClick).toHaveBeenCalled();
86
44
  });
87
45
  });
@@ -4,7 +4,7 @@ import DxcSlider from "../src/slider/Slider";
4
4
 
5
5
  describe("Slider component tests", () => {
6
6
  test("Slider renders with correct text", () => {
7
- const { getByText } = render(<DxcSlider minValue={0} maxValue={100} showLimitsValues></DxcSlider>);
7
+ const { getByText } = render(<DxcSlider minValue={0} maxValue={100} showLimitsValues />);
8
8
  expect(getByText("0")).toBeTruthy();
9
9
  expect(getByText("100")).toBeTruthy();
10
10
  });
@@ -12,37 +12,29 @@ describe("Slider component tests", () => {
12
12
  test("Calls correct function onChange in controlled slider", () => {
13
13
  const onChange = jest.fn();
14
14
  const { getByRole } = render(
15
- <DxcSlider minValue={0} maxValue={100} onChange={onChange} showLimitsValues value={13} showInput></DxcSlider>
15
+ <DxcSlider minValue={0} maxValue={100} onChange={onChange} showLimitsValues value={13} showInput />
16
16
  );
17
17
  act(() => {
18
18
  fireEvent.change(getByRole("textbox"), { target: { value: 25 } });
19
19
  });
20
- expect(onChange).toHaveBeenCalledWith("25");
20
+ expect(onChange).toHaveBeenCalledWith(25);
21
21
  });
22
22
 
23
23
  test("Calls correct function onChange in uncontrolled slider", () => {
24
24
  const onChange = jest.fn();
25
25
  const { getByRole } = render(
26
- <DxcSlider minValue={0} maxValue={100} onChange={onChange} showLimitsValues showInput></DxcSlider>
26
+ <DxcSlider minValue={0} maxValue={100} onChange={onChange} showLimitsValues showInput />
27
27
  );
28
28
  act(() => {
29
29
  fireEvent.change(getByRole("textbox"), { target: { value: 25 } });
30
30
  });
31
- expect(onChange).toHaveBeenCalledWith("25");
31
+ expect(onChange).toHaveBeenCalledWith(25);
32
32
  });
33
33
 
34
34
  test("Disabled slider have disabled input", () => {
35
35
  const onChange = jest.fn();
36
36
  const { getByRole } = render(
37
- <DxcSlider
38
- minValue={0}
39
- maxValue={100}
40
- onChange={onChange}
41
- showLimitsValues
42
- disabled
43
- showInput
44
- value={13}
45
- ></DxcSlider>
37
+ <DxcSlider minValue={0} maxValue={100} onChange={onChange} showLimitsValues disabled showInput value={13} />
46
38
  );
47
39
  act(() => {
48
40
  fireEvent.change(getByRole("textbox"), { target: { value: 25 } });
@@ -54,7 +46,7 @@ describe("Slider component tests", () => {
54
46
  test("Calls correct function onDragEnd", () => {
55
47
  const onDragEnd = jest.fn();
56
48
  const { getByRole } = render(
57
- <DxcSlider minValue={0} maxValue={100} showLimitsValues showInput onDragEnd={onDragEnd} value={25}></DxcSlider>
49
+ <DxcSlider minValue={0} maxValue={100} showLimitsValues showInput onDragEnd={onDragEnd} value={25} />
58
50
  );
59
51
  act(() => {
60
52
  fireEvent.mouseDown(getByRole("slider"));
@@ -62,4 +54,21 @@ describe("Slider component tests", () => {
62
54
  });
63
55
  expect(onDragEnd).toHaveBeenCalled();
64
56
  });
57
+
58
+ test("Calls correct function labelFormatCallback", () => {
59
+ const labelFormatCallback = jest.fn((x) => `${x}$`);
60
+ const { getByText } = render(
61
+ <DxcSlider
62
+ minValue={0}
63
+ maxValue={100}
64
+ showLimitsValues
65
+ showInput
66
+ value={25}
67
+ labelFormatCallback={labelFormatCallback}
68
+ />
69
+ );
70
+ expect(getByText("0$")).toBeTruthy();
71
+ expect(getByText("100$")).toBeTruthy();
72
+ expect(labelFormatCallback).toHaveBeenCalledTimes(2);
73
+ });
65
74
  });
@@ -24,4 +24,9 @@ describe("Spinner component tests", () => {
24
24
  expect(getByText("test-loading")).toBeTruthy();
25
25
  expect(getByText("75%")).toBeTruthy();
26
26
  });
27
+
28
+ test("Get spinner by role", () => {
29
+ const { getByRole } = render(<DxcSpinner label="test-loading" value={75} showValue></DxcSpinner>);
30
+ expect(getByRole("progressbar")).toBeTruthy();
31
+ });
27
32
  });
package/test/Tabs.test.js CHANGED
@@ -14,6 +14,21 @@ const sampleTabs = [
14
14
  },
15
15
  ];
16
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
+
17
32
  describe("Tabs component tests", () => {
18
33
  test("Tabs render with correct labels", () => {
19
34
  const { getByText } = render(<DxcTabs tabs={sampleTabs}></DxcTabs>);
@@ -21,6 +36,12 @@ describe("Tabs component tests", () => {
21
36
  expect(getByText("Tab-2")).toBeTruthy();
22
37
  expect(getByText("Tab-3")).toBeTruthy();
23
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
+ });
24
45
 
25
46
  test("Tabs render with correct icons", () => {
26
47
  const { getAllByRole } = render(