@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,377 +0,0 @@
1
- import {
2
- SINGLE_NODE,
3
- NODE_WITH_CHILDREN,
4
- SINGLE_NODE_WITH_LINK
5
- } from "./mockProps";
6
- import { track } from "dx/instrumentation";
7
- import TreeItem from "dx/treeItem";
8
- import TreeTile from "dx/treeTile";
9
- import { createRenderComponent } from "utils-internal/tests";
10
-
11
- const TAG = "dx-tree-item";
12
- const renderComponent = createRenderComponent(TAG, TreeItem);
13
-
14
- jest.mock("dx/instrumentation");
15
-
16
- const GTM_EVENT_NAME = "custEv_leftNavLinkClick";
17
-
18
- const assertTile = (tile: TreeTile, properties: { [key: string]: any }) =>
19
- Object.keys(properties).forEach((key) =>
20
- expect(tile).toHaveProperty(key, properties[key])
21
- );
22
-
23
- describe(TAG, () => {
24
- describe("render", () => {
25
- it("should render as the root with children collapsed", () => {
26
- const component = renderComponent({
27
- treeNode: NODE_WITH_CHILDREN,
28
- isRoot: true
29
- });
30
-
31
- const link = component.shadowRoot.querySelector("a");
32
- expect(link).not.toBeNull();
33
-
34
- const tile: TreeTile =
35
- component.shadowRoot.querySelector("a > dx-tree-tile");
36
- expect(tile).not.toBeNull();
37
- assertTile(tile, {
38
- isRoot: true,
39
- treeNode: NODE_WITH_CHILDREN,
40
- isExpanded: false,
41
- hasChildren: true,
42
- isSelected: false
43
- });
44
-
45
- const childTreeItem =
46
- component.shadowRoot.querySelector("dx-tree-item");
47
- expect(childTreeItem).toBeNull();
48
-
49
- return expect(component).toBeAccessible();
50
- });
51
-
52
- it("should render the children when it's expanded", () => {
53
- const treeNode = { ...NODE_WITH_CHILDREN, isExpanded: true };
54
- const component = renderComponent({
55
- treeNode
56
- });
57
-
58
- const tile: TreeTile =
59
- component.shadowRoot.querySelector("a > dx-tree-tile");
60
- expect(tile).not.toBeNull();
61
- assertTile(tile, {
62
- isRoot: false,
63
- treeNode,
64
- isExpanded: true,
65
- hasChildren: true,
66
- isSelected: false
67
- });
68
-
69
- const children: Array<TreeItem> =
70
- component.shadowRoot.querySelectorAll("dx-tree-item");
71
- expect(children).toHaveLength(NODE_WITH_CHILDREN.children!.length);
72
-
73
- children.forEach((child, index) => {
74
- expect(child.treeNode).toEqual(
75
- NODE_WITH_CHILDREN.children![index]
76
- );
77
- });
78
-
79
- return expect(component).toBeAccessible();
80
- });
81
-
82
- it("should render as a selected link", () => {
83
- const component = renderComponent({
84
- treeNode: SINGLE_NODE_WITH_LINK,
85
- selectedKey: SINGLE_NODE_WITH_LINK.key
86
- });
87
-
88
- const link: HTMLElement = component.shadowRoot.querySelector("a");
89
- expect(link).not.toBeNull();
90
-
91
- expect(link.getAttribute("href")).toBe(
92
- SINGLE_NODE_WITH_LINK.link!.href
93
- );
94
- expect(link.getAttribute("target")).toBe(
95
- SINGLE_NODE_WITH_LINK.link!.target
96
- );
97
-
98
- const tile: TreeTile =
99
- component.shadowRoot.querySelector("a > dx-tree-tile");
100
- expect(tile).not.toBeNull();
101
- assertTile(tile, {
102
- isRoot: false,
103
- treeNode: SINGLE_NODE_WITH_LINK,
104
- isExpanded: false,
105
- hasChildren: false,
106
- isSelected: true
107
- });
108
-
109
- const anyChild: TreeItem =
110
- component.shadowRoot.querySelector("dx-tree-item");
111
- expect(anyChild).toBeNull();
112
-
113
- return expect(component).toBeAccessible();
114
- });
115
-
116
- it("should render as a link with default target", () => {
117
- const expectedPath = "/path";
118
- const component = renderComponent({
119
- treeNode: {
120
- ...SINGLE_NODE_WITH_LINK,
121
- link: { href: expectedPath }
122
- }
123
- });
124
-
125
- const link: HTMLElement = component.shadowRoot.querySelector("a");
126
- expect(link).not.toBeNull();
127
-
128
- expect(link.getAttribute("href")).toBe(expectedPath);
129
- expect(link.getAttribute("target")).toBe("_self");
130
-
131
- return expect(component).toBeAccessible();
132
- });
133
-
134
- it("should not render as a selected node if key does not match", () => {
135
- const component = renderComponent({
136
- treeNode: SINGLE_NODE_WITH_LINK,
137
- selectedKey: "not_this"
138
- });
139
-
140
- const tile: TreeTile =
141
- component.shadowRoot.querySelector("a > dx-tree-tile");
142
- expect(tile).not.toBeNull();
143
- assertTile(tile, {
144
- isRoot: false,
145
- treeNode: SINGLE_NODE_WITH_LINK,
146
- isExpanded: false,
147
- hasChildren: false,
148
- isSelected: false
149
- });
150
-
151
- return expect(component).toBeAccessible();
152
- });
153
- });
154
-
155
- describe("interactions", () => {
156
- const mockExpandCollapse = jest.fn();
157
- const mockTileSelected = jest.fn();
158
-
159
- it("should render the children when the dx-tree-tile emits iconclick", () => {
160
- const component = renderComponent({
161
- treeNode: NODE_WITH_CHILDREN
162
- });
163
-
164
- component.addEventListener("expandcollapse", mockExpandCollapse);
165
- component.addEventListener("tileselected", mockTileSelected);
166
-
167
- const anyChild: TreeItem =
168
- component.shadowRoot.querySelector("dx-tree-item");
169
- expect(anyChild).toBeNull();
170
-
171
- const tile: HTMLElement =
172
- component.shadowRoot.querySelector("dx-tree-tile")!;
173
- expect(tile).toHaveProperty("isExpanded", false);
174
- tile.dispatchEvent(new CustomEvent("iconclick"));
175
-
176
- expect(track).toBeCalledTimes(1);
177
- expect(track).toBeCalledWith(tile, GTM_EVENT_NAME, {
178
- clickText: NODE_WITH_CHILDREN.label,
179
- sideNavAction: "expand"
180
- });
181
-
182
- return Promise.resolve().then(() => {
183
- const children: Array<TreeItem> =
184
- component.shadowRoot.querySelectorAll("dx-tree-item");
185
- expect(children).toHaveLength(
186
- NODE_WITH_CHILDREN.children!.length
187
- );
188
-
189
- expect(tile).toHaveProperty("isExpanded", true);
190
-
191
- expect(mockExpandCollapse).toBeCalledTimes(1);
192
- expect(mockTileSelected).not.toBeCalled();
193
-
194
- const [singleCall] = mockExpandCollapse.mock.calls[0];
195
- expect(singleCall.detail).toEqual({
196
- key: NODE_WITH_CHILDREN.key
197
- });
198
- expect(singleCall.composed).toBe(true);
199
- expect(singleCall.bubbles).toBe(true);
200
-
201
- return expect(component).toBeAccessible();
202
- });
203
- });
204
-
205
- it("should hide the children when the tile is expanded and dx-tree-tile emits iconclick", () => {
206
- const component = renderComponent({
207
- treeNode: { ...NODE_WITH_CHILDREN, isExpanded: true }
208
- });
209
-
210
- component.addEventListener("expandcollapse", mockExpandCollapse);
211
- component.addEventListener("tileselected", mockTileSelected);
212
-
213
- const tile: HTMLElement =
214
- component.shadowRoot.querySelector("dx-tree-tile");
215
- expect(tile).toHaveProperty("isExpanded", true);
216
-
217
- const children: Array<TreeItem> =
218
- component.shadowRoot.querySelectorAll("dx-tree-item");
219
- expect(children).toHaveLength(NODE_WITH_CHILDREN.children!.length);
220
-
221
- tile.dispatchEvent(new CustomEvent("iconclick"));
222
-
223
- expect(track).toBeCalledTimes(1);
224
- expect(track).toBeCalledWith(tile, GTM_EVENT_NAME, {
225
- clickText: NODE_WITH_CHILDREN.label,
226
- sideNavAction: "collapse"
227
- });
228
-
229
- return Promise.resolve().then(() => {
230
- expect(tile).toHaveProperty("isExpanded", false);
231
-
232
- const anyChild: TreeItem =
233
- component.shadowRoot.querySelector("dx-tree-item");
234
- expect(anyChild).toBeNull();
235
-
236
- expect(mockExpandCollapse).toBeCalledTimes(1);
237
- expect(mockTileSelected).not.toBeCalled();
238
-
239
- const [singleCall] = mockExpandCollapse.mock.calls[0];
240
- expect(singleCall.detail).toEqual({
241
- key: NODE_WITH_CHILDREN.key
242
- });
243
- expect(singleCall.composed).toBe(true);
244
- expect(singleCall.bubbles).toBe(true);
245
-
246
- return expect(component).toBeAccessible();
247
- });
248
- });
249
-
250
- it("should dispatch selectedtile and expandcollapse event as it has children", () => {
251
- const component = renderComponent({
252
- treeNode: NODE_WITH_CHILDREN
253
- });
254
-
255
- component.addEventListener("tileselected", mockTileSelected);
256
- component.addEventListener("expandcollapse", mockExpandCollapse);
257
-
258
- const link: HTMLElement = component.shadowRoot.querySelector("a");
259
- expect(link).not.toBeNull();
260
- link.click();
261
-
262
- expect(track).toBeCalledTimes(1);
263
- expect(track).toBeCalledWith(link, GTM_EVENT_NAME, {
264
- clickText: NODE_WITH_CHILDREN.label,
265
- sideNavAction: "click"
266
- });
267
-
268
- return Promise.resolve().then(() => {
269
- expect(mockExpandCollapse).toBeCalledTimes(1);
270
- const [expandCall] = mockExpandCollapse.mock.calls[0];
271
- expect(expandCall.detail).toEqual({
272
- key: NODE_WITH_CHILDREN.key
273
- });
274
- expect(expandCall.composed).toBe(true);
275
- expect(expandCall.bubbles).toBe(true);
276
-
277
- expect(mockTileSelected).toBeCalledTimes(1);
278
- const [tileCall] = mockTileSelected.mock.calls[0];
279
- expect(tileCall.detail).toEqual({
280
- name: NODE_WITH_CHILDREN.name,
281
- key: NODE_WITH_CHILDREN.key
282
- });
283
- expect(tileCall.composed).toBe(true);
284
- expect(tileCall.bubbles).toBe(true);
285
-
286
- return expect(component).toBeAccessible();
287
- });
288
- });
289
-
290
- it("should keep the tile as selected and not dispatch expandcollapse", () => {
291
- const component = renderComponent({
292
- treeNode: SINGLE_NODE,
293
- selectedKey: NODE_WITH_CHILDREN.key
294
- });
295
-
296
- component.addEventListener("tileselected", mockTileSelected);
297
- component.addEventListener("expandcollapse", mockExpandCollapse);
298
-
299
- const tile: TreeTile =
300
- component.shadowRoot.querySelector("dx-tree-tile");
301
- expect(tile).toHaveProperty("isSelected", true);
302
-
303
- const link: HTMLElement = component.shadowRoot.querySelector("a");
304
- expect(link).not.toBeNull();
305
- link.click();
306
-
307
- return Promise.resolve().then(() => {
308
- expect(tile).toHaveProperty("isSelected", true);
309
- expect(mockExpandCollapse).not.toBeCalled();
310
-
311
- expect(mockTileSelected).toBeCalledTimes(1);
312
- const [tileCall] = mockTileSelected.mock.calls[0];
313
- expect(tileCall.detail).toEqual({
314
- name: NODE_WITH_CHILDREN.name,
315
- key: NODE_WITH_CHILDREN.key
316
- });
317
- expect(tileCall.composed).toBe(true);
318
- expect(tileCall.bubbles).toBe(true);
319
-
320
- return expect(component).toBeAccessible();
321
- });
322
- });
323
-
324
- it("should fire a register event when is connected and can expand with provided setExpanded function", () => {
325
- const mockRegister = jest.fn();
326
- document.addEventListener("register", mockRegister);
327
-
328
- const component = renderComponent({
329
- treeNode: NODE_WITH_CHILDREN,
330
- isRoot: true
331
- });
332
-
333
- expect(mockRegister).toBeCalledTimes(1);
334
- const { key: actualKey, setExpanded } =
335
- mockRegister.mock.calls[0][0].detail;
336
- expect(actualKey).toBe(NODE_WITH_CHILDREN.key);
337
- expect(typeof setExpanded).toBe("function");
338
-
339
- const tile: TreeTile =
340
- component.shadowRoot.querySelector("dx-tree-tile");
341
- expect(tile).not.toBeNull();
342
- expect(tile).toHaveProperty("isExpanded", false);
343
-
344
- expect(
345
- component.shadowRoot.querySelector("dx-tree-item")
346
- ).toBeNull();
347
-
348
- setExpanded(true);
349
-
350
- return Promise.resolve().then(() => {
351
- expect(tile).toHaveProperty("isExpanded", true);
352
-
353
- const trees =
354
- component.shadowRoot.querySelectorAll("dx-tree-item");
355
- expect(trees).toHaveLength(NODE_WITH_CHILDREN.children!.length);
356
- });
357
- });
358
-
359
- it("should call track from dx/instrumentation when link is clicked", () => {
360
- const component = renderComponent({
361
- treeNode: SINGLE_NODE_WITH_LINK
362
- });
363
-
364
- const link: HTMLAnchorElement =
365
- component.shadowRoot.querySelector("a");
366
- expect(link).not.toBeNull();
367
-
368
- link.click();
369
-
370
- expect(track).toBeCalledTimes(1);
371
- expect(track).toBeCalledWith(link, GTM_EVENT_NAME, {
372
- clickText: SINGLE_NODE_WITH_LINK.label,
373
- sideNavAction: "click"
374
- });
375
- });
376
- });
377
- });
@@ -1,16 +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 SINGLE_NODE_WITH_METHOD: InternalTreeNode = {
11
- label: "Test label",
12
- name: "test-name",
13
- key: "0.1",
14
- level: 1,
15
- method: "get"
16
- };
@@ -1,168 +0,0 @@
1
- import TreeTile from "dx/treeTile";
2
- import Icon from "dx/icon";
3
- import { createRenderComponent } from "utils-internal/tests";
4
-
5
- import { SINGLE_NODE, SINGLE_NODE_WITH_METHOD } from "./mockProps";
6
-
7
- const TAG = "dx-tree-tile";
8
- const render = createRenderComponent(TAG, TreeTile);
9
-
10
- const assertLevelAndLabel = (container: HTMLElement) => {
11
- const levelDiv: Element = container.querySelector(
12
- `[aria-level="${SINGLE_NODE.level + 2}"]`
13
- )!;
14
-
15
- expect(levelDiv).not.toBeNull();
16
-
17
- const tileLabel: Element = levelDiv.querySelector("span.tile-label")!;
18
- expect(tileLabel).not.toBeNull();
19
- expect(tileLabel.textContent).toBe(SINGLE_NODE.label);
20
- expect(tileLabel.getAttribute("title")).toBe(SINGLE_NODE.label);
21
- };
22
-
23
- describe(TAG, () => {
24
- describe("render", () => {
25
- it("should render as a leaf tile", () => {
26
- const component = render({ treeNode: SINGLE_NODE, href: "/test" });
27
- const tileAnchor: HTMLElement =
28
- component.shadowRoot.querySelector("a.tile");
29
-
30
- expect(tileAnchor.getAttribute("href")).toBe("/test");
31
- expect(tileAnchor.classList).toHaveLength(2);
32
- expect(tileAnchor).not.toBeNull();
33
- assertLevelAndLabel(tileAnchor);
34
-
35
- const arrowIcon: Icon =
36
- component.shadowRoot.querySelector("dx-icon");
37
- expect(arrowIcon).toBeNull();
38
-
39
- const typeBadge =
40
- component.shadowRoot.querySelector("dx-type-badge");
41
- expect(typeBadge).toBeNull();
42
-
43
- return expect(component).toBeAccessible();
44
- });
45
-
46
- it("should render as a root tile collapsed", () => {
47
- const component = render({
48
- treeNode: SINGLE_NODE,
49
- isRoot: true,
50
- hasChildren: true
51
- });
52
- const tileAnchor: HTMLElement =
53
- component.shadowRoot.querySelector("a.tile.tile-root");
54
- expect(tileAnchor).not.toBeNull();
55
- expect(tileAnchor.classList).toHaveLength(3);
56
- assertLevelAndLabel(tileAnchor);
57
-
58
- const arrowIcon: Icon =
59
- component.shadowRoot.querySelector("dx-icon")!;
60
- expect(arrowIcon).not.toBeNull();
61
- expect(arrowIcon.getAttribute("aria-expanded")).toBe("false");
62
- expect(arrowIcon.size).toBe("small");
63
-
64
- const typeBadge =
65
- component.shadowRoot.querySelector("dx-type-badge");
66
- expect(typeBadge).toBeNull();
67
-
68
- return expect(component).toBeAccessible();
69
- });
70
-
71
- it("should render an expanded tile with no brand method", () => {
72
- const component = render({
73
- treeNode: SINGLE_NODE_WITH_METHOD,
74
- hasChildren: true,
75
- isExpanded: true
76
- });
77
- const tileAnchor: HTMLElement = component.shadowRoot.querySelector(
78
- "a.tile.tile-with-children"
79
- );
80
-
81
- expect(tileAnchor).not.toBeNull();
82
- expect(tileAnchor.classList).toHaveLength(3);
83
- assertLevelAndLabel(tileAnchor);
84
-
85
- const arrowIcon: Icon =
86
- component.shadowRoot.querySelector("dx-icon");
87
- expect(arrowIcon).not.toBeNull();
88
- expect(arrowIcon.getAttribute("aria-expanded")).toBe("true");
89
- expect(arrowIcon.size).toBe("xsmall");
90
-
91
- const typeBadge =
92
- component.shadowRoot.querySelector("dx-type-badge");
93
- expect(typeBadge).toBeNull();
94
-
95
- return expect(component).toBeAccessible();
96
- });
97
-
98
- it("should render a selected tile", () => {
99
- const component = render({
100
- treeNode: SINGLE_NODE,
101
- isSelected: true
102
- });
103
- const tileAnchor: HTMLElement = component.shadowRoot.querySelector(
104
- "a.tile.sidebar-item-selected"
105
- );
106
- expect(tileAnchor).not.toBeNull();
107
- expect(tileAnchor.classList).toHaveLength(3);
108
-
109
- return expect(component).toBeAccessible();
110
- });
111
-
112
- it("should render a leaf tile with a valid brand method", () => {
113
- const component = render({ treeNode: SINGLE_NODE_WITH_METHOD });
114
- const typeBadge =
115
- component.shadowRoot.querySelector("dx-type-badge");
116
-
117
- expect(typeBadge).not.toBeNull();
118
- expect(typeBadge.classList).toHaveLength(3);
119
- expect(typeBadge.classList).toContain(
120
- SINGLE_NODE_WITH_METHOD.method!
121
- );
122
- expect(typeBadge.classList).toContain("flex");
123
- expect(typeBadge.classList).toContain("tile-icon");
124
- expect(typeBadge.value).toBe("GET");
125
-
126
- return expect(component).toBeAccessible();
127
- });
128
-
129
- it("should render a leaf tile with a non valid brand method", () => {
130
- const method = "not_valid";
131
- const component = render({
132
- treeNode: { ...SINGLE_NODE_WITH_METHOD, method }
133
- });
134
- const typeBadge =
135
- component.shadowRoot.querySelector("dx-type-badge");
136
-
137
- expect(typeBadge).not.toBeNull();
138
- expect(typeBadge.classList).toHaveLength(3);
139
- expect(typeBadge.classList).toContain(method);
140
- expect(typeBadge.classList).toContain("flex");
141
- expect(typeBadge.classList).toContain("tile-icon");
142
- expect(typeBadge.value).toBe("");
143
-
144
- return expect(component).toBeAccessible();
145
- });
146
- });
147
-
148
- describe("interactions", () => {
149
- it("should fire iconclick event when the icon is clicked", () => {
150
- const component = render({
151
- treeNode: SINGLE_NODE_WITH_METHOD,
152
- hasChildren: true,
153
- isExpanded: true
154
- });
155
-
156
- const arrowIcon: HTMLElement =
157
- component.shadowRoot.querySelector("dx-icon");
158
-
159
- const mockIconClick = jest.fn();
160
- component.addEventListener("iconclick", mockIconClick);
161
-
162
- expect(arrowIcon).not.toBeNull();
163
- arrowIcon.click();
164
-
165
- expect(mockIconClick).toBeCalledTimes(1);
166
- });
167
- });
168
- });
@@ -1,77 +0,0 @@
1
- import TypeBadge from "dx/typeBadge";
2
- import { createRenderComponent } from "utils-internal/tests";
3
- import { TypeBadgeSize, BadgeType } from "typings/custom";
4
-
5
- const TAG = "dx-type-badge";
6
- const render = createRenderComponent(TAG, TypeBadge);
7
-
8
- const value = "banana";
9
-
10
- const assertContainerClasses = (
11
- container: HTMLElement,
12
- type: BadgeType = "metadata",
13
- size: TypeBadgeSize = "default"
14
- ) => {
15
- expect(container).not.toBeNull();
16
- expect(container.classList).toHaveLength(3);
17
- expect(container.classList).toContain("typebadge");
18
- expect(container.classList).toContain(`typebadge_${type}`);
19
- expect(container.classList).toContain(`size-${size}`);
20
- };
21
-
22
- describe(TAG, () => {
23
- it("renders", () => {
24
- const element = render({ value });
25
- const el: HTMLElement = element.shadowRoot.querySelector(".typebadge");
26
- assertContainerClasses(el);
27
- expect(el.getAttribute("style")).toBe(null);
28
-
29
- const spanLabel = el.querySelector("span");
30
- expect(spanLabel?.textContent).toBe(value);
31
-
32
- return expect(element).toBeAccessible();
33
- });
34
-
35
- it("renders a content-type badge and size small", () => {
36
- const element = render({ value, type: "content-type", size: "small" });
37
- const el: HTMLElement = element.shadowRoot.querySelector(".typebadge");
38
- assertContainerClasses(el, "content-type", "small");
39
- expect(el.getAttribute("style")).toBe(null);
40
-
41
- return expect(element).toBeAccessible();
42
- });
43
-
44
- it("renders as default type in case type is falsy", () => {
45
- const element = render({ value, type: null });
46
- const container = element.shadowRoot.querySelector(".typebadge");
47
- assertContainerClasses(container);
48
- expect(container.getAttribute("style")).toBe(null);
49
- });
50
-
51
- it("renders with an specific color", () => {
52
- const element = render({ value, color: "blue" });
53
- const el: HTMLElement = element.shadowRoot.querySelector(".typebadge");
54
-
55
- expect(el.getAttribute("style")).toContain(
56
- "--background: var(--dx-g-blue-vibrant-95)"
57
- );
58
- expect(el.getAttribute("style")).toContain(
59
- "--color: var(--dx-g-blue-vibrant-40)"
60
- );
61
-
62
- return expect(element).toBeAccessible();
63
- });
64
-
65
- it("can pass a brand as color", () => {
66
- const element = render({ color: "industries", value });
67
-
68
- const el = element.shadowRoot.querySelector(".typebadge");
69
- expect(el.getAttribute("style")).toContain(
70
- `--color: var(--dx-g-brand-industries-color)`
71
- );
72
- expect(el.getAttribute("style")).toContain(
73
- `--background: var(--dx-g-brand-industries-color-background)`
74
- );
75
- return expect(element).toBeAccessible();
76
- });
77
- });