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

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 (226) hide show
  1. package/lwc.config.json +1 -1
  2. package/package.json +1 -8
  3. package/src/modules/dx/cardBlogPostProvider/cardBlogPostProvider.ts +1 -1
  4. package/src/modules/dx/cardCallout/cardCallout.ts +1 -1
  5. package/src/modules/dx/cardContent/cardContent.ts +2 -2
  6. package/src/modules/dx/cardDocs/cardDocs.ts +1 -1
  7. package/src/modules/dx/cardExpanded/cardExpanded.ts +1 -1
  8. package/src/modules/dx/cardMinimal/cardMinimal.ts +1 -1
  9. package/src/modules/dx/cardNews/cardNews.ts +1 -1
  10. package/src/modules/dx/cardPodcastEpisodeProvider/cardPodcastEpisodeProvider.ts +1 -1
  11. package/src/modules/dx/cardSmall/cardSmall.ts +1 -1
  12. package/src/modules/dx/codeBlock/codeBlock.ts +1 -1
  13. package/src/modules/dx/dropdown/dropdown.ts +1 -1
  14. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +1 -1
  15. package/src/modules/dx/header/header.ts +1 -1
  16. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.ts +1 -1
  17. package/src/modules/dx/headerSearch/headerSearch.ts +1 -1
  18. package/src/modules/dx/icon/icon.ts +1 -1
  19. package/src/modules/dx/iconBadge/iconBadge.ts +1 -1
  20. package/src/modules/dx/input/input.ts +1 -1
  21. package/src/modules/dx/popover/popover.ts +1 -1
  22. package/src/modules/dx/section/section.ts +1 -1
  23. package/src/modules/dx/sidebar/sidebar.ts +1 -1
  24. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +2 -2
  25. package/src/modules/dx/typeBadge/typeBadge.ts +1 -1
  26. package/src/modules/utils/highlight/highlight.ts +1 -1
  27. package/.DS_Store +0 -0
  28. package/src/.DS_Store +0 -0
  29. package/src/modules/.DS_Store +0 -0
  30. package/src/modules/dx/.DS_Store +0 -0
  31. package/src/modules/dx/banner/__tests__/banner.test.ts +0 -33
  32. package/src/modules/dx/brandThemeProvider/__tests__/brandThemeProvider.test.ts +0 -49
  33. package/src/modules/dx/brandThemeProvider/brandThemeProvider.stories.ts +0 -321
  34. package/src/modules/dx/breadcrumbs/__tests__/breadcrumbs.test.ts +0 -140
  35. package/src/modules/dx/breadcrumbs/__tests__/mockProps.ts +0 -28
  36. package/src/modules/dx/breadcrumbs/breadcrumbs.stories.ts +0 -39
  37. package/src/modules/dx/button/__tests__/button.test.ts +0 -107
  38. package/src/modules/dx/button/button.stories.ts +0 -150
  39. package/src/modules/dx/cardBlogPost/__tests__/cardBlogPost.test.ts +0 -26
  40. package/src/modules/dx/cardBlogPost/__tests__/mockProps.ts +0 -12
  41. package/src/modules/dx/cardBlogPost/cardBlogPost.stories.ts +0 -164
  42. package/src/modules/dx/cardBlogPostProvider/__tests__/cardBlogPostProvider.test.ts +0 -34
  43. package/src/modules/dx/cardBlogPostProvider/__tests__/mockWordpressPosts.ts +0 -44
  44. package/src/modules/dx/cardCallout/__tests__/cardCallout.test.ts +0 -20
  45. package/src/modules/dx/cardCallout/__tests__/mockProps.ts +0 -7
  46. package/src/modules/dx/cardCallout/cardCallout.stories.ts +0 -33
  47. package/src/modules/dx/cardContent/__tests__/cardContent.test.ts +0 -100
  48. package/src/modules/dx/cardContent/__tests__/mockProps.ts +0 -13
  49. package/src/modules/dx/cardContent/cardContent.stories.ts +0 -127
  50. package/src/modules/dx/cardDemo/cardDemo.stories.ts +0 -115
  51. package/src/modules/dx/cardDocs/__tests__/cardDocs.test.ts +0 -48
  52. package/src/modules/dx/cardDocs/__tests__/mockProps.ts +0 -9
  53. package/src/modules/dx/cardDocs/cardDocs.stories.ts +0 -299
  54. package/src/modules/dx/cardEvent/__tests__/cardEvent.test.ts +0 -95
  55. package/src/modules/dx/cardEvent/__tests__/mockProps.ts +0 -10
  56. package/src/modules/dx/cardEvent/cardEvent.stories.ts +0 -153
  57. package/src/modules/dx/cardExpanded/__tests__/cardExpanded.test.ts +0 -193
  58. package/src/modules/dx/cardExpanded/__tests__/mockProps.ts +0 -21
  59. package/src/modules/dx/cardExpanded/cardExpanded.stories.ts +0 -59
  60. package/src/modules/dx/cardGrid/__tests__/cardMockProps.ts +0 -431
  61. package/src/modules/dx/cardGrid/__tests__/mockProps.ts +0 -15
  62. package/src/modules/dx/cardGrid/cardGrid.stories.ts +0 -111
  63. package/src/modules/dx/cardMinimal/__tests__/cardMinimal.test.ts +0 -87
  64. package/src/modules/dx/cardMinimal/__tests__/mockProps.ts +0 -10
  65. package/src/modules/dx/cardMinimal/cardMinimal.stories.ts +0 -32
  66. package/src/modules/dx/cardNews/__tests__/cardNews.test.ts +0 -58
  67. package/src/modules/dx/cardNews/__tests__/mockProps.ts +0 -7
  68. package/src/modules/dx/cardNews/cardNews.stories.ts +0 -115
  69. package/src/modules/dx/cardPodcastEpisode/__tests__/cardPodcastEpisode.test.ts +0 -68
  70. package/src/modules/dx/cardPodcastEpisode/cardPodcastEpisode.stories.ts +0 -31
  71. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/cardPodcastEpisodeProvider.test.ts +0 -36
  72. package/src/modules/dx/cardPodcastEpisodeProvider/__tests__/mockWordpressEpisodes.ts +0 -50
  73. package/src/modules/dx/cardSmall/__tests__/cardSmall.test.ts +0 -66
  74. package/src/modules/dx/cardSmall/__tests__/mockProps.ts +0 -8
  75. package/src/modules/dx/cardSmall/cardSmall.stories.ts +0 -166
  76. package/src/modules/dx/cardTitle/__tests__/cardTitle.test.ts +0 -46
  77. package/src/modules/dx/cardTrailheadModule/__tests__/cardTrailheadModule.test.ts +0 -18
  78. package/src/modules/dx/cardTrailheadModule/__tests__/mockProps.ts +0 -11
  79. package/src/modules/dx/cardTrailheadModule/cardTrailheadModule.stories.ts +0 -122
  80. package/src/modules/dx/cardVideoPreview/__tests__/cardVideoPreview.test.ts +0 -22
  81. package/src/modules/dx/cardVideoPreview/__tests__/mockProps.ts +0 -11
  82. package/src/modules/dx/cardVideoPreview/cardVideoPreview.stories.ts +0 -147
  83. package/src/modules/dx/checkbox/__tests__/checkbox.test.ts +0 -85
  84. package/src/modules/dx/checkbox/__tests__/mockProps.ts +0 -5
  85. package/src/modules/dx/checkbox/checkbox.stories.ts +0 -38
  86. package/src/modules/dx/checkboxGroup/__tests__/checkboxGroup.test.ts +0 -80
  87. package/src/modules/dx/checkboxGroup/__tests__/mockProps.ts +0 -14
  88. package/src/modules/dx/checkboxGroup/checkboxGroup.stories.ts +0 -33
  89. package/src/modules/dx/codeBlock/__tests__/codeBlock.test.ts +0 -238
  90. package/src/modules/dx/codeBlock/__tests__/mockProps.ts +0 -160
  91. package/src/modules/dx/codeBlock/codeBlock.stories.ts +0 -143
  92. package/src/modules/dx/dropdown/__tests__/dropdown.test.ts +0 -165
  93. package/src/modules/dx/dropdown/__tests__/mockNestedOptions.ts +0 -96
  94. package/src/modules/dx/dropdown/__tests__/mockOptions.ts +0 -10
  95. package/src/modules/dx/dropdown/__tests__/mockProps.ts +0 -6
  96. package/src/modules/dx/dropdown/dropdown.stories.ts +0 -89
  97. package/src/modules/dx/dropdownOption/__tests__/dropdownOption.test.ts +0 -112
  98. package/src/modules/dx/dropdownOption/__tests__/mockProps.ts +0 -20
  99. package/src/modules/dx/emptyState/__tests__/emptyState.test.ts +0 -52
  100. package/src/modules/dx/emptyState/__tests__/mockProps.ts +0 -4
  101. package/src/modules/dx/emptyState/emptyState.stories.ts +0 -45
  102. package/src/modules/dx/feature/__tests__/feature.test.ts +0 -51
  103. package/src/modules/dx/feature/__tests__/mockProps.ts +0 -8
  104. package/src/modules/dx/featureGrid/__tests__/featureGrid.test.ts +0 -21
  105. package/src/modules/dx/featureGrid/featureGrid.stories.ts +0 -120
  106. package/src/modules/dx/featuredContentHeader/__tests__/featuredContentHeader.test.ts +0 -178
  107. package/src/modules/dx/featuredContentHeader/__tests__/mockProps.ts +0 -73
  108. package/src/modules/dx/featuredContentHeader/featuredContentHeader.stories.ts +0 -153
  109. package/src/modules/dx/featuresList/__tests__/featuresList.test.ts +0 -43
  110. package/src/modules/dx/featuresList/__tests__/mockProps.ts +0 -17
  111. package/src/modules/dx/featuresList/featuresList.stories.ts +0 -30
  112. package/src/modules/dx/footer/__tests__/footer.test.ts +0 -147
  113. package/src/modules/dx/footer/__tests__/mockLocales.ts +0 -7
  114. package/src/modules/dx/footer/footer.stories.ts +0 -88
  115. package/src/modules/dx/footerOption/__tests__/footerOption.test.ts +0 -34
  116. package/src/modules/dx/footerOption/__tests__/mockProps.ts +0 -7
  117. package/src/modules/dx/formattedDateTime/__tests__/formattedDateTime.test.ts +0 -25
  118. package/src/modules/dx/formattedDateTime/__tests__/mockProps.ts +0 -13
  119. package/src/modules/dx/formattedDateTime/formattedDateTime.stories.ts +0 -103
  120. package/src/modules/dx/grid/__tests__/grid.test.ts +0 -32
  121. package/src/modules/dx/grid/grid.stories.ts +0 -134
  122. package/src/modules/dx/groupBio/__tests__/groupBio.test.ts +0 -82
  123. package/src/modules/dx/groupBio/__tests__/mockProps.ts +0 -15
  124. package/src/modules/dx/groupBio/groupBio.stories.ts +0 -66
  125. package/src/modules/dx/groupText/__tests__/groupText.test.ts +0 -69
  126. package/src/modules/dx/groupText/__tests__/mockProps.ts +0 -35
  127. package/src/modules/dx/groupText/groupText.stories.ts +0 -81
  128. package/src/modules/dx/header/__tests__/header.test.ts +0 -236
  129. package/src/modules/dx/header/__tests__/mockNavArchitects.ts +0 -169
  130. package/src/modules/dx/header/__tests__/mockNavDevelopers.ts +0 -419
  131. package/src/modules/dx/header/__tests__/mockNavs.ts +0 -115
  132. package/src/modules/dx/header/__tests__/mockProps.ts +0 -164
  133. package/src/modules/dx/header/header.stories.ts +0 -172
  134. package/src/modules/dx/headerMobileNavMenu/__tests__/headerMobileNavMenu.test.ts +0 -123
  135. package/src/modules/dx/headerMobileNavMenuOption/__tests__/headerMobileNavMenuOption.test.ts +0 -38
  136. package/src/modules/dx/headerNav/__tests__/headerNav.test.ts +0 -49
  137. package/src/modules/dx/headerSearch/__tests__/headerSearch.test.ts +0 -182
  138. package/src/modules/dx/headerSearch/__tests__/mockData.ts +0 -11
  139. package/src/modules/dx/headerSearch/__tests__/mockProps.ts +0 -6
  140. package/src/modules/dx/helmet/__tests__/helmet.test.ts +0 -52
  141. package/src/modules/dx/helmet/helmet.stories.ts +0 -53
  142. package/src/modules/dx/hr/__tests__/hr.test.ts +0 -53
  143. package/src/modules/dx/hr/__tests__/mockProps.ts +0 -16
  144. package/src/modules/dx/hr/hr.stories.ts +0 -50
  145. package/src/modules/dx/icon/__tests__/icon.test.ts +0 -54
  146. package/src/modules/dx/icon/icon.stories.ts +0 -100
  147. package/src/modules/dx/iconBadge/__tests__/iconBadge.test.ts +0 -17
  148. package/src/modules/dx/iconBadge/iconBadge.stories.ts +0 -32
  149. package/src/modules/dx/imageAndLabel/__tests__/imageAndLabel.test.ts +0 -39
  150. package/src/modules/dx/imageAndLabel/__tests__/mockProps.ts +0 -6
  151. package/src/modules/dx/imageAndLabel/imageAndLabel.stories.ts +0 -48
  152. package/src/modules/dx/input/__tests__/input.test.ts +0 -357
  153. package/src/modules/dx/input/input.stories.ts +0 -102
  154. package/src/modules/dx/instrumentation/__tests__/instrumentation.test.ts +0 -86
  155. package/src/modules/dx/interactiveImage/__tests__/interactiveImage.test.ts +0 -83
  156. package/src/modules/dx/interactiveImage/__tests__/mockProps.ts +0 -39
  157. package/src/modules/dx/interactiveImage/interactiveImage.stories.ts +0 -31
  158. package/src/modules/dx/lazy/__tests__/lazy.test.ts +0 -43
  159. package/src/modules/dx/lazy/lazy.stories.ts +0 -132
  160. package/src/modules/dx/pagination/__tests__/pagination.test.ts +0 -121
  161. package/src/modules/dx/pagination/pagination.stories.ts +0 -88
  162. package/src/modules/dx/podcastHost/__tests__/mockProps.ts +0 -8
  163. package/src/modules/dx/podcastHost/__tests__/podcastHost.test.ts +0 -21
  164. package/src/modules/dx/podcastHost/podcastHost.stories.ts +0 -17
  165. package/src/modules/dx/podcastPlayer/__tests__/podcastPlayer.test.ts +0 -20
  166. package/src/modules/dx/podcastPlayer/podcastPlayer.stories.ts +0 -13
  167. package/src/modules/dx/podcastSubscription/__tests__/podcastSubscription.test.ts +0 -16
  168. package/src/modules/dx/podcastSubscription/podcastSubscription.stories.ts +0 -23
  169. package/src/modules/dx/popover/__tests__/mockProps.ts +0 -8
  170. package/src/modules/dx/popover/__tests__/popover.test.ts +0 -313
  171. package/src/modules/dx/popover/popover.stories.ts +0 -82
  172. package/src/modules/dx/radioGroup/__tests__/mockProps.ts +0 -12
  173. package/src/modules/dx/radioGroup/__tests__/radioGroup.test.ts +0 -42
  174. package/src/modules/dx/radioGroup/radioGroup.stories.ts +0 -25
  175. package/src/modules/dx/relativeDateTime/__tests__/mockProps.ts +0 -55
  176. package/src/modules/dx/relativeDateTime/__tests__/relativeDateTime.test.ts +0 -52
  177. package/src/modules/dx/relativeDateTime/relativeDateTime.stories.ts +0 -83
  178. package/src/modules/dx/searchResults/searchResults.stories.ts +0 -36
  179. package/src/modules/dx/section/__tests__/section.test.ts +0 -17
  180. package/src/modules/dx/section/section.stories.ts +0 -381
  181. package/src/modules/dx/sectionSignup/__tests__/sectionSignup.test.ts +0 -66
  182. package/src/modules/dx/sectionSignup/sectionSignup.stories.ts +0 -49
  183. package/src/modules/dx/select/select.stories.ts +0 -59
  184. package/src/modules/dx/sidebar/__tests__/mockProps.ts +0 -181
  185. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEmptyEvent.ts +0 -6
  186. package/src/modules/dx/sidebar/__tests__/mockSearchChangeEvent.ts +0 -527
  187. package/src/modules/dx/sidebar/__tests__/sidebar.test.ts +0 -568
  188. package/src/modules/dx/sidebar/sidebar.stories.ts +0 -188
  189. package/src/modules/dx/sidebarOld/__tests__/mockProps.ts +0 -178
  190. package/src/modules/dx/sidebarOld/__tests__/sidebarOld.test.ts +0 -570
  191. package/src/modules/dx/sidebarOld/sidebarOld.stories.ts +0 -139
  192. package/src/modules/dx/sidebarSearch/__tests__/mockPreloadedState.ts +0 -1686
  193. package/src/modules/dx/sidebarSearch/__tests__/sidebarSearch.test.ts +0 -175
  194. package/src/modules/dx/sidebarSearchResult/__tests__/sidebarSearchResult.test.ts +0 -96
  195. package/src/modules/dx/slackCta/__tests__/slackCta.test.ts +0 -48
  196. package/src/modules/dx/slackCta/slackCta.stories.ts +0 -25
  197. package/src/modules/dx/socials/__tests__/socials.test.ts +0 -114
  198. package/src/modules/dx/socials/socials.stories.ts +0 -24
  199. package/src/modules/dx/spinner/__tests__/spinner.test.ts +0 -37
  200. package/src/modules/dx/spinner/spinner.stories.ts +0 -69
  201. package/src/modules/dx/tab/__tests__/tab.test.ts +0 -129
  202. package/src/modules/dx/tab/tab.stories.ts +0 -57
  203. package/src/modules/dx/toc/__tests__/mockProps.ts +0 -28
  204. package/src/modules/dx/toc/__tests__/toc.test.ts +0 -109
  205. package/src/modules/dx/toc/toc.stories.ts +0 -26
  206. package/src/modules/dx/tooltip/__tests__/tooltip.test.ts +0 -22
  207. package/src/modules/dx/tooltip/tooltip.stories.ts +0 -46
  208. package/src/modules/dx/topics/__tests__/mockProps.ts +0 -3
  209. package/src/modules/dx/topics/__tests__/topics.test.ts +0 -31
  210. package/src/modules/dx/tree/__tests__/mockProps.ts +0 -215
  211. package/src/modules/dx/tree/__tests__/tree.test.ts +0 -346
  212. package/src/modules/dx/tree/__tests__/treeHandler.test.ts +0 -194
  213. package/src/modules/dx/tree/tree.stories.ts +0 -65
  214. package/src/modules/dx/treeItem/__tests__/mockProps.ts +0 -46
  215. package/src/modules/dx/treeItem/__tests__/treeItem.test.ts +0 -377
  216. package/src/modules/dx/treeTile/__tests__/mockProps.ts +0 -16
  217. package/src/modules/dx/treeTile/__tests__/treeTile.test.ts +0 -168
  218. package/src/modules/dx/typeBadge/__tests__/typeBadge.test.ts +0 -77
  219. package/src/modules/dx/typeBadge/typeBadge.stories.ts +0 -114
  220. package/src/modules/dx/typeBadgeGroup/__tests__/mockProps.ts +0 -11
  221. package/src/modules/dx/typeBadgeGroup/__tests__/typeBadgeGroup.test.ts +0 -72
  222. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.stories.ts +0 -19
  223. package/src/modules/utils/highlight/__tests__/highlight.test.ts +0 -108
  224. package/src/modules/utils/highlight/__tests__/mockProps.ts +0 -45
  225. package/src/modules/utils/recentSearches/__tests__/recentSearches.test.ts +0 -83
  226. package/src/modules/utils/wordpress/__tests__/wordpress.test.ts +0 -15
@@ -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
- };