@dxc-technology/halstack-react 0.0.0-2548a8d → 0.0.0-2552d78

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 (195) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6734 -0
  3. package/dist/index.d.ts +6734 -0
  4. package/dist/index.js +14248 -0
  5. package/dist/index.mjs +14159 -0
  6. package/package.json +76 -62
  7. package/babel.config.js +0 -4
  8. package/dist/ThemeContext.js +0 -15
  9. package/dist/accordion/Accordion.js +0 -268
  10. package/dist/accordion/Accordion.stories.js +0 -207
  11. package/dist/accordion/readme.md +0 -96
  12. package/dist/accordion-group/AccordionGroup.js +0 -159
  13. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  14. package/dist/accordion-group/readme.md +0 -70
  15. package/dist/alert/Alert.js +0 -304
  16. package/dist/alert/Alert.stories.js +0 -158
  17. package/dist/alert/close.svg +0 -4
  18. package/dist/alert/error.svg +0 -4
  19. package/dist/alert/info.svg +0 -4
  20. package/dist/alert/readme.md +0 -43
  21. package/dist/alert/success.svg +0 -4
  22. package/dist/alert/warning.svg +0 -4
  23. package/dist/box/Box.js +0 -148
  24. package/dist/button/Button.js +0 -202
  25. package/dist/button/Button.stories.js +0 -224
  26. package/dist/button/readme.md +0 -93
  27. package/dist/card/Card.js +0 -217
  28. package/dist/checkbox/Checkbox.js +0 -240
  29. package/dist/checkbox/Checkbox.stories.js +0 -144
  30. package/dist/checkbox/readme.md +0 -116
  31. package/dist/chip/Chip.js +0 -208
  32. package/dist/common/OpenSans.css +0 -81
  33. package/dist/common/RequiredComponent.js +0 -46
  34. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  35. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  36. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  37. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  38. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  39. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  40. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  41. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  42. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  43. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  44. package/dist/common/services/example-service.js +0 -10
  45. package/dist/common/services/example-service.test.js +0 -12
  46. package/dist/common/utils.js +0 -42
  47. package/dist/common/variables.js +0 -434
  48. package/dist/date/Date.js +0 -356
  49. package/dist/date/Date.stories.js +0 -205
  50. package/dist/date/calendar.svg +0 -1
  51. package/dist/date/calendar_dark.svg +0 -1
  52. package/dist/date/readme.md +0 -73
  53. package/dist/dialog/Dialog.js +0 -197
  54. package/dist/dialog/Dialog.stories.js +0 -217
  55. package/dist/dialog/readme.md +0 -32
  56. package/dist/dropdown/Dropdown.js +0 -449
  57. package/dist/dropdown/Dropdown.stories.js +0 -249
  58. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  59. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  60. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  61. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  62. package/dist/dropdown/readme.md +0 -69
  63. package/dist/footer/Footer.js +0 -371
  64. package/dist/footer/Footer.stories.js +0 -94
  65. package/dist/footer/dxc_logo_wht.png +0 -0
  66. package/dist/footer/readme.md +0 -41
  67. package/dist/header/Header.js +0 -373
  68. package/dist/header/Header.stories.js +0 -176
  69. package/dist/header/close_icon.svg +0 -1
  70. package/dist/header/dxc_logo_black.png +0 -0
  71. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  72. package/dist/header/dxc_logo_white.png +0 -0
  73. package/dist/header/hamb_menu_black.svg +0 -1
  74. package/dist/header/hamb_menu_white.svg +0 -1
  75. package/dist/header/readme.md +0 -33
  76. package/dist/heading/Heading.js +0 -153
  77. package/dist/input-text/InputText.js +0 -570
  78. package/dist/input-text/InputText.stories.js +0 -209
  79. package/dist/input-text/error.svg +0 -1
  80. package/dist/input-text/readme.md +0 -91
  81. package/dist/layout/ApplicationLayout.js +0 -335
  82. package/dist/layout/facebook.svg +0 -45
  83. package/dist/layout/linkedin.svg +0 -50
  84. package/dist/layout/twitter.svg +0 -53
  85. package/dist/link/Link.js +0 -189
  86. package/dist/link/readme.md +0 -51
  87. package/dist/main.js +0 -287
  88. package/dist/paginator/Paginator.js +0 -227
  89. package/dist/paginator/images/next.svg +0 -3
  90. package/dist/paginator/images/nextPage.svg +0 -3
  91. package/dist/paginator/images/previous.svg +0 -3
  92. package/dist/paginator/images/previousPage.svg +0 -3
  93. package/dist/paginator/readme.md +0 -50
  94. package/dist/progress-bar/ProgressBar.js +0 -185
  95. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  96. package/dist/progress-bar/readme.md +0 -63
  97. package/dist/radio/Radio.js +0 -195
  98. package/dist/radio/Radio.stories.js +0 -166
  99. package/dist/radio/readme.md +0 -70
  100. package/dist/resultsetTable/ResultsetTable.js +0 -341
  101. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  102. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  103. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  104. package/dist/select/Select.js +0 -473
  105. package/dist/select/Select.stories.js +0 -235
  106. package/dist/select/readme.md +0 -72
  107. package/dist/sidenav/Sidenav.js +0 -128
  108. package/dist/slider/Slider.js +0 -266
  109. package/dist/slider/Slider.stories.js +0 -241
  110. package/dist/slider/readme.md +0 -64
  111. package/dist/spinner/Spinner.js +0 -193
  112. package/dist/spinner/Spinner.stories.js +0 -183
  113. package/dist/spinner/readme.md +0 -65
  114. package/dist/switch/Switch.js +0 -199
  115. package/dist/switch/Switch.stories.js +0 -134
  116. package/dist/switch/readme.md +0 -133
  117. package/dist/table/Table.js +0 -105
  118. package/dist/tabs/Tabs.js +0 -185
  119. package/dist/tabs/Tabs.stories.js +0 -130
  120. package/dist/tabs/readme.md +0 -78
  121. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  122. package/dist/tabs-for-sections/readme.md +0 -78
  123. package/dist/tag/Tag.js +0 -249
  124. package/dist/textarea/Textarea.js +0 -227
  125. package/dist/toggle/Toggle.js +0 -223
  126. package/dist/toggle/Toggle.stories.js +0 -297
  127. package/dist/toggle/readme.md +0 -80
  128. package/dist/toggle-group/ToggleGroup.js +0 -226
  129. package/dist/toggle-group/readme.md +0 -82
  130. package/dist/upload/Upload.js +0 -200
  131. package/dist/upload/Upload.stories.js +0 -72
  132. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  133. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  134. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  135. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  136. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  137. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  138. package/dist/upload/file-upload/FileToUpload.js +0 -158
  139. package/dist/upload/file-upload/audio-icon.svg +0 -4
  140. package/dist/upload/file-upload/close.svg +0 -4
  141. package/dist/upload/file-upload/file-icon.svg +0 -4
  142. package/dist/upload/file-upload/video-icon.svg +0 -4
  143. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  144. package/dist/upload/readme.md +0 -37
  145. package/dist/upload/transaction/Transaction.js +0 -155
  146. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  147. package/dist/upload/transaction/audio-icon.svg +0 -4
  148. package/dist/upload/transaction/error-icon.svg +0 -4
  149. package/dist/upload/transaction/file-icon-err.svg +0 -4
  150. package/dist/upload/transaction/file-icon.svg +0 -4
  151. package/dist/upload/transaction/image-icon-err.svg +0 -4
  152. package/dist/upload/transaction/image-icon.svg +0 -4
  153. package/dist/upload/transaction/success-icon.svg +0 -4
  154. package/dist/upload/transaction/video-icon-err.svg +0 -4
  155. package/dist/upload/transaction/video-icon.svg +0 -4
  156. package/dist/upload/transactions/Transactions.js +0 -120
  157. package/dist/wizard/Wizard.js +0 -340
  158. package/dist/wizard/invalid_icon.svg +0 -6
  159. package/dist/wizard/valid_icon.svg +0 -6
  160. package/dist/wizard/validation-wrong.svg +0 -6
  161. package/test/Accordion.test.js +0 -33
  162. package/test/AccordionGroup.test.js +0 -111
  163. package/test/Alert.test.js +0 -53
  164. package/test/Box.test.js +0 -10
  165. package/test/Button.test.js +0 -18
  166. package/test/Card.test.js +0 -30
  167. package/test/Checkbox.test.js +0 -45
  168. package/test/Chip.test.js +0 -25
  169. package/test/Date.test.js +0 -393
  170. package/test/Dialog.test.js +0 -23
  171. package/test/Dropdown.test.js +0 -130
  172. package/test/Footer.test.js +0 -99
  173. package/test/Header.test.js +0 -39
  174. package/test/Heading.test.js +0 -35
  175. package/test/InputText.test.js +0 -240
  176. package/test/Link.test.js +0 -33
  177. package/test/Paginator.test.js +0 -205
  178. package/test/ProgressBar.test.js +0 -35
  179. package/test/Radio.test.js +0 -37
  180. package/test/ResultsetTable.test.js +0 -293
  181. package/test/Select.test.js +0 -192
  182. package/test/Sidenav.test.js +0 -45
  183. package/test/Slider.test.js +0 -82
  184. package/test/Spinner.test.js +0 -27
  185. package/test/Switch.test.js +0 -45
  186. package/test/Table.test.js +0 -36
  187. package/test/Tabs.test.js +0 -88
  188. package/test/TabsForSections.test.js +0 -34
  189. package/test/Tag.test.js +0 -32
  190. package/test/TextArea.test.js +0 -52
  191. package/test/ToggleGroup.test.js +0 -81
  192. package/test/Upload.test.js +0 -60
  193. package/test/Wizard.test.js +0 -130
  194. package/test/mocks/pngMock.js +0 -1
  195. package/test/mocks/svgMock.js +0 -1
@@ -1,205 +0,0 @@
1
- import React from "react";
2
- import { render, act } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import DxcPaginator from "../src/paginator/Paginator";
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 itemsPerPageOptions", () => {
19
- const { getByText } = render(
20
- <DxcPaginator
21
- currentPage={1}
22
- itemsPerPage={10}
23
- itemsPerPageOptions={[
24
- { label: 10, value: 10 },
25
- { label: 15, value: 15 },
26
- ]}
27
- totalItems={20}
28
- ></DxcPaginator>
29
- );
30
- expect(getByText("Items per page")).toBeTruthy();
31
- });
32
-
33
- test("Paginator renders with itemsPerPageOptions", () => {
34
- const { getByText } = render(<DxcPaginator currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>);
35
- expect(getByText("1 to 10 of 20")).toBeTruthy();
36
- expect(getByText("Page: 1 of 2")).toBeTruthy();
37
- });
38
-
39
- test("Paginator renders with totalItems", () => {
40
- const { getByText } = render(<DxcPaginator totalItems={20}></DxcPaginator>);
41
- expect(getByText("1 to 5 of 20")).toBeTruthy();
42
- expect(getByText("Page: 1 of 4")).toBeTruthy();
43
- });
44
-
45
- test("Paginator renders with correct text in second page", () => {
46
- const { getByText } = render(<DxcPaginator currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>);
47
- expect(getByText("11 to 20 of 20")).toBeTruthy();
48
- expect(getByText("Page: 2 of 2")).toBeTruthy();
49
- });
50
-
51
- test("Call correct nextFunction", () => {
52
- const onClick = jest.fn();
53
- const { getByRole } = render(
54
- <DxcPaginator nextFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
55
- );
56
- const nextButton = getByRole("button");
57
- userEvent.click(nextButton);
58
- expect(onClick).toHaveBeenCalled();
59
- });
60
-
61
- test("Call correct lastFunction", () => {
62
- const onClick = jest.fn();
63
- const { getByRole } = render(
64
- <DxcPaginator lastFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
65
- );
66
- const lastButton = getByRole("button");
67
- userEvent.click(lastButton);
68
- expect(onClick).toHaveBeenCalledWith(2);
69
- });
70
-
71
- test("Call correct prevFunction", () => {
72
- const onClick = jest.fn();
73
- const { getByRole } = render(
74
- <DxcPaginator prevFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>
75
- );
76
- const prevButton = getByRole("button");
77
- userEvent.click(prevButton);
78
- expect(onClick).toHaveBeenCalled();
79
- });
80
-
81
- test("Call correct firstFunction", () => {
82
- const onClick = jest.fn();
83
- const { getByRole } = render(
84
- <DxcPaginator firstFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={30}></DxcPaginator>
85
- );
86
- const firstButton = getByRole("button");
87
- userEvent.click(firstButton);
88
- expect(onClick).toHaveBeenCalled();
89
- });
90
-
91
- test("Call correct itemsPerPageFunction", () => {
92
- const onClick = jest.fn();
93
- const { getAllByText, getByText } = render(
94
- <DxcPaginator
95
- currentPage={1}
96
- itemsPerPage={10}
97
- itemsPerPageOptions={[
98
- { label: 10, value: 10 },
99
- { label: 15, value: 15 },
100
- ]}
101
- itemsPerPageFunction={onClick}
102
- totalItems={20}
103
- ></DxcPaginator>
104
- );
105
- const select = getAllByText("10")[0];
106
- act(() => {
107
- userEvent.click(select);
108
- });
109
- const itemPerPageOption = getByText("15");
110
- act(() => {
111
- userEvent.click(itemPerPageOption);
112
- });
113
- expect(onClick).toHaveBeenCalledWith(15);
114
- });
115
-
116
- test("Next button is disable in last page", () => {
117
- const onClick = jest.fn();
118
- const { getByRole } = render(
119
- <DxcPaginator nextFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>
120
- );
121
- const nextButton = getByRole("button");
122
- expect(nextButton.hasAttribute("disabled")).toBeTruthy();
123
- userEvent.click(nextButton);
124
- expect(onClick).toHaveBeenCalledTimes(0);
125
- });
126
-
127
- test("Last button is disable in last page", () => {
128
- const onClick = jest.fn();
129
- const { getByRole } = render(
130
- <DxcPaginator lastFunction={onClick} currentPage={2} itemsPerPage={10} totalItems={20}></DxcPaginator>
131
- );
132
- const lastButton = getByRole("button");
133
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
134
- userEvent.click(lastButton);
135
- expect(onClick).toHaveBeenCalledTimes(0);
136
- });
137
-
138
- test("First button is disable in first page", () => {
139
- const onClick = jest.fn();
140
- const { getByRole } = render(
141
- <DxcPaginator firstFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
142
- );
143
- const lastButton = getByRole("button");
144
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
145
- userEvent.click(lastButton);
146
- expect(onClick).toHaveBeenCalledTimes(0);
147
- });
148
-
149
- test("Previous button is disable in first page", () => {
150
- const onClick = jest.fn();
151
- const { getByRole } = render(
152
- <DxcPaginator prevFunction={onClick} currentPage={1} itemsPerPage={10} totalItems={20}></DxcPaginator>
153
- );
154
- const lastButton = getByRole("button");
155
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
156
- userEvent.click(lastButton);
157
- expect(onClick).toHaveBeenCalledTimes(0);
158
- });
159
-
160
- test("Last and next buttons are disable in last page", () => {
161
- const onClick = jest.fn();
162
- const { getAllByRole } = render(
163
- <DxcPaginator
164
- prevFunction={onClick}
165
- firstFunction={onClick}
166
- nextFunction={onClick}
167
- lastFunction={onClick}
168
- currentPage={2}
169
- itemsPerPage={10}
170
- totalItems={20}
171
- ></DxcPaginator>
172
- );
173
- const firstButton = getAllByRole("button")[0];
174
- const prevButton = getAllByRole("button")[1];
175
- const nextButton = getAllByRole("button")[2];
176
- const lastButton = getAllByRole("button")[3];
177
- expect(firstButton.hasAttribute("disabled")).toBeFalsy();
178
- expect(prevButton.hasAttribute("disabled")).toBeFalsy();
179
- expect(nextButton.hasAttribute("disabled")).toBeTruthy();
180
- expect(lastButton.hasAttribute("disabled")).toBeTruthy();
181
- });
182
-
183
- test("First and previous buttons are disable in first page", () => {
184
- const onClick = jest.fn();
185
- const { getAllByRole } = render(
186
- <DxcPaginator
187
- prevFunction={onClick}
188
- firstFunction={onClick}
189
- nextFunction={onClick}
190
- lastFunction={onClick}
191
- currentPage={1}
192
- itemsPerPage={10}
193
- totalItems={20}
194
- ></DxcPaginator>
195
- );
196
- const firstButton = getAllByRole("button")[0];
197
- const prevButton = getAllByRole("button")[1];
198
- const nextButton = getAllByRole("button")[2];
199
- const lastButton = getAllByRole("button")[3];
200
- expect(firstButton.hasAttribute("disabled")).toBeTruthy();
201
- expect(prevButton.hasAttribute("disabled")).toBeTruthy();
202
- expect(nextButton.hasAttribute("disabled")).toBeFalsy();
203
- expect(lastButton.hasAttribute("disabled")).toBeFalsy();
204
- });
205
- });
@@ -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,293 +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 { getAllByRole } = render(
230
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
231
- );
232
- expect(getAllByRole("row").length-1).toEqual(3);
233
- });
234
-
235
- test("Resultsettable shows rows on second page", () => {
236
- const { getByText, getAllByRole } = render(
237
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
238
- );
239
- expect(getByText("Peter")).toBeTruthy();
240
- expect(getByText("Louis")).toBeTruthy();
241
- expect(getByText("Lana")).toBeTruthy();
242
- expect(getAllByRole("row").length-1).toEqual(3);
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
- expect(getAllByRole("row").length-1).toEqual(3);
251
- });
252
-
253
- test("Resultsettable going to the last page shows only one row", () => {
254
- const { getByText, getAllByRole } = render(
255
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
256
- );
257
- const lastButton = getAllByRole("button")[3];
258
- fireEvent.click(lastButton);
259
- expect(getByText("10 to 10 of 10")).toBeTruthy();
260
- expect(getByText("Page: 4 of 4")).toBeTruthy();
261
- expect(getAllByRole("row")).toHaveLength(2);
262
- expect(getByText("Cosmin")).toBeTruthy();
263
- });
264
-
265
- test("Resultsettable sort rows by column", () => {
266
- const component = render(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>);
267
- expect(component.queryByText("Peter")).toBeTruthy();
268
- fireEvent.click(component.queryByText("Name"));
269
- expect(component.queryByText("Tina")).not.toBeTruthy();
270
- expect(component.queryByText("Cosmin")).toBeTruthy();
271
-
272
- fireEvent.click(component.queryByText("Name"));
273
- expect(component.queryByText("Tina")).toBeTruthy();
274
- expect(component.queryByText("Cosmin")).not.toBeTruthy();
275
- });
276
- test("Resultsettable change rows should go to first page", () => {
277
- const {queryByText, rerender} = render(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>);
278
- expect(queryByText("Peter")).toBeTruthy();
279
- rerender(<DxcResultsetTable columns={columns} rows={rows2} itemsPerPage={3}></DxcResultsetTable>);
280
- expect(queryByText("1 to 3 of 3")).toBeTruthy();
281
- });
282
-
283
- test("Resultsettable change itemsPerPage should go to first page", () => {
284
- const {getAllByRole, queryByText, rerender} = render(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>);
285
- const lastButton = getAllByRole("button")[3];
286
- fireEvent.click(lastButton);
287
- expect(getAllByRole("row").length-1).toEqual(1);
288
- expect(queryByText("Page: 4 of 4")).toBeTruthy();
289
- rerender(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={6}></DxcResultsetTable>);
290
- expect(getAllByRole("row").length-1).toEqual(6);
291
- expect(queryByText("Page: 1 of 2")).toBeTruthy();
292
- });
293
- });