@salesforcedevs/dx-components 0.26.1-alpha.12 → 0.26.1-alpha.17

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 (241) hide show
  1. package/lwc.config.json +1 -1
  2. package/package.json +1 -8
  3. package/src/modules/{utils → base-elements}/archiveCard/archiveCard.ts +0 -0
  4. package/src/modules/{utils → base-elements}/headerBase/headerBase.ts +0 -0
  5. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +1 -1
  6. package/src/modules/dx/cardCallout/cardCallout.ts +1 -1
  7. package/src/modules/dx/cardContent/cardContent.ts +2 -2
  8. package/src/modules/dx/cardDocs/cardDocs.ts +1 -1
  9. package/src/modules/dx/cardExpanded/cardExpanded.ts +1 -1
  10. package/src/modules/dx/cardMinimal/cardMinimal.ts +1 -1
  11. package/src/modules/dx/cardNews/cardNews.ts +1 -1
  12. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +1 -1
  13. package/src/modules/dx/cardSmall/cardSmall.ts +1 -1
  14. package/src/modules/dx/codeBlock/codeBlock.ts +1 -1
  15. package/src/modules/dx/dropdown/dropdown.ts +1 -1
  16. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +1 -1
  17. package/src/modules/dx/groupText/groupText.ts +1 -1
  18. package/src/modules/dx/header/header.ts +1 -1
  19. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +1 -1
  20. package/src/modules/dx/headerSearch/headerSearch.ts +1 -1
  21. package/src/modules/dx/icon/icon.ts +1 -1
  22. package/src/modules/dx/iconBadge/iconBadge.ts +1 -1
  23. package/src/modules/dx/input/input.ts +1 -1
  24. package/src/modules/dx/popover/popover.ts +1 -1
  25. package/src/modules/dx/section/section.ts +1 -1
  26. package/src/modules/dx/sidebar/sidebar.ts +1 -1
  27. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +2 -5
  28. package/src/modules/dx/typeBadge/typeBadge.ts +1 -1
  29. package/src/modules/utils/highlight/highlight.ts +1 -1
  30. package/.DS_Store +0 -0
  31. package/src/.DS_Store +0 -0
  32. package/src/modules/.DS_Store +0 -0
  33. package/src/modules/dx/.DS_Store +0 -0
  34. package/src/modules/dx/banner/__tests__/banner.test.ts +0 -33
  35. package/src/modules/dx/brandThemeProvider/__tests__/brandThemeProvider.test.ts +0 -49
  36. package/src/modules/dx/brandThemeProvider/brandThemeProvider.stories.ts +0 -321
  37. package/src/modules/dx/breadcrumbs/__tests__/breadcrumbs.test.ts +0 -140
  38. package/src/modules/dx/breadcrumbs/__tests__/mockProps.ts +0 -28
  39. package/src/modules/dx/breadcrumbs/breadcrumbs.stories.ts +0 -39
  40. package/src/modules/dx/button/__tests__/button.test.ts +0 -107
  41. package/src/modules/dx/button/button.stories.ts +0 -150
  42. package/src/modules/dx/cardBlogPost/__tests__/cardBlogPost.test.ts +0 -26
  43. package/src/modules/dx/cardBlogPost/__tests__/mockProps.ts +0 -12
  44. package/src/modules/dx/cardBlogPost/cardBlogPost.stories.ts +0 -164
  45. package/src/modules/dx/cardBlogPostProvider/__tests__/cardBlogPostProvider.test.ts +0 -34
  46. package/src/modules/dx/cardBlogPostProvider/__tests__/mockWordpressPosts.ts +0 -44
  47. package/src/modules/dx/cardCallout/__tests__/cardCallout.test.ts +0 -20
  48. package/src/modules/dx/cardCallout/__tests__/mockProps.ts +0 -7
  49. package/src/modules/dx/cardCallout/cardCallout.stories.ts +0 -33
  50. package/src/modules/dx/cardContent/__tests__/cardContent.test.ts +0 -100
  51. package/src/modules/dx/cardContent/__tests__/mockProps.ts +0 -13
  52. package/src/modules/dx/cardContent/cardContent.stories.ts +0 -127
  53. package/src/modules/dx/cardDemo/cardDemo.stories.ts +0 -115
  54. package/src/modules/dx/cardDocs/__tests__/cardDocs.test.ts +0 -48
  55. package/src/modules/dx/cardDocs/__tests__/mockProps.ts +0 -9
  56. package/src/modules/dx/cardDocs/cardDocs.stories.ts +0 -299
  57. package/src/modules/dx/cardEvent/__tests__/cardEvent.test.ts +0 -95
  58. package/src/modules/dx/cardEvent/__tests__/mockProps.ts +0 -10
  59. package/src/modules/dx/cardEvent/cardEvent.stories.ts +0 -153
  60. package/src/modules/dx/cardExpanded/__tests__/cardExpanded.test.ts +0 -193
  61. package/src/modules/dx/cardExpanded/__tests__/mockProps.ts +0 -21
  62. package/src/modules/dx/cardExpanded/cardExpanded.stories.ts +0 -59
  63. package/src/modules/dx/cardGrid/__tests__/cardMockProps.ts +0 -431
  64. package/src/modules/dx/cardGrid/__tests__/mockProps.ts +0 -15
  65. package/src/modules/dx/cardGrid/cardGrid.stories.ts +0 -111
  66. package/src/modules/dx/cardMinimal/__tests__/cardMinimal.test.ts +0 -87
  67. package/src/modules/dx/cardMinimal/__tests__/mockProps.ts +0 -10
  68. package/src/modules/dx/cardMinimal/cardMinimal.stories.ts +0 -32
  69. package/src/modules/dx/cardNews/__tests__/cardNews.test.ts +0 -58
  70. package/src/modules/dx/cardNews/__tests__/mockProps.ts +0 -7
  71. package/src/modules/dx/cardNews/cardNews.stories.ts +0 -115
  72. package/src/modules/dx/cardPodcastEpisode/__tests__/cardPodcastEpisode.test.ts +0 -68
  73. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.stories.ts +0 -31
  74. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/cardPodcastEpisodeProvider.test.ts +0 -36
  75. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/mockWordpressEpisodes.ts +0 -50
  76. package/src/modules/dx/cardSmall/__tests__/cardSmall.test.ts +0 -66
  77. package/src/modules/dx/cardSmall/__tests__/mockProps.ts +0 -8
  78. package/src/modules/dx/cardSmall/cardSmall.stories.ts +0 -166
  79. package/src/modules/dx/cardTitle/__tests__/cardTitle.test.ts +0 -46
  80. package/src/modules/dx/cardTrailheadModule/__tests__/cardTrailheadModule.test.ts +0 -18
  81. package/src/modules/dx/cardTrailheadModule/__tests__/mockProps.ts +0 -11
  82. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.stories.ts +0 -122
  83. package/src/modules/dx/cardVideoPreview/__tests__/cardVideoPreview.test.ts +0 -22
  84. package/src/modules/dx/cardVideoPreview/__tests__/mockProps.ts +0 -11
  85. package/src/modules/dx/cardVideoPreview/cardVideoPreview.stories.ts +0 -147
  86. package/src/modules/dx/checkbox/__tests__/checkbox.test.ts +0 -85
  87. package/src/modules/dx/checkbox/__tests__/mockProps.ts +0 -5
  88. package/src/modules/dx/checkbox/checkbox.stories.ts +0 -38
  89. package/src/modules/dx/checkboxGroup/__tests__/checkboxGroup.test.ts +0 -80
  90. package/src/modules/dx/checkboxGroup/__tests__/mockProps.ts +0 -14
  91. package/src/modules/dx/checkboxGroup/checkboxGroup.stories.ts +0 -33
  92. package/src/modules/dx/codeBlock/__tests__/codeBlock.test.ts +0 -238
  93. package/src/modules/dx/codeBlock/__tests__/mockProps.ts +0 -160
  94. package/src/modules/dx/codeBlock/codeBlock.stories.ts +0 -143
  95. package/src/modules/dx/dropdown/__tests__/dropdown.test.ts +0 -165
  96. package/src/modules/dx/dropdown/__tests__/mockNestedOptions.ts +0 -96
  97. package/src/modules/dx/dropdown/__tests__/mockOptions.ts +0 -10
  98. package/src/modules/dx/dropdown/__tests__/mockProps.ts +0 -6
  99. package/src/modules/dx/dropdown/dropdown.stories.ts +0 -89
  100. package/src/modules/dx/dropdownOption/__tests__/dropdownOption.test.ts +0 -112
  101. package/src/modules/dx/dropdownOption/__tests__/mockProps.ts +0 -20
  102. package/src/modules/dx/emptyState/__tests__/emptyState.test.ts +0 -52
  103. package/src/modules/dx/emptyState/__tests__/mockProps.ts +0 -4
  104. package/src/modules/dx/emptyState/emptyState.stories.ts +0 -45
  105. package/src/modules/dx/feature/__tests__/feature.test.ts +0 -51
  106. package/src/modules/dx/feature/__tests__/mockProps.ts +0 -8
  107. package/src/modules/dx/featureGrid/__tests__/featureGrid.test.ts +0 -21
  108. package/src/modules/dx/featureGrid/featureGrid.stories.ts +0 -120
  109. package/src/modules/dx/featuredContentHeader/__tests__/featuredContentHeader.test.ts +0 -178
  110. package/src/modules/dx/featuredContentHeader/__tests__/mockProps.ts +0 -73
  111. package/src/modules/dx/featuredContentHeader/featuredContentHeader.stories.ts +0 -153
  112. package/src/modules/dx/featuresList/__tests__/featuresList.test.ts +0 -43
  113. package/src/modules/dx/featuresList/__tests__/mockProps.ts +0 -17
  114. package/src/modules/dx/featuresList/featuresList.stories.ts +0 -30
  115. package/src/modules/dx/footer/__tests__/footer.test.ts +0 -147
  116. package/src/modules/dx/footer/__tests__/mockLocales.ts +0 -7
  117. package/src/modules/dx/footer/footer.stories.ts +0 -88
  118. package/src/modules/dx/footerOption/__tests__/footerOption.test.ts +0 -34
  119. package/src/modules/dx/footerOption/__tests__/mockProps.ts +0 -7
  120. package/src/modules/dx/formattedDateTime/__tests__/formattedDateTime.test.ts +0 -25
  121. package/src/modules/dx/formattedDateTime/__tests__/mockProps.ts +0 -13
  122. package/src/modules/dx/formattedDateTime/formattedDateTime.stories.ts +0 -103
  123. package/src/modules/dx/grid/__tests__/grid.test.ts +0 -32
  124. package/src/modules/dx/grid/grid.stories.ts +0 -134
  125. package/src/modules/dx/groupBio/__tests__/groupBio.test.ts +0 -82
  126. package/src/modules/dx/groupBio/__tests__/mockProps.ts +0 -15
  127. package/src/modules/dx/groupBio/groupBio.stories.ts +0 -66
  128. package/src/modules/dx/groupText/__tests__/groupText.test.ts +0 -69
  129. package/src/modules/dx/groupText/__tests__/mockProps.ts +0 -35
  130. package/src/modules/dx/groupText/groupText.stories.ts +0 -81
  131. package/src/modules/dx/header/__tests__/header.test.ts +0 -236
  132. package/src/modules/dx/header/__tests__/mockNavArchitects.ts +0 -169
  133. package/src/modules/dx/header/__tests__/mockNavDevelopers.ts +0 -419
  134. package/src/modules/dx/header/__tests__/mockNavs.ts +0 -115
  135. package/src/modules/dx/header/__tests__/mockProps.ts +0 -164
  136. package/src/modules/dx/header/header.stories.ts +0 -172
  137. package/src/modules/dx/headerMobileNavMenu/__tests__/headerMobileNavMenu.test.ts +0 -123
  138. package/src/modules/dx/headerMobileNavMenuOption/__tests__/headerMobileNavMenuOption.test.ts +0 -38
  139. package/src/modules/dx/headerNav/__tests__/headerNav.test.ts +0 -49
  140. package/src/modules/dx/headerSearch/__tests__/headerSearch.test.ts +0 -182
  141. package/src/modules/dx/headerSearch/__tests__/mockData.ts +0 -11
  142. package/src/modules/dx/headerSearch/__tests__/mockProps.ts +0 -6
  143. package/src/modules/dx/helmet/__tests__/helmet.test.ts +0 -52
  144. package/src/modules/dx/helmet/helmet.stories.ts +0 -53
  145. package/src/modules/dx/hr/__tests__/hr.test.ts +0 -53
  146. package/src/modules/dx/hr/__tests__/mockProps.ts +0 -16
  147. package/src/modules/dx/hr/hr.stories.ts +0 -50
  148. package/src/modules/dx/icon/__tests__/icon.test.ts +0 -54
  149. package/src/modules/dx/icon/icon.stories.ts +0 -100
  150. package/src/modules/dx/iconBadge/__tests__/iconBadge.test.ts +0 -17
  151. package/src/modules/dx/iconBadge/iconBadge.stories.ts +0 -32
  152. package/src/modules/dx/imageAndLabel/__tests__/imageAndLabel.test.ts +0 -39
  153. package/src/modules/dx/imageAndLabel/__tests__/mockProps.ts +0 -6
  154. package/src/modules/dx/imageAndLabel/imageAndLabel.stories.ts +0 -48
  155. package/src/modules/dx/input/__tests__/input.test.ts +0 -357
  156. package/src/modules/dx/input/input.stories.ts +0 -102
  157. package/src/modules/dx/instrumentation/__tests__/instrumentation.test.ts +0 -86
  158. package/src/modules/dx/interactiveImage/__tests__/interactiveImage.test.ts +0 -83
  159. package/src/modules/dx/interactiveImage/__tests__/mockProps.ts +0 -39
  160. package/src/modules/dx/interactiveImage/interactiveImage.stories.ts +0 -31
  161. package/src/modules/dx/lazy/__tests__/lazy.test.ts +0 -43
  162. package/src/modules/dx/lazy/lazy.stories.ts +0 -132
  163. package/src/modules/dx/pagination/__tests__/pagination.test.ts +0 -121
  164. package/src/modules/dx/pagination/pagination.stories.ts +0 -88
  165. package/src/modules/dx/podcastHost/__tests__/mockProps.ts +0 -8
  166. package/src/modules/dx/podcastHost/__tests__/podcastHost.test.ts +0 -21
  167. package/src/modules/dx/podcastHost/podcastHost.stories.ts +0 -17
  168. package/src/modules/dx/podcastPlayer/__tests__/podcastPlayer.test.ts +0 -20
  169. package/src/modules/dx/podcastPlayer/podcastPlayer.stories.ts +0 -13
  170. package/src/modules/dx/podcastSubscription/__tests__/podcastSubscription.test.ts +0 -16
  171. package/src/modules/dx/podcastSubscription/podcastSubscription.stories.ts +0 -23
  172. package/src/modules/dx/popover/__tests__/mockProps.ts +0 -8
  173. package/src/modules/dx/popover/__tests__/popover.test.ts +0 -313
  174. package/src/modules/dx/popover/popover.stories.ts +0 -82
  175. package/src/modules/dx/radioGroup/__tests__/mockProps.ts +0 -12
  176. package/src/modules/dx/radioGroup/__tests__/radioGroup.test.ts +0 -42
  177. package/src/modules/dx/radioGroup/radioGroup.stories.ts +0 -25
  178. package/src/modules/dx/relativeDateTime/__tests__/mockProps.ts +0 -55
  179. package/src/modules/dx/relativeDateTime/__tests__/relativeDateTime.test.ts +0 -52
  180. package/src/modules/dx/relativeDateTime/relativeDateTime.stories.ts +0 -83
  181. package/src/modules/dx/searchResults/searchResults.stories.ts +0 -36
  182. package/src/modules/dx/section/__tests__/section.test.ts +0 -17
  183. package/src/modules/dx/section/section.stories.ts +0 -381
  184. package/src/modules/dx/sectionSignup/__tests__/sectionSignup.test.ts +0 -66
  185. package/src/modules/dx/sectionSignup/sectionSignup.stories.ts +0 -49
  186. package/src/modules/dx/select/select.stories.ts +0 -59
  187. package/src/modules/dx/sidebar/__tests__/mockProps.ts +0 -181
  188. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEmptyEvent.ts +0 -6
  189. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEvent.ts +0 -527
  190. package/src/modules/dx/sidebar/__tests__/sidebar.test.ts +0 -568
  191. package/src/modules/dx/sidebar/sidebar.stories.ts +0 -188
  192. package/src/modules/dx/sidebarOld/__tests__/mockProps.ts +0 -178
  193. package/src/modules/dx/sidebarOld/__tests__/sidebarOld.test.ts +0 -570
  194. package/src/modules/dx/sidebarOld/sidebarOld.stories.ts +0 -139
  195. package/src/modules/dx/sidebarSearch/__tests__/mockPreloadedState.ts +0 -1686
  196. package/src/modules/dx/sidebarSearch/__tests__/sidebarSearch.test.ts +0 -175
  197. package/src/modules/dx/sidebarSearchResult/__tests__/sidebarSearchResult.test.ts +0 -96
  198. package/src/modules/dx/slackCta/__tests__/slackCta.test.ts +0 -48
  199. package/src/modules/dx/slackCta/slackCta.stories.ts +0 -25
  200. package/src/modules/dx/socials/__tests__/socials.test.ts +0 -114
  201. package/src/modules/dx/socials/socials.stories.ts +0 -24
  202. package/src/modules/dx/spinner/__tests__/spinner.test.ts +0 -37
  203. package/src/modules/dx/spinner/spinner.stories.ts +0 -69
  204. package/src/modules/dx/tab/__tests__/tab.test.ts +0 -129
  205. package/src/modules/dx/tab/tab.stories.ts +0 -57
  206. package/src/modules/dx/toc/__tests__/mockProps.ts +0 -28
  207. package/src/modules/dx/toc/__tests__/toc.test.ts +0 -109
  208. package/src/modules/dx/toc/toc.stories.ts +0 -26
  209. package/src/modules/dx/tooltip/__tests__/tooltip.test.ts +0 -22
  210. package/src/modules/dx/tooltip/tooltip.stories.ts +0 -46
  211. package/src/modules/dx/topics/__tests__/mockProps.ts +0 -3
  212. package/src/modules/dx/topics/__tests__/topics.test.ts +0 -31
  213. package/src/modules/dx/tree/__tests__/mockProps.ts +0 -215
  214. package/src/modules/dx/tree/__tests__/tree.test.ts +0 -346
  215. package/src/modules/dx/tree/__tests__/treeHandler.test.ts +0 -194
  216. package/src/modules/dx/tree/tree.stories.ts +0 -65
  217. package/src/modules/dx/treeItem/__tests__/mockProps.ts +0 -46
  218. package/src/modules/dx/treeItem/__tests__/treeItem.test.ts +0 -377
  219. package/src/modules/dx/treeTile/__tests__/mockProps.ts +0 -16
  220. package/src/modules/dx/treeTile/__tests__/treeTile.test.ts +0 -168
  221. package/src/modules/dx/typeBadge/__tests__/typeBadge.test.ts +0 -77
  222. package/src/modules/dx/typeBadge/typeBadge.stories.ts +0 -114
  223. package/src/modules/dx/typeBadgeGroup/__tests__/mockProps.ts +0 -11
  224. package/src/modules/dx/typeBadgeGroup/__tests__/typeBadgeGroup.test.ts +0 -72
  225. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.stories.ts +0 -19
  226. package/src/modules/test-components/buttonTest/buttonTest.html +0 -3
  227. package/src/modules/test-components/buttonTest/buttonTest.ts +0 -3
  228. package/src/modules/test-components/codeBlockTest/codeBlockTest.js +0 -4
  229. package/src/modules/test-components/featureGridTest/featureGridTest.html +0 -7
  230. package/src/modules/test-components/featureGridTest/featureGridTest.ts +0 -5
  231. package/src/modules/test-components/instrumentationTest/instrumentationTest.html +0 -4
  232. package/src/modules/test-components/instrumentationTest/instrumentationTest.ts +0 -8
  233. package/src/modules/test-components/popoverTest/popoverTest.html +0 -6
  234. package/src/modules/test-components/popoverTest/popoverTest.ts +0 -5
  235. package/src/modules/utils/highlight/__tests__/highlight.test.ts +0 -108
  236. package/src/modules/utils/highlight/__tests__/mockProps.ts +0 -45
  237. package/src/modules/utils/recentSearches/__tests__/recentSearches.test.ts +0 -83
  238. package/src/modules/utils/wordpress/__tests__/wordpress.test.ts +0 -15
  239. package/src/modules/utils-internal/jest/jest.ts +0 -58
  240. package/src/modules/utils-internal/storybook/storybook.ts +0 -32
  241. package/src/modules/utils-internal/tests/tests.ts +0 -38
@@ -1,346 +0,0 @@
1
- import Tree from "dx/tree";
2
- import TreeItem from "dx/treeItem";
3
- import { createRenderComponent } from "utils-internal/tests";
4
- import { TreeHandler } from "../treeHandler";
5
- import {
6
- INITIALIZE_MOCK_PARAMETER,
7
- INITIALIZE_MOCK_RESULT,
8
- MOCK_TILE_DETAIL,
9
- MOCK_ICON_DETAIL
10
- } from "./mockProps";
11
-
12
- const TAG = "dx-tree";
13
- const renderComponent = createRenderComponent(TAG, Tree);
14
-
15
- const mockInitialize = jest.fn();
16
- const mockGetKeyByName = jest.fn();
17
- const mockGetNode = jest.fn();
18
- const mockExpandToSelected = jest.fn();
19
- const mockRegisterSetExpanded = jest.fn();
20
-
21
- jest.mock("../treeHandler", () => {
22
- return {
23
- TreeHandler: jest.fn().mockImplementation(() => {
24
- return {
25
- initialize: mockInitialize,
26
- getNode: mockGetNode,
27
- getKeyByName: mockGetKeyByName,
28
- expandToSelected: mockExpandToSelected,
29
- registerSetExpanded: mockRegisterSetExpanded
30
- };
31
- })
32
- };
33
- });
34
-
35
- describe(TAG, () => {
36
- beforeEach(() => {
37
- mockInitialize.mockReturnValue(INITIALIZE_MOCK_RESULT);
38
- });
39
-
40
- describe("component render", () => {
41
- it("should render dx-tree-item with appropiate properties", () => {
42
- const component = renderComponent({
43
- treeRoot: INITIALIZE_MOCK_PARAMETER
44
- });
45
- expect(component.treeRoot).toEqual(INITIALIZE_MOCK_RESULT);
46
- expect(component.value).toBeUndefined();
47
-
48
- const treeItem: TreeItem =
49
- component.shadowRoot.querySelector("dx-tree-item");
50
- expect(treeItem).not.toBeNull();
51
- expect(treeItem.treeNode).toEqual(INITIALIZE_MOCK_RESULT);
52
- expect(treeItem.isRoot).toBe(true);
53
- expect(treeItem.selectedKey).toBeUndefined();
54
-
55
- expect(TreeHandler).toHaveBeenCalledTimes(1);
56
- expect(mockInitialize).toHaveBeenCalledTimes(1);
57
- expect(mockInitialize).toHaveBeenCalledWith(
58
- INITIALIZE_MOCK_PARAMETER
59
- );
60
- expect(mockGetKeyByName).not.toBeCalled();
61
- expect(mockGetNode).not.toBeCalled();
62
- expect(mockExpandToSelected).not.toBeCalled();
63
-
64
- return expect(component).toBeAccessible();
65
- });
66
-
67
- it("should render dx-tree-item with treeRoot assigned as json and provided value", () => {
68
- const expectedKey = INITIALIZE_MOCK_RESULT.key;
69
- mockGetKeyByName.mockReturnValue(expectedKey);
70
-
71
- const component = renderComponent({
72
- treeRoot: JSON.stringify(INITIALIZE_MOCK_PARAMETER),
73
- value: INITIALIZE_MOCK_PARAMETER.name
74
- });
75
-
76
- expect(component.treeRoot).toEqual(INITIALIZE_MOCK_RESULT);
77
- expect(component.value).toBe(INITIALIZE_MOCK_PARAMETER.name);
78
-
79
- const treeItem: TreeItem =
80
- component.shadowRoot.querySelector("dx-tree-item");
81
- expect(treeItem).not.toBeNull();
82
- expect(treeItem.treeNode).toEqual(INITIALIZE_MOCK_RESULT);
83
- expect(treeItem.isRoot).toBe(true);
84
- expect(treeItem.selectedKey).toBe(expectedKey);
85
-
86
- expect(TreeHandler).toHaveBeenCalledTimes(1);
87
-
88
- expect(mockInitialize).toHaveBeenCalledTimes(1);
89
- expect(mockInitialize).toHaveBeenCalledWith(
90
- INITIALIZE_MOCK_PARAMETER
91
- );
92
-
93
- expect(mockGetKeyByName).toBeCalledTimes(1);
94
- expect(mockGetKeyByName).toHaveBeenCalledWith(
95
- INITIALIZE_MOCK_PARAMETER.name
96
- );
97
-
98
- expect(mockExpandToSelected).toBeCalledTimes(1);
99
- expect(mockExpandToSelected).toHaveBeenCalledWith(expectedKey);
100
-
101
- expect(mockGetNode).not.toBeCalled();
102
-
103
- return expect(component).toBeAccessible();
104
- });
105
-
106
- it("should update selectedKey to undefined if assigned value name does not exist", () => {
107
- const expectedValue = "not_exist";
108
- const validKey = "0.1";
109
-
110
- mockGetKeyByName
111
- .mockReturnValueOnce(validKey)
112
- .mockReturnValueOnce(undefined);
113
-
114
- const component = renderComponent({
115
- treeRoot: INITIALIZE_MOCK_PARAMETER,
116
- value: INITIALIZE_MOCK_PARAMETER.name
117
- });
118
-
119
- const treeItem: TreeItem =
120
- component.shadowRoot.querySelector("dx-tree-item");
121
- expect(treeItem).not.toBeNull();
122
- expect(treeItem.selectedKey).toBe(validKey);
123
-
124
- component.value = expectedValue;
125
- expect(component.value).toBe(expectedValue);
126
-
127
- expect(TreeHandler).toHaveBeenCalledTimes(1);
128
-
129
- expect(mockInitialize).toHaveBeenCalledTimes(1);
130
- expect(mockInitialize).toHaveBeenCalledWith(
131
- INITIALIZE_MOCK_PARAMETER
132
- );
133
-
134
- expect(mockGetKeyByName).toBeCalledTimes(2);
135
- expect(mockGetKeyByName).toHaveBeenNthCalledWith(
136
- 1,
137
- INITIALIZE_MOCK_PARAMETER.name
138
- );
139
- expect(mockGetKeyByName).toHaveBeenNthCalledWith(2, expectedValue);
140
-
141
- expect(mockExpandToSelected).toHaveBeenCalledTimes(2);
142
- expect(mockExpandToSelected).toHaveBeenNthCalledWith(1, validKey);
143
- expect(mockExpandToSelected).toHaveBeenNthCalledWith(2, undefined);
144
-
145
- expect(mockGetNode).not.toBeCalled();
146
- return Promise.resolve().then(() => {
147
- expect(treeItem.selectedKey).toBeUndefined();
148
-
149
- return expect(component).toBeAccessible();
150
- });
151
- });
152
-
153
- it("should update selectedKey when value is defined before treeRoot", () => {
154
- const expectedKey = INITIALIZE_MOCK_RESULT.key;
155
- mockGetKeyByName.mockReturnValue(expectedKey);
156
-
157
- const component = renderComponent({
158
- value: INITIALIZE_MOCK_PARAMETER.name
159
- });
160
- component.treeRoot = INITIALIZE_MOCK_PARAMETER;
161
-
162
- expect(TreeHandler).toHaveBeenCalledTimes(1);
163
- expect(mockInitialize).toHaveBeenCalledTimes(1);
164
- expect(mockInitialize).toHaveBeenCalledWith(
165
- INITIALIZE_MOCK_PARAMETER
166
- );
167
-
168
- expect(mockGetKeyByName).toBeCalledTimes(1);
169
- expect(mockGetKeyByName).toBeCalledWith(
170
- INITIALIZE_MOCK_PARAMETER.name
171
- );
172
-
173
- expect(mockExpandToSelected).toHaveBeenCalledTimes(1);
174
- expect(mockExpandToSelected).toHaveBeenCalledWith(expectedKey);
175
-
176
- expect(mockGetNode).not.toBeCalled();
177
-
178
- return Promise.resolve().then(() => {
179
- const treeItem: TreeItem =
180
- component.shadowRoot.querySelector("dx-tree-item");
181
- expect(treeItem).not.toBeNull();
182
- expect(treeItem.selectedKey).toBe(expectedKey);
183
-
184
- return expect(component).toBeAccessible();
185
- });
186
- });
187
-
188
- it("should not render dx-tree-item if treeRoot is not defined", () => {
189
- const component = renderComponent();
190
- expect(
191
- component.shadowRoot.querySelector("dx-tree-item")
192
- ).toBeNull();
193
-
194
- expect(TreeHandler).not.toBeCalled();
195
- expect(mockGetKeyByName).not.toBeCalled();
196
- expect(mockGetNode).not.toBeCalled();
197
- expect(mockInitialize).not.toBeCalled();
198
- expect(mockExpandToSelected).not.toBeCalled();
199
-
200
- return expect(component).toBeAccessible();
201
- });
202
-
203
- it("should do nothing if value setter is called with the same value", () => {
204
- const { name: testName } = INITIALIZE_MOCK_PARAMETER;
205
- const component: Tree = renderComponent({
206
- treeRoot: INITIALIZE_MOCK_PARAMETER,
207
- value: testName
208
- });
209
-
210
- expect(component.value).toBe(testName);
211
- expect(TreeHandler).toBeCalledTimes(1);
212
- expect(mockInitialize).toHaveBeenCalledTimes(1);
213
- expect(mockGetKeyByName).toBeCalledTimes(1);
214
-
215
- component.value = testName;
216
-
217
- expect(component.value).toBe(testName);
218
- expect(TreeHandler).toBeCalledTimes(1);
219
- expect(mockInitialize).toHaveBeenCalledTimes(1);
220
- expect(mockGetKeyByName).toBeCalledTimes(1);
221
- });
222
- });
223
-
224
- describe("event handle", () => {
225
- it("should handle tileselected event", () => {
226
- const component = renderComponent({
227
- treeRoot: INITIALIZE_MOCK_PARAMETER
228
- });
229
-
230
- const mockSelect = jest.fn();
231
- component.addEventListener("select", mockSelect);
232
-
233
- const mockTileSelected = jest.fn();
234
- component.addEventListener("tileselected", mockTileSelected);
235
-
236
- const treeItem: TreeItem =
237
- component.shadowRoot.querySelector("dx-tree-item");
238
- treeItem.dispatchEvent(
239
- new CustomEvent("tileselected", MOCK_TILE_DETAIL)
240
- );
241
-
242
- expect(component.value).toBe(MOCK_TILE_DETAIL.detail.name);
243
-
244
- expect(TreeHandler).toBeCalledTimes(1);
245
- expect(mockInitialize).toBeCalledTimes(1);
246
- expect(mockGetNode).not.toBeCalled();
247
- expect(mockGetKeyByName).not.toBeCalled();
248
- expect(mockExpandToSelected).not.toBeCalled();
249
- expect(mockTileSelected).not.toBeCalled();
250
-
251
- expect(mockSelect).toBeCalledTimes(1);
252
-
253
- const singleCall: CustomEvent = mockSelect.mock.calls[0][0];
254
- expect(singleCall.detail).toEqual({
255
- name: MOCK_TILE_DETAIL.detail.name
256
- });
257
- expect(singleCall.composed).toBe(true);
258
- expect(singleCall.bubbles).toBe(true);
259
-
260
- return Promise.resolve().then(() => {
261
- expect(treeItem.selectedKey).toBe(MOCK_TILE_DETAIL.detail.key);
262
-
263
- return expect(component).toBeAccessible();
264
- });
265
- });
266
-
267
- it("should handle expandcollapse event", () => {
268
- const mockedResult = { isExpanded: false };
269
- mockGetNode.mockReturnValue(mockedResult);
270
-
271
- const component = renderComponent({
272
- treeRoot: INITIALIZE_MOCK_PARAMETER
273
- });
274
-
275
- const mockExpandCollapse = jest.fn();
276
- component.addEventListener("expandcollapse", mockExpandCollapse);
277
-
278
- component.shadowRoot
279
- .querySelector("dx-tree-item")
280
- .dispatchEvent(
281
- new CustomEvent("expandcollapse", MOCK_ICON_DETAIL)
282
- );
283
-
284
- expect(TreeHandler).toBeCalledTimes(1);
285
- expect(mockInitialize).toBeCalledTimes(1);
286
- expect(mockGetKeyByName).not.toBeCalled();
287
- expect(mockExpandToSelected).not.toBeCalled();
288
-
289
- expect(mockGetNode).toBeCalledTimes(1);
290
- expect(mockGetNode).toBeCalledWith(MOCK_ICON_DETAIL.detail.key);
291
- expect(mockedResult.isExpanded).toBe(true);
292
- expect(mockExpandCollapse).not.toBeCalled();
293
-
294
- return expect(component).toBeAccessible();
295
- });
296
-
297
- it("should do nothing if key is not found for expandcollapse event", () => {
298
- mockGetNode.mockReturnValue(undefined);
299
-
300
- const component = renderComponent({
301
- treeRoot: INITIALIZE_MOCK_PARAMETER
302
- });
303
- component.shadowRoot
304
- .querySelector("dx-tree-item")
305
- .dispatchEvent(
306
- new CustomEvent("expandcollapse", MOCK_ICON_DETAIL)
307
- );
308
-
309
- expect(TreeHandler).toBeCalledTimes(1);
310
- expect(mockInitialize).toBeCalledTimes(1);
311
- expect(mockGetKeyByName).not.toBeCalled();
312
- expect(mockExpandToSelected).not.toBeCalled();
313
-
314
- expect(mockGetNode).toBeCalledTimes(1);
315
- expect(mockGetNode).toBeCalledWith(MOCK_ICON_DETAIL.detail.key);
316
-
317
- return expect(component).toBeAccessible();
318
- });
319
-
320
- it("should handle register event from dx-tree-item", () => {
321
- const { key } = INITIALIZE_MOCK_RESULT;
322
- const detail = {
323
- key,
324
- setExpanded: jest.fn()
325
- };
326
- const component = renderComponent({
327
- treeRoot: INITIALIZE_MOCK_PARAMETER
328
- });
329
-
330
- const mockRegister = jest.fn();
331
- component.addEventListener("register", mockRegister);
332
-
333
- component.shadowRoot.querySelector("dx-tree-item").dispatchEvent(
334
- new CustomEvent("register", {
335
- detail,
336
- bubbles: true,
337
- composed: true
338
- })
339
- );
340
-
341
- expect(mockRegisterSetExpanded).toBeCalledTimes(1);
342
- expect(mockRegisterSetExpanded).toBeCalledWith(detail);
343
- expect(mockRegister).not.toBeCalled();
344
- });
345
- });
346
- });
@@ -1,194 +0,0 @@
1
- import { TreeHandler } from "../treeHandler";
2
- import { TreeNode, InternalTreeNode } from "typings/custom";
3
- import {
4
- SAMPLE_TREE_MULTIPLE_LEVELS,
5
- SAMPLE_TREE_ONE_LEVEL,
6
- SAMPLE_TREE_WITH_LINKS
7
- } from "./mockProps";
8
-
9
- const assertTreeNode = (
10
- internalTree: InternalTreeNode,
11
- tree: TreeNode,
12
- expectedLevel: number,
13
- expectedKey: string
14
- ) => {
15
- expect(internalTree.label).toBe(tree.label);
16
- expect(internalTree.name).toBe(tree.name);
17
- expect(internalTree.isExpanded).toBe(tree.isExpanded || false);
18
- expect(internalTree.link).toEqual(tree.link);
19
- expect(internalTree.level).toBe(expectedLevel);
20
- expect(internalTree.key).toBe(expectedKey);
21
-
22
- if (internalTree.children) {
23
- expect(internalTree.children).toHaveLength(tree.children!.length);
24
- internalTree.children.forEach((child, index) => {
25
- assertTreeNode(
26
- child as InternalTreeNode,
27
- tree.children![index],
28
- expectedLevel + 1,
29
- `${expectedKey}.${index}`
30
- );
31
- });
32
- }
33
- };
34
-
35
- const getAllKeys = (tree: InternalTreeNode): Array<string> => {
36
- if (!tree.children || tree.children.length === 0) {
37
- return [tree.key];
38
- }
39
- const keys: Array<string> = [];
40
- tree.children.forEach((child: InternalTreeNode) => {
41
- keys.push(...getAllKeys(child));
42
- });
43
-
44
- return keys;
45
- };
46
-
47
- describe("TreeHandler", () => {
48
- describe("initialize", () => {
49
- it("should convert a single level tree structure into the internal structure", () => {
50
- const treeHandler = new TreeHandler();
51
- const result = treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
52
- expect(result).toBeTruthy();
53
- assertTreeNode(result, SAMPLE_TREE_ONE_LEVEL, 0, "0");
54
- });
55
-
56
- it("should convert a multiple level tree structure into the internal structure", () => {
57
- const treeHandler = new TreeHandler();
58
- const result = treeHandler.initialize(SAMPLE_TREE_MULTIPLE_LEVELS);
59
- expect(result).toBeTruthy();
60
- assertTreeNode(result, SAMPLE_TREE_MULTIPLE_LEVELS, 0, "0");
61
- });
62
-
63
- it("should convert a tree structure with links into the internal structure", () => {
64
- const treeHandler = new TreeHandler();
65
- const result = treeHandler.initialize(SAMPLE_TREE_WITH_LINKS);
66
- expect(result).toBeTruthy();
67
- assertTreeNode(result, SAMPLE_TREE_WITH_LINKS, 0, "0");
68
- });
69
- });
70
-
71
- describe("getNode", () => {
72
- it("should return a node when key exist", () => {
73
- const treeHandler = new TreeHandler();
74
- const treeStructure = treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
75
- expect(treeHandler.getNode(treeStructure.key)).toEqual(
76
- treeStructure
77
- );
78
-
79
- treeStructure.children!.forEach((child) => {
80
- expect(
81
- treeHandler.getNode((child as InternalTreeNode).key)
82
- ).toEqual(child);
83
- });
84
- });
85
-
86
- it("should return undefined in case the key does not exist", () => {
87
- const treeHandler = new TreeHandler();
88
- treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
89
- expect(treeHandler.getNode("not_exist")).toBeUndefined();
90
- });
91
- });
92
-
93
- describe("getKeyByName", () => {
94
- it("should return the key value if name exist", () => {
95
- const treeHandler = new TreeHandler();
96
- const treeStructure = treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
97
- expect(treeHandler.getKeyByName(treeStructure.name)).toBe(
98
- treeStructure.key
99
- );
100
-
101
- treeStructure.children!.forEach((child) => {
102
- const { key, name } = child as InternalTreeNode;
103
- expect(treeHandler.getKeyByName(name)).toBe(key);
104
- });
105
- });
106
-
107
- it("should return undefined in case the name does not exist", () => {
108
- const treeHandler = new TreeHandler();
109
- treeHandler.initialize(SAMPLE_TREE_ONE_LEVEL);
110
- expect(treeHandler.getKeyByName("not_exist")).toBeUndefined();
111
- });
112
- });
113
-
114
- describe("expandToSelected", () => {
115
- it("should mark a node as isExpanded recursively until the root", () => {
116
- const expectedKeys = ["0.2.0", "0.2", "0"];
117
- const treeHandler = new TreeHandler();
118
- const treeStructure = treeHandler.initialize(
119
- SAMPLE_TREE_MULTIPLE_LEVELS
120
- );
121
- treeHandler.expandToSelected(expectedKeys[0]);
122
-
123
- expectedKeys.forEach((expectedKey) =>
124
- expect(treeHandler.getNode(expectedKey)!.isExpanded).toBe(true)
125
- );
126
- getAllKeys(treeStructure)
127
- .filter((key) =>
128
- expectedKeys.some((expectedKey) => expectedKey !== key)
129
- )
130
- .forEach((key) =>
131
- expect(treeHandler.getNode(key)!.isExpanded).toBeFalsy()
132
- );
133
- });
134
-
135
- it("should not mark any node as isExpanded if no key is provided", () => {
136
- const treeHandler = new TreeHandler();
137
- const treeStructure = treeHandler.initialize(
138
- SAMPLE_TREE_MULTIPLE_LEVELS
139
- );
140
- treeHandler.expandToSelected();
141
- getAllKeys(treeStructure).forEach((key) =>
142
- expect(treeHandler.getNode(key)!.isExpanded).toBeFalsy()
143
- );
144
- });
145
-
146
- it("should not mark any node as isExpanded if provided key does not exist", () => {
147
- const treeHandler = new TreeHandler();
148
- const treeStructure = treeHandler.initialize(
149
- SAMPLE_TREE_MULTIPLE_LEVELS
150
- );
151
- treeHandler.expandToSelected("not_exist");
152
- getAllKeys(treeStructure).forEach((key) =>
153
- expect(treeHandler.getNode(key)!.isExpanded).toBeFalsy()
154
- );
155
- });
156
- });
157
-
158
- describe("registerSetExpanded", () => {
159
- it("should register a setExpanded callback if key is valid", () => {
160
- const treeHandler = new TreeHandler();
161
- const treeStructure = treeHandler.initialize(
162
- SAMPLE_TREE_MULTIPLE_LEVELS
163
- );
164
-
165
- const { key } = treeStructure;
166
- const mockSetExpanded = jest.fn();
167
-
168
- treeHandler.registerSetExpanded({
169
- key,
170
- setExpanded: mockSetExpanded
171
- });
172
-
173
- treeHandler.expandToSelected(key);
174
- expect(mockSetExpanded).toBeCalledTimes(1);
175
- expect(mockSetExpanded).toBeCalledWith(true);
176
- });
177
-
178
- it("should not register a not valid key", () => {
179
- const treeHandler = new TreeHandler();
180
- treeHandler.initialize(SAMPLE_TREE_MULTIPLE_LEVELS);
181
-
182
- const key = "not_valid";
183
- const mockSetExpanded = jest.fn();
184
-
185
- treeHandler.registerSetExpanded({
186
- key,
187
- setExpanded: mockSetExpanded
188
- });
189
-
190
- treeHandler.expandToSelected(key);
191
- expect(mockSetExpanded).not.toBeCalled();
192
- });
193
- });
194
- });
@@ -1,65 +0,0 @@
1
- import {
2
- SAMPLE_TREE_MULTIPLE_LEVELS,
3
- SAMPLE_TREE_ONE_LEVEL,
4
- SAMPLE_TREE_WITH_BADGES,
5
- SAMPLE_TREE_WITH_LINKS
6
- } from "./__tests__/mockProps";
7
-
8
- import { html } from "lit-html";
9
-
10
- export default {
11
- title: "dx/dx-tree",
12
- component: "dx-tree"
13
- };
14
-
15
- // prettier-ignore
16
- const styles = (addStyles: string = "") => html `
17
- <style>
18
- .tree {
19
- max-width: 300px;
20
- background-color: var(--dx-g-gray-95);
21
- ${addStyles}
22
- }
23
- </style>`;
24
-
25
- const oneLevelTreeRoot = JSON.stringify(SAMPLE_TREE_ONE_LEVEL);
26
- const multipleLevelsTreeRoot = JSON.stringify(SAMPLE_TREE_MULTIPLE_LEVELS);
27
- const treeLinksTreeRoot = JSON.stringify(SAMPLE_TREE_WITH_LINKS);
28
- const treeWithBadges = JSON.stringify(SAMPLE_TREE_WITH_BADGES);
29
-
30
- // prettier-ignore
31
- export const Base = () => html` ${styles()}
32
- <dx-tree
33
- class="tree"
34
- tree-root="${oneLevelTreeRoot}"
35
- ></dx-tree>`;
36
-
37
- // prettier-ignore
38
- export const MultilevelWithValue = () => html` ${styles()}
39
- <dx-tree
40
- class="tree"
41
- value="scenario"
42
- tree-root="${multipleLevelsTreeRoot}"
43
- ></dx-tree>`;
44
-
45
- // prettier-ignore
46
- export const MultipleLevels = () => html` ${styles()}
47
- <dx-tree
48
- class="tree"
49
- tree-root="${multipleLevelsTreeRoot}"
50
- ></dx-tree>`;
51
-
52
- // prettier-ignore
53
- export const WithLinks = () => html` ${styles()}
54
- <dx-tree
55
- class="tree"
56
- tree-root="${treeLinksTreeRoot}"
57
- ></dx-tree>`;
58
-
59
- MultipleLevels.story = { parameters: { docs: { disable: true } } };
60
- WithLinks.story = { parameters: { docs: { disable: true } } };
61
-
62
- export const WithMethodBadges = () => html`
63
- ${styles()}
64
- <dx-tree class="tree" tree-root="${treeWithBadges}"></dx-tree>
65
- `;
@@ -1,46 +0,0 @@
1
- import { InternalTreeNode } from "typings/custom";
2
-
3
- export const SINGLE_NODE: InternalTreeNode = {
4
- label: "Test label",
5
- name: "test-name",
6
- key: "0.1",
7
- level: 1
8
- };
9
-
10
- export const NODE_WITH_CHILDREN: InternalTreeNode = {
11
- label: "Test label",
12
- name: "test-name",
13
- key: "0.1",
14
- level: 1,
15
- children: [
16
- {
17
- label: "First Child",
18
- name: "first-child",
19
- key: "0.1.0",
20
- level: 2
21
- },
22
- {
23
- label: "Second Child",
24
- name: "second-child",
25
- key: "0.1.1",
26
- level: 2
27
- },
28
- {
29
- label: "Third Child",
30
- name: "third-child",
31
- key: "0.1.2",
32
- level: 2
33
- }
34
- ]
35
- };
36
-
37
- export const SINGLE_NODE_WITH_LINK: InternalTreeNode = {
38
- label: "Test label",
39
- name: "test-name",
40
- key: "0.1",
41
- level: 1,
42
- link: {
43
- href: "https://salesforce.com",
44
- target: "_parent"
45
- }
46
- };