dimsum-e2e-tests 1.0.0-rc.1

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 (703) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/DSStorybook/DSStorybook.smoke.deprecado.js +33 -0
  3. package/DSStorybook/DSStorybookCO.js +47 -0
  4. package/DSStorybook/baseline.js +2123 -0
  5. package/DSStorybook/print.js +25 -0
  6. package/PageObject.js +25 -0
  7. package/ds-accessibility/ds-skip-to/DSSkipTo.visual.spec.js +24 -0
  8. package/ds-accessibility/ds-skip-to/DSSkipToCO.js +16 -0
  9. package/ds-accordion/DSAccordion.axe-core.func.spec.js +148 -0
  10. package/ds-accordion/DSAccordion.func.spec.js +204 -0
  11. package/ds-accordion/DSAccordion.visual.spec.js +160 -0
  12. package/ds-accordion/DSAccordionCO.js +100 -0
  13. package/ds-apppicker/DSAppPicker.smoke.spec.js +52 -0
  14. package/ds-apppicker/DSAppPickerCO.js +51 -0
  15. package/ds-apppicker/basic/DSAppPicker.basic.axe-core.spec.js +38 -0
  16. package/ds-apppicker/basic/DSAppPicker.basic.func.spec.js +43 -0
  17. package/ds-apppicker/basic/DSAppPicker.basic.keyboard-nav.func.spec.js +50 -0
  18. package/ds-apppicker/basic/DSAppPicker.basic.visual.spec.js +32 -0
  19. package/ds-apppicker/closeAfterSelection/DSAppPicker.closeAfterSelection.axe-core.spec.js +32 -0
  20. package/ds-apppicker/closeAfterSelection/DSAppPicker.closeAfterSelection.func.spec.js +31 -0
  21. package/ds-apppicker/maxHeight/DSAppPicker.max-height.visual.spec.js +60 -0
  22. package/ds-apppicker/minHeight/DSAppPicker.minHeight.visual.spec.js +28 -0
  23. package/ds-apppicker/truncation/DSAppPicker.truncation.visual.spec.js +46 -0
  24. package/ds-autocomplete/DSAutocomplete.axe-core.func.spec.js +45 -0
  25. package/ds-autocomplete/DSAutocomplete.func.spec.js +63 -0
  26. package/ds-autocomplete/DSAutocompleteCO.js +36 -0
  27. package/ds-banner/DSBanner.axe-core.func.spec.js +79 -0
  28. package/ds-banner/DSBanner.func.spec.js +71 -0
  29. package/ds-banner/DSBanner.visual.spec.js +116 -0
  30. package/ds-banner/DSBannerCO.js +61 -0
  31. package/ds-breadcrumb/DSBreadcrumb.axe-core.func.spec.js +87 -0
  32. package/ds-breadcrumb/DSBreadcrumb.func.spec.js +48 -0
  33. package/ds-breadcrumb/DSBreadcrumb.keyboard.navigation.func.spec.js +55 -0
  34. package/ds-breadcrumb/DSBreadcrumb.visual.spec.js +104 -0
  35. package/ds-breadcrumb/DSBreadcrumbCO.js +60 -0
  36. package/ds-button-group/DSButtonGropu.visual.spec.js +16 -0
  37. package/ds-button-group/DSButtonGroupCO.js +20 -0
  38. package/ds-button-v1/DSButton.func.spec.js +23 -0
  39. package/ds-button-v1/DSButton.visual.spec.js +16 -0
  40. package/ds-button-v1/DSButtonCO.js +38 -0
  41. package/ds-button-v2/DSButtonV2.axe-core.func.spec.js +22 -0
  42. package/ds-button-v2/DSButtonV2.func.spec.js +139 -0
  43. package/ds-button-v2/DSButtonV2.visual.spec.js +153 -0
  44. package/ds-button-v2/DSButtonV2CO.js +43 -0
  45. package/ds-card/DSCard.axe-core.func.spec.js +100 -0
  46. package/ds-card/DSCard.func.spec.js +65 -0
  47. package/ds-card/DSCard.visual.spec.js +132 -0
  48. package/ds-card/DSCardCO.js +81 -0
  49. package/ds-card-navigation/CardNavigationCO.js +21 -0
  50. package/ds-card-navigation/DSCardNavigation.axe-core.func.spec.js +24 -0
  51. package/ds-card-navigation/DSCardNavigation.visual.spec.js +23 -0
  52. package/ds-chat/DSChat-bubble.axe-core.func.spec.js +37 -0
  53. package/ds-chat/DSChat-bubble.visual.spec.js +51 -0
  54. package/ds-chat/DSChat-composer.func.spec.js +127 -0
  55. package/ds-chat/DSChat-composer.visual.spec.js +87 -0
  56. package/ds-chat/DSChat-container.func.spec.js +77 -0
  57. package/ds-chat/DSChat-floating-button.visual.spec.js +40 -0
  58. package/ds-chat/DSChat-header.func.spec.js +33 -0
  59. package/ds-chat/DSChat-header.visual.spec.js +34 -0
  60. package/ds-chat/DSChat-loadmore.func.spec.js +54 -0
  61. package/ds-chat/DSChat-loadmore.visual.spec.js +27 -0
  62. package/ds-chat/DSChat-tile.func.spec.js +32 -0
  63. package/ds-chat/DSChat-tile.visual.spec.js +43 -0
  64. package/ds-chat/DSChat-tooltip.visual.spec.js +33 -0
  65. package/ds-chat/DSChat.func.spec.js +181 -0
  66. package/ds-chat/DSChat.mobile.visual.spec.js +16 -0
  67. package/ds-chat/DSChat.smoke.spec.js +274 -0
  68. package/ds-chat/DSChat.visual.spec.js +318 -0
  69. package/ds-chat/DSChatCO.js +128 -0
  70. package/ds-chat/components/BubbleCO.js +59 -0
  71. package/ds-chat/components/ComposerCO.js +41 -0
  72. package/ds-chat/components/FloatingButtonCO.js +16 -0
  73. package/ds-chat/components/HeaderCO.js +40 -0
  74. package/ds-chat/components/StoryBtnsCO.js +15 -0
  75. package/ds-chat/components/TileCO.js +29 -0
  76. package/ds-chat/components/index.js +7 -0
  77. package/ds-chat/helpers/getElementByDataTestId.js +1 -0
  78. package/ds-chat/helpers/index.js +1 -0
  79. package/ds-chip/DSChip.axe-core.func.spec.js +64 -0
  80. package/ds-chip/DSChip.visual.spec.js +83 -0
  81. package/ds-chip/DSChipCO.js +36 -0
  82. package/ds-circular-indeterminate-indicator/DSCircularIndicator.axe-core.func.spec.js +45 -0
  83. package/ds-circular-indeterminate-indicator/DSCircularIndicator.func.spec.js +32 -0
  84. package/ds-circular-indeterminate-indicator/DSCircularIndicator.visual.spec.js +37 -0
  85. package/ds-circular-indeterminate-indicator/DSCircularIndicatorCO.js +37 -0
  86. package/ds-codeeditor/DSCodeEditor.visual.spec.js +28 -0
  87. package/ds-codeeditor/DSCodeEditorCO.js +17 -0
  88. package/ds-comments-card/DSComments.axe-core.func.spec.js +66 -0
  89. package/ds-comments-card/DSComments.func.spec.js +55 -0
  90. package/ds-comments-card/DSComments.visual.spec.js +68 -0
  91. package/ds-comments-card/DSCommentsCO.js +41 -0
  92. package/ds-controlled-form/ds-combobox/DSComboboxCO.js +206 -0
  93. package/ds-controlled-form/ds-combobox/DSComboboxbox.axe-core.spec.js +35 -0
  94. package/ds-controlled-form/ds-combobox/DSComboboxbox.func.spec.js +28 -0
  95. package/ds-controlled-form/ds-combobox/DSComboboxbox.smoke.spec.js +374 -0
  96. package/ds-controlled-form/ds-combobox/creatable/DSComboboxbox.creatable.axe-core.spec.js +38 -0
  97. package/ds-controlled-form/ds-combobox/creatable/DSComboboxbox.creatable.visual.spec.js +48 -0
  98. package/ds-controlled-form/ds-combobox/creatable/DSComboboxbox.keyboard-creatable.func.spec.js +55 -0
  99. package/ds-controlled-form/ds-combobox/disabled/DSComboboxbox.disabled.axe-core.spec.js +26 -0
  100. package/ds-controlled-form/ds-combobox/disabled/DSComboboxbox.disabled.visual.spec.js +27 -0
  101. package/ds-controlled-form/ds-combobox/error-state/DSComboboxbox.with-form-item-block.axe-core.spec.js +42 -0
  102. package/ds-controlled-form/ds-combobox/error-state/DSComboboxbox.with-form-item-block.visual.spec.js +67 -0
  103. package/ds-controlled-form/ds-combobox/inline/DSComboboxbox.inline.axe-core.spec.js +30 -0
  104. package/ds-controlled-form/ds-combobox/inline/DSComboboxbox.inline.keyboard.func.spec.js +140 -0
  105. package/ds-controlled-form/ds-combobox/inline/DSComboboxbox.inline.mouse-touch.func.spec.js +115 -0
  106. package/ds-controlled-form/ds-combobox/inline/DSComboboxbox.inline.visual.spec.js +36 -0
  107. package/ds-controlled-form/ds-combobox/inside-dialog/DSComboboxbox.inside-dialog.axe-core.spec.js +33 -0
  108. package/ds-controlled-form/ds-combobox/inside-dialog/DSComboboxbox.inside-dialog.visual.spec.js +50 -0
  109. package/ds-controlled-form/ds-combobox/inside-form/DSComboboxbox.inside-form.axe-core.spec.js +25 -0
  110. package/ds-controlled-form/ds-combobox/inside-form/DSComboboxbox.inside-form.visual.spec.js +18 -0
  111. package/ds-controlled-form/ds-combobox/loading/DSComboboxbox.loading.axe-core.spec.js +27 -0
  112. package/ds-controlled-form/ds-combobox/multi-select/DSComboboxbox.keyboard-multi-select.func.spec.js +215 -0
  113. package/ds-controlled-form/ds-combobox/multi-select/DSComboboxbox.mouse-touch-multi-select.func.spec.js +223 -0
  114. package/ds-controlled-form/ds-combobox/multi-select/DSComboboxbox.multi-select.axe-core.spec.js +47 -0
  115. package/ds-controlled-form/ds-combobox/multi-select/DSComboboxbox.multi.visual.spec.js +142 -0
  116. package/ds-controlled-form/ds-combobox/multi-select/DSComboboxbox.ten-thousand-options.func.spec.js +47 -0
  117. package/ds-controlled-form/ds-combobox/only-selectable/DSComboboxbox.only-selectable.axe-core.spec.js +31 -0
  118. package/ds-controlled-form/ds-combobox/only-selectable/DSComboboxbox.only-selectable.func.spec.js +24 -0
  119. package/ds-controlled-form/ds-combobox/single-select/DSComboboxbox.keyboard-single-select.func.spec.js +153 -0
  120. package/ds-controlled-form/ds-combobox/single-select/DSComboboxbox.single-select.visual.spec.js +48 -0
  121. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.axe-core.basic.func.spec.js +42 -0
  122. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.basic.func.spec.js +46 -0
  123. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckbox.smoke.spec.js +125 -0
  124. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO.js +67 -0
  125. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.axe-core.disabled.func.spec.js +24 -0
  126. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.disabled.visual.spec.js +18 -0
  127. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.axe-core.hasError.func.spec.js +42 -0
  128. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.has-error.visual.spec.js +20 -0
  129. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.axe-core.mixed.func.spec.js +42 -0
  130. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.func.spec.js +89 -0
  131. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.visual.spec.js +20 -0
  132. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.axe-core.read-only.func.spec.js +34 -0
  133. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.read-only.func.spec.js +60 -0
  134. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.read-only.visual.spec.js +21 -0
  135. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.axe-core.with-tooltip.func.spec.js +22 -0
  136. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.with-tooltip.visual.spec.js +20 -0
  137. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.axe-core.wrap-label.func.spec.js +22 -0
  138. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.wrap-label.visual.spec.js +17 -0
  139. package/ds-controlled-form/ds-controlled-checkbox-group/DSControlledCheckboxGroup.axe-core.func.spec.js +41 -0
  140. package/ds-controlled-form/ds-controlled-checkbox-group/DSControlledCheckboxGroup.func.spec.js +36 -0
  141. package/ds-controlled-form/ds-controlled-checkbox-group/DSControlledCheckboxGroup.visual.spec.js +18 -0
  142. package/ds-controlled-form/ds-controlled-checkbox-group/DSControlledCheckboxGroupCO.js +11 -0
  143. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.DateInput.visual.spec.js +54 -0
  144. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePickerCO.js +53 -0
  145. package/ds-controlled-form/ds-controlled-date-time-picker/DSControlledDateTimePicker.DateInput.visual.spec.js +43 -0
  146. package/ds-controlled-form/ds-controlled-date-time-picker/DSControlledDateTimePicker.smoke.spec.js +162 -0
  147. package/ds-controlled-form/ds-controlled-date-time-picker/DSControlledDateTimePickerCO.js +260 -0
  148. package/ds-controlled-form/ds-controlled-date-time-picker/date-input/DateInput.auto-advance.func.spec.js +137 -0
  149. package/ds-controlled-form/ds-controlled-date-time-picker/date-input/DateInput.func.spec.js +101 -0
  150. package/ds-controlled-form/ds-controlled-date-time-picker/date-input/DateInput.keyboard-nav.func.spec.js +154 -0
  151. package/ds-controlled-form/ds-controlled-date-time-picker/date-time-picker/DateTimePicker.custom.attributes.spec.js +94 -0
  152. package/ds-controlled-form/ds-controlled-date-time-picker/date-time-picker/DateTimePicker.func.spec.js +87 -0
  153. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +74 -0
  154. package/ds-controlled-form/ds-controlled-inputgroup/autocomplete/DSControlledInputGroup.autocomplete.axe-core.func.spec.js +51 -0
  155. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.axe-core.func.spec.js +29 -0
  156. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.visual.spec.js +33 -0
  157. package/ds-controlled-form/ds-controlled-inputgroup/combobox/DSControlledInputGroup.combobox.axe-core.func.spec.js +51 -0
  158. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.axe-core.func.spec.js +23 -0
  159. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.func.spec.js +20 -0
  160. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.axe-core.func.spec.js +37 -0
  161. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.func.spec.js +25 -0
  162. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.visual.spec.js +40 -0
  163. package/ds-controlled-form/ds-controlled-large-input-text/DSLargeInputTextCO.js +55 -0
  164. package/ds-controlled-form/ds-controlled-large-input-text/dialog/DSLargeInputText.dialog.visual.spec.js +23 -0
  165. package/ds-controlled-form/ds-controlled-large-input-text/disabled/DSLargeInputText.disabled.axe-core.func.spec.js +23 -0
  166. package/ds-controlled-form/ds-controlled-large-input-text/disabled/DSLargeInputText.disabled.visual.spec.js +18 -0
  167. package/ds-controlled-form/ds-controlled-large-input-text/hasError/DSLargeInputText.has-error.axe-core.func.spec.js +23 -0
  168. package/ds-controlled-form/ds-controlled-large-input-text/hasError/DSLargeInputText.has-error.visual.spec.js +22 -0
  169. package/ds-controlled-form/ds-controlled-large-input-text/innerRef/DSLargeInputText.innerRef.func.spec.js +23 -0
  170. package/ds-controlled-form/ds-controlled-large-input-text/label-counter/DSLargeInputText.label-counter.func.spec.js +46 -0
  171. package/ds-controlled-form/ds-controlled-large-input-text/label-counter/DSLargeInputText.label-counter.visual.spec.js +20 -0
  172. package/ds-controlled-form/ds-controlled-large-input-text/max-height/DSLargeInputText.max-height.axe-core.func.spec.js +23 -0
  173. package/ds-controlled-form/ds-controlled-large-input-text/max-height/DSLargeInputText.max-height.visual.spec.js +63 -0
  174. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.axe-core.func.spec.js +23 -0
  175. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.visual.spec.js +18 -0
  176. package/ds-controlled-form/ds-controlled-large-input-text/rows/DSLargeInputText.rows.visual.spec.js +60 -0
  177. package/ds-controlled-form/ds-controlled-radio/DSControlledRadio.axe-core.func.spec.js +70 -0
  178. package/ds-controlled-form/ds-controlled-radio/DSControlledRadio.func.spec.js +64 -0
  179. package/ds-controlled-form/ds-controlled-radio/DSControlledRadio.visual.spec.js +96 -0
  180. package/ds-controlled-form/ds-controlled-radio/DSControlledRadioCO.js +42 -0
  181. package/ds-controlled-form/ds-input-text/DSInputText.axe-core.func.spec.js +86 -0
  182. package/ds-controlled-form/ds-input-text/DSInputText.clearable.keyboard.func.spec.js +45 -0
  183. package/ds-controlled-form/ds-input-text/DSInputText.func.spec.js +127 -0
  184. package/ds-controlled-form/ds-input-text/DSInputText.smoke.spec.js +29 -0
  185. package/ds-controlled-form/ds-input-text/DSInputText.visual.spec.js +148 -0
  186. package/ds-controlled-form/ds-input-text/DSInputTextCO.js +53 -0
  187. package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +74 -0
  188. package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +52 -0
  189. package/ds-controlled-form/react-hook-form/ReactHookCO.js +79 -0
  190. package/ds-controlled-form/useMask/Number/UseNumberMask.func.spec.js +192 -0
  191. package/ds-controlled-form/useMask/Number/UseNumberMask.visual.spec.js +35 -0
  192. package/ds-controlled-form/useMask/Phone/UsePhoneMask.func.spec.js +49 -0
  193. package/ds-controlled-form/useMask/Phone/UsePhoneMask.visual.spec.js +30 -0
  194. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +51 -0
  195. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +39 -0
  196. package/ds-controlled-form/useMask/RegExp/UseRegExpMask.func.spec.js +37 -0
  197. package/ds-controlled-form/useMask/SSN/UseSsnMask.func.spec.js +53 -0
  198. package/ds-controlled-form/useMask/ZipCode/UseZipCodeMask.func.spec.js +37 -0
  199. package/ds-controlled-form/useMask/useMaskCO.js +56 -0
  200. package/ds-data-table-async/DSDataTable.smoke.spec.js +315 -0
  201. package/ds-data-table-async/DSDataTableCO.js +255 -0
  202. package/ds-data-table-async/basic/DSDataTable.basic.axe-core.func.spec.js +120 -0
  203. package/ds-data-table-async/basic/DSDataTable.basic.func.spec.js +78 -0
  204. package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +144 -0
  205. package/ds-data-table-async/basic/DSDataTable.usecases.func.spec.js +315 -0
  206. package/ds-data-table-async/basic/DSDataTable.usecases.visual.spec.js +226 -0
  207. package/ds-data-table-async/components/CellCO.js +29 -0
  208. package/ds-data-table-async/components/DateSwitcherCO.js +44 -0
  209. package/ds-data-table-async/components/ExportCsvCO.js +22 -0
  210. package/ds-data-table-async/components/FilterBarCO.js +68 -0
  211. package/ds-data-table-async/components/FiltersCO.js +127 -0
  212. package/ds-data-table-async/components/FiltersCOextra.js +39 -0
  213. package/ds-data-table-async/components/HeaderCO.js +39 -0
  214. package/ds-data-table-async/components/OnRowClickCO.js +26 -0
  215. package/ds-data-table-async/components/PaginationNavCO.js +31 -0
  216. package/ds-data-table-async/components/RowCO.js +72 -0
  217. package/ds-data-table-async/components/index.js +10 -0
  218. package/ds-data-table-async/date-filters/DSDataTable.date-filters.func.spec.js +65 -0
  219. package/ds-data-table-async/date-filters/DSDataTable.date-switcher.range.func.spec.js +69 -0
  220. package/ds-data-table-async/date-filters/DSDataTable.date-switcher.single.func.spec.js +87 -0
  221. package/ds-data-table-async/date-filters/DSDataTable.date-switcher.visual.spec.js +50 -0
  222. package/ds-data-table-async/date-filters/DSDataTable.dates.axe-core.func.spec.js +57 -0
  223. package/ds-data-table-async/dnd/DSDataTable.dnd.axe-core.func.spec.js +60 -0
  224. package/ds-data-table-async/dnd/DSDataTable.dnd.func.spec.js +221 -0
  225. package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +174 -0
  226. package/ds-data-table-async/editable-cell/DSDataTable.editablecells.axe-core.func.spec.js +42 -0
  227. package/ds-data-table-async/editable-cell/DSDataTable.editablecells.func.spec.js +40 -0
  228. package/ds-data-table-async/editable-cell/DSDataTable.editablecells.visual.spec.js +59 -0
  229. package/ds-data-table-async/empty-state/DSDataTable.empty-state.axe-core.func.spec.js +24 -0
  230. package/ds-data-table-async/empty-state/DSDataTable.empty-state.visual.spec.js +49 -0
  231. package/ds-data-table-async/expandable/DSDataTable.expandable.axe-core.func.spec.js +29 -0
  232. package/ds-data-table-async/expandable/DSDataTable.expandable.func.spec.js +92 -0
  233. package/ds-data-table-async/expandable/DSDataTable.expandable.visual.spec.js +101 -0
  234. package/ds-data-table-async/filters/DSDataTable.currency-number-filters.func.spec.js +66 -0
  235. package/ds-data-table-async/filters/DSDataTable.filteredMultipleTables.visual.spec.js +22 -0
  236. package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +112 -0
  237. package/ds-data-table-async/filters/DSDataTable.filters-creatable.visual.spec.js +61 -0
  238. package/ds-data-table-async/filters/DSDataTable.filters.axe-core.func.spec.js +126 -0
  239. package/ds-data-table-async/filters/DSDataTable.filters.empty-value.func.spec.js +82 -0
  240. package/ds-data-table-async/filters/DSDataTable.filters.empty-value.keybooard-nav.func.spec.js +73 -0
  241. package/ds-data-table-async/filters/DSDataTable.filters.empty-value.visual.spec.js +76 -0
  242. package/ds-data-table-async/filters/DSDataTable.filters.keybooard-nav.func.spec.js +40 -0
  243. package/ds-data-table-async/filters/DSDataTable.filters.visual.spec.js +188 -0
  244. package/ds-data-table-async/filters/DSDataTable.text-filterbar-controlled.func.spec.js +42 -0
  245. package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +281 -0
  246. package/ds-data-table-async/helpers/asyncFilter.js +4 -0
  247. package/ds-data-table-async/helpers/asyncShiftPress.js +19 -0
  248. package/ds-data-table-async/helpers/getElementBoundingRect.js +2 -0
  249. package/ds-data-table-async/helpers/getElementByIndex.js +12 -0
  250. package/ds-data-table-async/helpers/getElementDragHandler.js +3 -0
  251. package/ds-data-table-async/helpers/getRadioValue.js +1 -0
  252. package/ds-data-table-async/helpers/index.js +7 -0
  253. package/ds-data-table-async/helpers/throttleTyping.js +6 -0
  254. package/ds-data-table-async/more/DSDataTable.custom.func.spec.js +31 -0
  255. package/ds-data-table-async/more/DSDataTable.headers.visual.spec.js +70 -0
  256. package/ds-data-table-async/more/DSDataTable.more.axe-core.func.spec.js +40 -0
  257. package/ds-data-table-async/pagination/DSDataTable.pagination.axe-core.func.spec.js +52 -0
  258. package/ds-data-table-async/pagination/DSDataTable.pagination.func.spec.js +158 -0
  259. package/ds-data-table-async/pagination/DSDataTable.pagination.visual.spec.js +46 -0
  260. package/ds-data-table-async/resizable/DSDataTable.resizable.axe-core.func.spec.js +40 -0
  261. package/ds-data-table-async/resizable/DSDataTable.resizable.func.spec.js +47 -0
  262. package/ds-data-table-async/resizable/DSDataTable.resizable.visual.spec.js +156 -0
  263. package/ds-data-table-async/row-variant/DSDataTable.row-styling.visual.spec.js +62 -0
  264. package/ds-data-table-async/row-variant/DSDataTable.row-variant.axe-core.func.spec.js +27 -0
  265. package/ds-data-table-async/row-variant/DSDataTable.row-variant.func.spec.js +101 -0
  266. package/ds-data-table-async/select/DSDataTable.select.axe-core.func.spec.js +152 -0
  267. package/ds-data-table-async/select/DSDataTable.select.func.spec.js +191 -0
  268. package/ds-data-table-async/select/DSDataTable.select.visual.spec.js +119 -0
  269. package/ds-data-table-async/skeleton/DSDataTable.skeleton.axe-core.func.spec.js +57 -0
  270. package/ds-data-table-async/skeleton/DSDataTable.skeleton.visual.spec.js +51 -0
  271. package/ds-data-table-async/toolbar/DSDataTable.Toolbar.func.spec.js +184 -0
  272. package/ds-data-table-async/toolbar/DSDataTable.Toolbar.visual.spec.js +33 -0
  273. package/ds-data-table-async/toolbar/DSDataTable.toolbar.axe-core.func.spec.js +27 -0
  274. package/ds-data-table-async/vissibility/DSDataTable.responsive.visual.spec.js +17 -0
  275. package/ds-data-table-async/vissibility/DSDataTable.vissibility.axe-core.func.spec.js +32 -0
  276. package/ds-data-table-async/vissibility/DSDataTable.vissibility.visual.spec.js +81 -0
  277. package/ds-datagrids/DSDataGrids-selectable-default.func.spec.js +27 -0
  278. package/ds-datagrids/DSDatagrid-basic.visual.spec.js +16 -0
  279. package/ds-datagrids/DSDatagrid-editable.func.spec.js +62 -0
  280. package/ds-datagrids/DSDatagrid-empty-state.visual.spec.js +16 -0
  281. package/ds-datagrids/DSDatagrid-pui-5550.func.spec.js +15 -0
  282. package/ds-datagrids/DSDatagrid-selectable-multi.visual.spec.js +16 -0
  283. package/ds-datagrids/DSDatagrid-sortable.func.spec.js +43 -0
  284. package/ds-datagrids/DSDatagrid.func.spec.js +56 -0
  285. package/ds-datagrids/DSDatagrids-cell-renders.visual.spec.js +43 -0
  286. package/ds-datagrids/DSDatagrids-control-focus.visual.spec.js +30 -0
  287. package/ds-datagrids/DSDatagrids-filterable-dates.func.spec.js +300 -0
  288. package/ds-datagrids/DSDatagrids-filterable-default-filters.func.spec.js +27 -0
  289. package/ds-datagrids/DSDatagrids-filterable-default-filters.visual.spec.js +16 -0
  290. package/ds-datagrids/DSDatagrids-filterable.func.spec.js +213 -0
  291. package/ds-datagrids/DSDatagrids-header.visual.spec.js +16 -0
  292. package/ds-datagrids/DSDatagrids-infinite-scrolling.func.spec.js +24 -0
  293. package/ds-datagrids/DSDatagrids-pagination.func.spec.js +85 -0
  294. package/ds-datagrids/DSDatagrids-pagination.visual.spec.js +30 -0
  295. package/ds-datagrids/DSDatagrids-performance.func.spec.js +23 -0
  296. package/ds-datagrids/DSDatagrids-selectable-multi.func.spec.js +21 -0
  297. package/ds-datagrids/DSDatagrids-toolbar.visual.spec.js +17 -0
  298. package/ds-datagrids/DSDatagrids-virtualization-dynamic-rows.func.spec.js +18 -0
  299. package/ds-datagrids/DSDatagrids-virtualization.func.spec.js +15 -0
  300. package/ds-datagrids/DSDatagrids-wrapping.visual.spec.js +28 -0
  301. package/ds-datagrids/DatagridObject.js +397 -0
  302. package/ds-datagrids/page-objects/Editable.componentObject.js +67 -0
  303. package/ds-datagrids/page-objects/Pagination.componentObject.js +72 -0
  304. package/ds-dataviz/DSDataViz.area.visual.spec.js +40 -0
  305. package/ds-dataviz/DSDataViz.axis.visual.spec.js +80 -0
  306. package/ds-dataviz/DSDataViz.bars.visual.spec.js +103 -0
  307. package/ds-dataviz/DSDataViz.extra.visual.spec.js +118 -0
  308. package/ds-dataviz/DSDataViz.func.spec.js +40 -0
  309. package/ds-dataviz/DSDataViz.legend.visual.spec.js +53 -0
  310. package/ds-dataviz/DSDataViz.lines.visual.spec.js +40 -0
  311. package/ds-dataviz/DSDataViz.pie.visual.spec.js +82 -0
  312. package/ds-dataviz/DSDataViz.scroll.visual.spec.js +135 -0
  313. package/ds-dataviz/DSDataViz.singlestackedbar.visual.spec.js +67 -0
  314. package/ds-dataviz/DSDataViz.smoke.spec.js +40 -0
  315. package/ds-dataviz/DSDataViz.ticks.func.spec.js +19 -0
  316. package/ds-dataviz/DSDataViz.ticks.visual.spec.js +76 -0
  317. package/ds-dataviz/DSDataVizCO.js +187 -0
  318. package/ds-dataviz/axecore/DSDataViz.area.axe-core.func.spec.js +36 -0
  319. package/ds-dataviz/axecore/DSDataViz.axis.axe-core.func.spec.js +42 -0
  320. package/ds-dataviz/axecore/DSDataViz.bars.axe-core.func.spec.js +95 -0
  321. package/ds-dataviz/axecore/DSDataViz.extra.axe-core.func.spec.js +78 -0
  322. package/ds-dataviz/axecore/DSDataViz.legend.axe-core.func.spec.js +40 -0
  323. package/ds-dataviz/axecore/DSDataViz.lines.axe-core.func.spec.js +49 -0
  324. package/ds-dataviz/axecore/DSDataViz.pie.axe-core.func.spec.js +70 -0
  325. package/ds-dataviz/axecore/DSDataViz.scroll.axe-core.func.spec.js +59 -0
  326. package/ds-dataviz/axecore/DSDataViz.singlestackedbar.axe-core.func.spec.js +24 -0
  327. package/ds-dataviz/axecore/DSDataViz.ticks.axe-core.func.spec.js +36 -0
  328. package/ds-date-picker/DSDatePicker.func.spec.js +275 -0
  329. package/ds-date-picker/DSDatePickerCO.js +104 -0
  330. package/ds-date-range-picker/DSDateRangePicker.func.spec.js +114 -0
  331. package/ds-date-range-picker/DSDateRangePicker.visual.spec.js +14 -0
  332. package/ds-date-range-picker/DSDateRangePickerCO.js +99 -0
  333. package/ds-date-time-picker/DSDateTimePicker.func.spec.js +210 -0
  334. package/ds-date-time-picker/DateTimePickerCO.js +140 -0
  335. package/ds-dialog/DSDialog.cases.visual.spec.js +122 -0
  336. package/ds-dialog/DSDialog.func.spec.js +133 -0
  337. package/ds-dialog/DSDialog.smoke.spec.js +133 -0
  338. package/ds-dialog/DSDialog.visual.spec.js +178 -0
  339. package/ds-dialog/DSDialogCO.js +75 -0
  340. package/ds-dialog/components/DialogFormsCO.js +22 -0
  341. package/ds-dialog/components/DialogShuttleCO.js +12 -0
  342. package/ds-dialog/components/index.js +2 -0
  343. package/ds-dialog/helpers/getElementByIndex.js +12 -0
  344. package/ds-dialog/helpers/index.js +1 -0
  345. package/ds-drag-and-drop/DSDragAndDrop.axe-core.func.spec.js +72 -0
  346. package/ds-drag-and-drop/DSDragAndDrop.func.spec.js +186 -0
  347. package/ds-drag-and-drop/DSDragAndDrop.visual.spec.js +45 -0
  348. package/ds-drag-and-drop/DSDragAndDropCO.js +54 -0
  349. package/ds-dropdownmenu/DSDropddownMenu-loading.visual.spec.js +28 -0
  350. package/ds-dropdownmenu/DSDropddownMenu.func.spec.js +38 -0
  351. package/ds-dropdownmenu/DSDropdownMenu-basic.visual.spec.js +30 -0
  352. package/ds-dropdownmenu/DSDropdownMenu-withselect.visual.spec.js +24 -0
  353. package/ds-dropdownmenu/DropdownMenuCO.js +57 -0
  354. package/ds-dropdownmenu-v2/DSDDMenuV2.axe-core.func.spec.js +124 -0
  355. package/ds-dropdownmenu-v2/DSDDMenuV2.visual.spec.js +167 -0
  356. package/ds-dropdownmenu-v2/DSDDMenuV2CO.js +81 -0
  357. package/ds-dropdownmenu-v2/basic/DSDDMenuV2.basic.func.spec.js +160 -0
  358. package/ds-dropdownmenu-v2/custom-width/DSDDMenuV2.custom-width.func.spec.js +50 -0
  359. package/ds-dropdownmenu-v2/empty-state/DSDDMenuV2.empty-state.func.spec.js +16 -0
  360. package/ds-dropdownmenu-v2/loading/DSDDMenuV2.loading.func.spec.js +16 -0
  361. package/ds-dropdownmenu-v2/mandatory-single/DSDDMenuV2.mandatory-single.func.spec.js +32 -0
  362. package/ds-dropdownmenu-v2/multiple-sub-menus/DSDDMenuV2.multiple-sub-menus.func.spec.js +35 -0
  363. package/ds-dropdownmenu-v2/ten-thousand/DSDDMenuV2.ten-thousand.func.spec.js +38 -0
  364. package/ds-dropzone/DSDropzone.func.spec.js +24 -0
  365. package/ds-dropzone/DSDropzoneCO.js +17 -0
  366. package/ds-eol/ds-filterbar/DSFilterBar-basic.axe-core.func.spec.js +88 -0
  367. package/ds-eol/ds-filterbar/DSFilterBar-basic.func.spec.js +15 -0
  368. package/ds-eol/ds-filterbar/DSFilterBar-basic.visual.spec.js +92 -0
  369. package/ds-eol/ds-filterbar/DSFilterBar-dropdown-multipill.visual.spec.js +55 -0
  370. package/ds-eol/ds-filterbar/FilterbarCO.js +65 -0
  371. package/ds-eol/ds-number-range-field/NumberRangeField.func.spec.js +75 -0
  372. package/ds-eol/ds-number-range-field/NumberRangeField.visual.spec.js +30 -0
  373. package/ds-eol/ds-number-range-field/NumberRangeFieldCO.js +31 -0
  374. package/ds-eol/ds-page-number/DSPageNumber.func.spec.js +37 -0
  375. package/ds-eol/ds-page-number/DSPageNumber.visual.spec.js +39 -0
  376. package/ds-eol/ds-page-number/DSPageNumberCO.js +42 -0
  377. package/ds-eol/ds-search-field/SearchField.func.spec.js +109 -0
  378. package/ds-eol/ds-search-field/SearchField.visual.spec.js +86 -0
  379. package/ds-eol/ds-search-field/SearchFieldCO.js +117 -0
  380. package/ds-form/Checkbox/DSCheckbox.func.spec.js +69 -0
  381. package/ds-form/Checkbox/DSCheckbox.keyboard.navigation.func.spec.js +64 -0
  382. package/ds-form/Checkbox/DSCheckbox.visual.spec.js +37 -0
  383. package/ds-form/Checkbox/DSCheckboxCO.js +60 -0
  384. package/ds-form/Combobox/DSCombobox.accessibility.func.spec.js +150 -0
  385. package/ds-form/Combobox/DSCombobox.basic.func.spec.js +238 -0
  386. package/ds-form/Combobox/DSCombobox.freesolo.func.spec.js +98 -0
  387. package/ds-form/Combobox/DSCombobox.freesolo.visual.spec.js +25 -0
  388. package/ds-form/Combobox/DSCombobox.multi.func.spec.js +121 -0
  389. package/ds-form/Combobox/DSCombobox.multi.visual.spec.js +54 -0
  390. package/ds-form/Combobox/DSCombobox.tablet.func.spec.js +30 -0
  391. package/ds-form/Combobox/DSCombobox.visual.spec.js +93 -0
  392. package/ds-form/Combobox/DSComboboxCO.js +206 -0
  393. package/ds-form/DateInput/DSDateInputCO.js +51 -0
  394. package/ds-form/DateInput/DateInput.func.spec.js +217 -0
  395. package/ds-form/DateInput/DateInput.states.func.spec.js +55 -0
  396. package/ds-form/FormatItemLayout/FormItemLayout.func.spec.js +46 -0
  397. package/ds-form/FormatItemLayout/FormatItemLayout.js +53 -0
  398. package/ds-form/FormatItemLayout/FormatItemLayout.visual.spec.js +94 -0
  399. package/ds-form/InputGroup/DSInputGroup.visual.spec.js +15 -0
  400. package/ds-form/InputGroup/DSInputGroupCO.js +19 -0
  401. package/ds-form/InputMask/AlphaNumeric.InputMask.func.spec.js +41 -0
  402. package/ds-form/InputMask/AutoCorrectedDate.InputMask.func.spec.js +18 -0
  403. package/ds-form/InputMask/DSInputMask.visual.spec.js +21 -0
  404. package/ds-form/InputMask/DSInputMaskCO.js +92 -0
  405. package/ds-form/InputMask/Date.InputMask.func.spec.js +48 -0
  406. package/ds-form/InputMask/DateTime.InputMask.func.spec.js +48 -0
  407. package/ds-form/InputMask/Decimal.InputMask.func.spec.js +119 -0
  408. package/ds-form/InputMask/Number.InputMask.func.spec.js +98 -0
  409. package/ds-form/InputMask/Percent.InputMask.func.spec.js +54 -0
  410. package/ds-form/InputMask/Phone.InputMask.func.spec.js +48 -0
  411. package/ds-form/InputMask/PhoneInternational.InputMask.func.spec.js +60 -0
  412. package/ds-form/InputMask/Ssn.InputMask.func.spec.js +60 -0
  413. package/ds-form/InputMask/UsZipCode.InputMask.func.spec.js +46 -0
  414. package/ds-form/InputProtected/DSInputProtected.func.spec.js +19 -0
  415. package/ds-form/InputProtected/DSInputProtected.visual.spec.js +18 -0
  416. package/ds-form/InputProtected/DSInputProtectedCO.js +45 -0
  417. package/ds-form/LargeInputText/DSLargeInputText.func.spec.js +37 -0
  418. package/ds-form/LargeInputText/DSLargeInputText.visual.spec.js +18 -0
  419. package/ds-form/LargeInputText/DSLargeInputTextCO.js +45 -0
  420. package/ds-form/Radio/DSRadio.func.spec.js +13 -0
  421. package/ds-form/Radio/DSRadio.visual.spec.js +39 -0
  422. package/ds-form/Radio/DSRadioCO.js +49 -0
  423. package/ds-form/SearchBox/DSSearchBox.func.spec.js +90 -0
  424. package/ds-form/SearchBox/DSSearchBox.visual.spec.js +61 -0
  425. package/ds-form/SearchBox/DSSearchBoxCO.js +75 -0
  426. package/ds-form/Toggle/DSToggle.func.spec.js +70 -0
  427. package/ds-form/Toggle/DSToggle.visual.spec.js +21 -0
  428. package/ds-form/Toggle/DSToggleCO.js +45 -0
  429. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItem.axe-core.func.spec.js +144 -0
  430. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItem.func.spec.js +203 -0
  431. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItem.visual.spec.js +181 -0
  432. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +118 -0
  433. package/ds-form-layout-blocks/form-layout-checkbox-group/DSFormLayoutCheckboxGroup.visual.spec.js +13 -0
  434. package/ds-form-layout-blocks/form-layout-checkbox-group/DSFormLayoutCheckboxGroupCO.js +14 -0
  435. package/ds-form-layout-label/DSFormLayoutLabel.func.spec.js +24 -0
  436. package/ds-form-layout-label/DSFormLayoutLabelCO.js +17 -0
  437. package/ds-global-header/GlobalHeader.func.spec.js +34 -0
  438. package/ds-global-header/GlobalHeader.visual.spec.js +141 -0
  439. package/ds-global-header/GlobalHeaderCO.js +65 -0
  440. package/ds-grid/DSGrid.axe-core.func.spec.js +93 -0
  441. package/ds-grid/DSGrid.visual.mobile.spec.js +65 -0
  442. package/ds-grid/DSGrid.visual.spec.js +52 -0
  443. package/ds-grid/DSGridCO.js +81 -0
  444. package/ds-grid/border/DSGrid.border.visual.spec.js +37 -0
  445. package/ds-grid/breakpoints/DSGrid.breakpoints.visual.spec.js +25 -0
  446. package/ds-grid/columnsnrows/DSGrid.columnsnrows.visual.spec.js +66 -0
  447. package/ds-grid/display/DSGrid.layout.visual.spec.js +39 -0
  448. package/ds-grid/tables/DSGrid.tables.visual.spec.js +27 -0
  449. package/ds-header/DSHeaderCO.js +16 -0
  450. package/ds-hooks/DSHook.UseFontSizeDetector.visual.spec.js +57 -0
  451. package/ds-hooks/DSHook.UseFontSizeMedia.visual.spec.js +28 -0
  452. package/ds-hooks/DSHook.func.spec.js +86 -0
  453. package/ds-hooks/DSHook.useAsDsTree.func.spec.js +128 -0
  454. package/ds-hooks/DSHook.usetree.func.spec.js +114 -0
  455. package/ds-hooks/DSHookCO.js +196 -0
  456. package/ds-icon/DSIcon.visual.spec.js +58 -0
  457. package/ds-icon/DSIconCO.js +29 -0
  458. package/ds-image/DSImage.func.spec.js +40 -0
  459. package/ds-image/DSImage.visual.spec.js +42 -0
  460. package/ds-image/DSImageCO.js +33 -0
  461. package/ds-indeterminate-progress-indicator/DSIndeterminateProgressIndicatorCO.js +24 -0
  462. package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.func.spec.js +17 -0
  463. package/ds-leftnavigation/LeftNavigation.axe-core.func.spec.js +175 -0
  464. package/ds-leftnavigation/LeftNavigation.func.spec.js +131 -0
  465. package/ds-leftnavigation/LeftNavigation.keeping.items.visual.spec.js +27 -0
  466. package/ds-leftnavigation/LeftNavigation.keyboard.func.spec.js +134 -0
  467. package/ds-leftnavigation/LeftNavigation.smoke.spec.js +54 -0
  468. package/ds-leftnavigation/LeftNavigation.states.func.spec.js +39 -0
  469. package/ds-leftnavigation/LeftNavigation.visual.spec.js +252 -0
  470. package/ds-leftnavigation/LeftNavigationCO.js +249 -0
  471. package/ds-list-section-header/ListSectionHeader.visual.spec.js +36 -0
  472. package/ds-list-section-header/ListSectionHeaderCO.js +20 -0
  473. package/ds-loading-Indicator/LoadingIndicator.func.spec.js +16 -0
  474. package/ds-loading-Indicator/LoadingIndicatorCO.js +23 -0
  475. package/ds-menu-item/DSMenuItems.axe-core.func.spec.js +95 -0
  476. package/ds-menu-item/DSMenuItems.func.spec.js +94 -0
  477. package/ds-menu-item/DSMenuItems.visual.spec.js +123 -0
  478. package/ds-menu-item/DSMenuItemsCO.js +35 -0
  479. package/ds-mobile/Accordion/DSAccordion.visual.spec.js +33 -0
  480. package/ds-mobile/Accordion/DSAccordionCO.js +37 -0
  481. package/ds-mobile/CategoryBox/CategoryBox.visual.spec.js +18 -0
  482. package/ds-mobile/CategoryBox/CategoryBoxCO.js +17 -0
  483. package/ds-mobile/CollectionBox/CollectionBox.visual.spec.js +16 -0
  484. package/ds-mobile/CollectionBox/CollectionBoxCO.js +15 -0
  485. package/ds-mobile/GlobalHeader/DSGlobalHeader.visual.spec.js +55 -0
  486. package/ds-mobile/GlobalHeader/DSGlobalHeaderCO.js +36 -0
  487. package/ds-mobile/GroupBox/GroupBox.visual.spec.js +15 -0
  488. package/ds-mobile/GroupBox/GroupBoxCO.js +15 -0
  489. package/ds-mobile/InfiniteLoader/InfiniteLoader.func.spec.js +93 -0
  490. package/ds-mobile/InfiniteLoader/InfiniteLoaderCO.js +29 -0
  491. package/ds-mobile/MobileActionToolbar/MobileActionToolbar.visual.spec.js +39 -0
  492. package/ds-mobile/MobileActionToolbar/MobileActionToolbarCO.js +19 -0
  493. package/ds-mobile/MobileBanner/MobileBanner.visual.spec.js +23 -0
  494. package/ds-mobile/MobileBanner/MobileBannerCO.js +23 -0
  495. package/ds-mobile/MobileCard/Card.func.spec.js +37 -0
  496. package/ds-mobile/MobileCard/Card.visual.spec.js +103 -0
  497. package/ds-mobile/MobileCard/MobileCardCO.js +42 -0
  498. package/ds-mobile/MobileContextMenu/MobileContextMenu.func.spec.js +58 -0
  499. package/ds-mobile/MobileContextMenu/MobileContextMenu.visual.spec.js +28 -0
  500. package/ds-mobile/MobileContextMenu/MobileContextMenuCO.js +66 -0
  501. package/ds-mobile/MobileDatePicker/MobileDatePicker.func.spec.js +15 -0
  502. package/ds-mobile/MobileDatePicker/MobileDatePicker.visual.spec.js +28 -0
  503. package/ds-mobile/MobileDatePicker/MobileDatePickerCO.js +35 -0
  504. package/ds-mobile/MobileDropdownMenu/MobileDropdownMenu.func.spec.js +38 -0
  505. package/ds-mobile/MobileDropdownMenu/MobileDropdownMenu.visual.spec.js +16 -0
  506. package/ds-mobile/MobileDropdownMenu/MobileDropdownMenuCO.js +37 -0
  507. package/ds-mobile/MobileEmptyState/MobileEmptyState.visual.spec.js +15 -0
  508. package/ds-mobile/MobileEmptyState/MobileEmptyStateCO.js +14 -0
  509. package/ds-mobile/MobileFilterbar/MobileFilterbar.visual.spec.js +39 -0
  510. package/ds-mobile/MobileFilterbar/MobileFilterbarCO.js +19 -0
  511. package/ds-mobile/MobileFooter/MobileFooter.func.spec.js +26 -0
  512. package/ds-mobile/MobileFooter/MobileFooter.visual.spec.js +51 -0
  513. package/ds-mobile/MobileFooter/MobileFooterCO.js +27 -0
  514. package/ds-mobile/MobileListItem/MobileListItem.visual.spec.js +56 -0
  515. package/ds-mobile/MobileListItem/MobileListItemCO.js +19 -0
  516. package/ds-mobile/MobileLoadingPage/MobileLoadingPage.visual.spec.js +37 -0
  517. package/ds-mobile/MobileLoadingPage/MobileLoadingPageCO.js +19 -0
  518. package/ds-mobile/MobilePageHeader/MobilePageHeader.func.spec.js +22 -0
  519. package/ds-mobile/MobilePageHeader/MobilePageHeader.visual.spec.js +135 -0
  520. package/ds-mobile/MobilePageHeader/MobilePageHeaderCO.js +67 -0
  521. package/ds-mobile/MobileSelectList/MobileSelectList.visual.spec.js +56 -0
  522. package/ds-mobile/MobileSelectList/MobileSelectListCO.js +21 -0
  523. package/ds-mobile/MobileSeparator/MobileSeparator.visual.spec.js +28 -0
  524. package/ds-mobile/MobileSeparator/MobileSeparatorCO.js +17 -0
  525. package/ds-mobile/MobileTimePicker/MobileTimePickerCO.js +41 -0
  526. package/ds-mobile/Modal/MobileModal.visual.spec.js +56 -0
  527. package/ds-mobile/Modal/MobileModalCO.js +28 -0
  528. package/ds-mobile/PageFilter/PageFilter.visual.spec.js +46 -0
  529. package/ds-mobile/PageFilter/PageFilterCO.js +19 -0
  530. package/ds-mobile/PageForm/PageForm.visual.spec.js +14 -0
  531. package/ds-mobile/PageForm/PageFormCO.js +11 -0
  532. package/ds-mobile/PageList/PageList.visual.spec.js +31 -0
  533. package/ds-mobile/PageList/PageListCO.js +19 -0
  534. package/ds-mobile/PageSummary/PageSummary.visual.spec.js +20 -0
  535. package/ds-mobile/PageSummary/PageSummaryCO.js +11 -0
  536. package/ds-mobile/SwipeToRefresh/SwipeToRefresh.func.spec.js +26 -0
  537. package/ds-mobile/SwipeToRefresh/SwipeToRefreshCO.js +20 -0
  538. package/ds-mobile/Tabs/MobileTabs.visual.spec.js +91 -0
  539. package/ds-mobile/Tabs/TabsCO.js +37 -0
  540. package/ds-mobile/Tooltip/MobileTooltip.func.spec.js +17 -0
  541. package/ds-mobile/Tooltip/MobileTooltip.visual.spec.js +16 -0
  542. package/ds-mobile/Tooltip/TooltipCO.js +23 -0
  543. package/ds-mobile/helpers.js +7 -0
  544. package/ds-modal/Modal.func.spec.js +35 -0
  545. package/ds-modal/Modal.visual.spec.js +84 -0
  546. package/ds-modal/ModalCO.js +43 -0
  547. package/ds-modal-slide/ModalSlide.func.spec.js +69 -0
  548. package/ds-modal-slide/ModalSlide.visual.spec.js +121 -0
  549. package/ds-modal-slide/ModalSlideCO.js +77 -0
  550. package/ds-notification-badge/DSNotificationBadge.axe-core.func.spec.js +62 -0
  551. package/ds-notification-badge/DSNotificationBadge.visual.spec.js +72 -0
  552. package/ds-notification-badge/DSNotificationBadgeCO.js +26 -0
  553. package/ds-page-header/DSPageHeader.axe-core.func.spec.js +41 -0
  554. package/ds-page-header/DSPageHeader.visual.spec.js +128 -0
  555. package/ds-page-header/DSPageHeaderCO.js +68 -0
  556. package/ds-page-layout/PageLayout.visual.spec.js +44 -0
  557. package/ds-page-layout/PageLayoutCO.js +23 -0
  558. package/ds-pagination/DSPagination.visual.spec.js +20 -0
  559. package/ds-pagination/DSPaginationCO.js +40 -0
  560. package/ds-pills/DSLabeledDropdownSinglePill.visual.spec.js +19 -0
  561. package/ds-pills/DSPills.func.spec.js +125 -0
  562. package/ds-pills/DSPills.visual.spec.js +74 -0
  563. package/ds-pills/DSPillsCO.js +110 -0
  564. package/ds-pills-v2/DSPills.axe-core.func.spec.js +136 -0
  565. package/ds-pills-v2/DSPills.func.spec.js +46 -0
  566. package/ds-pills-v2/DSPills.visual.spec.js +93 -0
  567. package/ds-pills-v2/DSPillsV2CO.js +70 -0
  568. package/ds-progress-indicator/DSProgressIndicator.func.spec.js +14 -0
  569. package/ds-progress-indicator/DSProgressIndicator.visual.spec.js +15 -0
  570. package/ds-progress-indicator/DSProgressIndicatorCO.js +24 -0
  571. package/ds-query-builder/DSQueryBuilder.error-states.spec.js +49 -0
  572. package/ds-query-builder/DSQueryBuilder.func.spec.js +72 -0
  573. package/ds-query-builder/DSQueryBuilder.visual.spec.js +121 -0
  574. package/ds-query-builder/DSQueryBuilderCO.js +153 -0
  575. package/ds-read-more/DSReadMore.func.spec.js +117 -0
  576. package/ds-read-more/DSReadMore.visual.spec.js +66 -0
  577. package/ds-read-more/DSReadMoreCO.js +52 -0
  578. package/ds-ribbon/DSRibbon.visual.spec.js +16 -0
  579. package/ds-ribbon/DSRibbonCO.js +15 -0
  580. package/ds-separator-v2/DSSeparatorV2.visual.spec.js +14 -0
  581. package/ds-separator-v2/DSSeparatorV2CO.js +11 -0
  582. package/ds-shuttle/DSShuttle-infinite-scroll.func.spec.js +67 -0
  583. package/ds-shuttle/DSShuttle-infinite-scroll.visual.spec.js +65 -0
  584. package/ds-shuttle/DSShuttle-truncate-option.visual.spec.js +23 -0
  585. package/ds-shuttle/DSShuttle.func.spec.js +138 -0
  586. package/ds-shuttle/DSShuttleCO.js +193 -0
  587. package/ds-shuttle-v2/DSShuttleV2CO.js +173 -0
  588. package/ds-shuttle-v2/basic/DSShuttleV2.a11y.func.spec.js +43 -0
  589. package/ds-shuttle-v2/basic/DSShuttleV2.axe-core.func.spec.js +74 -0
  590. package/ds-shuttle-v2/basic/DSShuttleV2.func.spec.js +67 -0
  591. package/ds-shuttle-v2/basic/DSShuttleV2.keyboard.func.spec.js +260 -0
  592. package/ds-shuttle-v2/basic/DSShuttleV2.visual.spec.js +198 -0
  593. package/ds-shuttle-v2/drillingdown/DSShuttleV2.drilldown.axe-core.func.spec.js +83 -0
  594. package/ds-shuttle-v2/drillingdown/DSShuttleV2.drilldown.func.spec.js +108 -0
  595. package/ds-shuttle-v2/drillingdown/DSShuttleV2.drilldown.kb.func.spec.js +151 -0
  596. package/ds-shuttle-v2/extra/DSShuttleV2.extra.axe-core.func.spec.js +28 -0
  597. package/ds-shuttle-v2/extra/DSShuttleV2.extra.func.spec.js +35 -0
  598. package/ds-shuttle-v2/extra/DSShuttleV2.extra.visual.spec.js +30 -0
  599. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.axe-core.func.spec.js +35 -0
  600. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.func.spec.js +65 -0
  601. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.kb.func.spec.js +50 -0
  602. package/ds-shuttle-v2/globalcheckbox/DSShuttleV2.globalcheckbox.axe-core.func.spec.js +33 -0
  603. package/ds-shuttle-v2/globalcheckbox/DSShuttleV2.globalcheckbox.func.spec.js +106 -0
  604. package/ds-shuttle-v2/globalcheckbox/DSShuttleV2.globalcheckbox.kb.func.spec.js +67 -0
  605. package/ds-shuttle-v2/items/DSShuttleV2.items.axe-core.func.spec.js +68 -0
  606. package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +110 -0
  607. package/ds-shuttle-v2/items/DSShuttleV2.items.kb.func.spec.js +44 -0
  608. package/ds-side-panel/DSSidePanel.func.spec.js +98 -0
  609. package/ds-side-panel/DSSidePanelCO.js +47 -0
  610. package/ds-side-panel/DSSlidePanel.visual.spec.js +61 -0
  611. package/ds-skeleton/DSSkeleton.js +11 -0
  612. package/ds-skipTo/DSSkipTo.func.spec.js +85 -0
  613. package/ds-skipTo/DSSkipToCO.js +28 -0
  614. package/ds-slider/DSSlider.func.spec.js +17 -0
  615. package/ds-slider/DSSlider.visual.spec.js +51 -0
  616. package/ds-slider/DSSliderCO.js +37 -0
  617. package/ds-squareindicator/DSSquareIndicator.func.spec.js +17 -0
  618. package/ds-squareindicator/DSSquareIndicator.visual.spec.js +21 -0
  619. package/ds-squareindicator/DSSquareIndicatorCO.js +37 -0
  620. package/ds-stepper/Stepper.func.spec.js +30 -0
  621. package/ds-stepper/Stepper.visual.spec.js +57 -0
  622. package/ds-stepper/StepperCO.js +32 -0
  623. package/ds-svg/DSSvg.func.spec.js +54 -0
  624. package/ds-svg/DSSvg.visual.spec.js +58 -0
  625. package/ds-svg/DSSvgCO.js +37 -0
  626. package/ds-tabs/DSTabs.func.spec.js +160 -0
  627. package/ds-tabs/DSTabs.visual.spec.js +268 -0
  628. package/ds-tabs/DSTabsCO.js +122 -0
  629. package/ds-text-box/DSTextBox.func.spec.js +40 -0
  630. package/ds-text-box/DSTextBox.visual.spec.js +51 -0
  631. package/ds-text-box/DSTextBoxCO.js +40 -0
  632. package/ds-time-picker/DSTimePicker.func.spec.js +48 -0
  633. package/ds-time-picker/DSTimePickerCO.js +113 -0
  634. package/ds-toast/DSToast.axe-core.func.spec.js +35 -0
  635. package/ds-toast/DSToast.func.spec.js +29 -0
  636. package/ds-toast/DSToast.visual.spec.js +216 -0
  637. package/ds-toast/DSToastCO.js +84 -0
  638. package/ds-toggle/DSToggle.axe-core.spec.js +35 -0
  639. package/ds-toggle/DSToggle.func.spec.js +124 -0
  640. package/ds-toggle/DSToggle.visual.spec.js +55 -0
  641. package/ds-toggle/DSToggleCO.js +61 -0
  642. package/ds-toolbar/Toolbar.func.spec.js +26 -0
  643. package/ds-toolbar/ToolbarCO.js +23 -0
  644. package/ds-toolbar-v2/DSToolbarV2.func.spec.js +61 -0
  645. package/ds-toolbar-v2/DSToolbarV2.visual.spec.js +94 -0
  646. package/ds-toolbar-v2/DSToolbarV2CO.js +31 -0
  647. package/ds-tooltip/DSTooltip.func.spec.js +86 -0
  648. package/ds-tooltip/DSTooltip.visual.spec.js +31 -0
  649. package/ds-tooltip/DSTooltipCO.js +44 -0
  650. package/ds-transition/DSTransition.visual.spec.js +40 -0
  651. package/ds-transition/DSTransitionCO.js +19 -0
  652. package/ds-treeview/DSTreeViewCO.js +465 -0
  653. package/ds-treeview/TreeView-autoscroll.func.spec.js +47 -0
  654. package/ds-treeview/TreeView-controlled.func.spec.js +62 -0
  655. package/ds-treeview/TreeView-dnd.func.spec.js +104 -0
  656. package/ds-treeview/TreeView-dnd.visual.spec.js +41 -0
  657. package/ds-treeview/TreeView-expand-collapse.func.spec.js +96 -0
  658. package/ds-treeview/TreeView-right-addon.func.spec.js +80 -0
  659. package/ds-treeview/TreeView-search.func.spec.js +138 -0
  660. package/ds-treeview/TreeView-single-multi.func.spec.js +416 -0
  661. package/ds-treeview/TreeView-specs.func.spec.js +39 -0
  662. package/ds-treeview/TreeView-states.func.spec.js +155 -0
  663. package/ds-treeview/TreeView-truncate-tooltip.func.spec.js +20 -0
  664. package/ds-treeview/Treeview.visual.spec.js +116 -0
  665. package/ds-typography/DSTypography.func.spec.js +23 -0
  666. package/ds-typography/DSTypography.resize.visual.spec.js +69 -0
  667. package/ds-typography/DSTypography.visual.spec.js +72 -0
  668. package/ds-typography/DSTypographyCO.js +34 -0
  669. package/ds-uploader/Uploader.func.spec.js +29 -0
  670. package/ds-uploader/Uploader.visual.spec.js +45 -0
  671. package/ds-uploader/UploaderCO.js +38 -0
  672. package/ds-virtuallist/DSVirtualList.visual.spec.js +31 -0
  673. package/ds-virtuallist/DSVirtualListCO.js +23 -0
  674. package/ds-wizard/DSWizard.axe-core.func.spec.js +53 -0
  675. package/ds-wizard/DSWizard.visual.spec.js +49 -0
  676. package/ds-wizard/DSWizardCO.js +25 -0
  677. package/ds-wysiwyg/DSWysiwyg.func.spec.js +234 -0
  678. package/ds-wysiwyg/DSWysiwyg.image-positioning.func.spec.js +43 -0
  679. package/ds-wysiwyg/DSWysiwyg.visual.spec.js +81 -0
  680. package/ds-wysiwyg/DSWysiwygCO.js +166 -0
  681. package/ds-zipcode-search/DSZipCodeSearch.func.spec.js +55 -0
  682. package/ds-zipcode-search/DSZipCodeSearchCO.js +37 -0
  683. package/ds-zoom/DSZoom.func.spec.js +17 -0
  684. package/ds-zoom/DSZoom.visual.spec.js +26 -0
  685. package/ds-zoom/DSZoomCO.js +28 -0
  686. package/gestures.js +182 -0
  687. package/helpers.js +413 -0
  688. package/jsconfig.json +5 -0
  689. package/package.json +125 -0
  690. package/utils.js +1 -0
  691. package/z-index/ZIndex.visual.spec.js +183 -0
  692. package/z-index/ZindexCO.js +155 -0
  693. package/zzz-eol/ds-date-range-selector/DSDateRangeSelector.axe-core.func.spec.js +48 -0
  694. package/zzz-eol/ds-date-range-selector/DSDateRangeSelector.func.spec.js +22 -0
  695. package/zzz-eol/ds-date-range-selector/DSDateRangeSelector.visual.spec.js +115 -0
  696. package/zzz-eol/ds-date-range-selector/DSDateRangeSelectorCO.js +44 -0
  697. package/zzz-eol/ds-group-box/DSGroupBox.axe-core.func.spec.js +28 -0
  698. package/zzz-eol/ds-group-box/DSGroupBox.visual.spec.js +44 -0
  699. package/zzz-eol/ds-group-box/DSGroupBoxCO.js +29 -0
  700. package/zzz-eol/ds-mini-toolbar/MiniToolbal.axe-core.func.spec.js +26 -0
  701. package/zzz-eol/ds-mini-toolbar/MiniToolbal.func.spec.js +82 -0
  702. package/zzz-eol/ds-mini-toolbar/MiniToolbal.visual.spec.js +34 -0
  703. package/zzz-eol/ds-mini-toolbar/MiniToolbarCO.js +45 -0
@@ -0,0 +1,104 @@
1
+ import DSBreadcrumbCO from './DSBreadcrumbCO';
2
+ import { mouseOver } from '../helpers';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-3979 - Breadcrumb, with title', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSBreadcrumbCO.titleURL.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+ it('should display a title variant correctly', async () => {
11
+ const breadcrumb = await DSBreadcrumbCO.getBreadcrumb();
12
+ await breadcrumb.waitForDisplayed({ timeout: 5000 });
13
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('title'));
14
+ await expect(snapshot).toEqual(0);
15
+ });
16
+ });
17
+
18
+ describe('PUI-3979 - Breadcrumb, without title', () => {
19
+ before('loading page', async () => {
20
+ const errorOnGo = await DSBreadcrumbCO.basicURL.go();
21
+ if (errorOnGo) throw errorOnGo;
22
+ });
23
+ it('should display a trailing slash for non title variant', async () => {
24
+ const breadcrumb = await DSBreadcrumbCO.getBreadcrumb();
25
+ await breadcrumb.waitForDisplayed({ timeout: 5000 });
26
+ const otherBreadcrumb = await DSBreadcrumbCO.getBreadcrumbItems(2);
27
+ await mouseOver(otherBreadcrumb);
28
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('non-title'));
29
+ await expect(snapshot).toEqual(0);
30
+ });
31
+ });
32
+
33
+ describe('PUI-6491 - Breadcrumb, Truncation - Visual Test', () => {
34
+ before('loading page', async () => {
35
+ const errorOnGo = await DSBreadcrumbCO.ucTruncatedURL.go();
36
+ if (errorOnGo) throw errorOnGo;
37
+ });
38
+ it('should show every link truncated', async () => {
39
+ const breadcrumb = await DSBreadcrumbCO.getBreadcrumb();
40
+ await breadcrumb.waitForDisplayed({ timeout: 5000 });
41
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('breadcrumb-all-truncated'));
42
+ await expect(snapshot).toEqual(0);
43
+ });
44
+ it('should show one the links not truncated after mouse hover', async () => {
45
+ const breadcrumb = await DSBreadcrumbCO.getBreadcrumb();
46
+ await breadcrumb.waitForDisplayed({ timeout: 5000 });
47
+ const bcLink = await DSBreadcrumbCO.getBreadcrumbItem('Aenean non ante eu nunc volutpat');
48
+ if (browser.capabilities.browserName !== 'firefox') {
49
+ await mouseOver(bcLink);
50
+ } else {
51
+ await bcLink.moveTo();
52
+ }
53
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('breadcrumb-one-not-truncated'));
54
+ await expect(snapshot).toEqual(0);
55
+ });
56
+ });
57
+
58
+ describe('PUI-9458 - Breadcrumb, Custom colors - Visual Test', () => {
59
+ before('loading page', async () => {
60
+ const errorOnGo = await DSBreadcrumbCO.colorsURL.go();
61
+ if (errorOnGo) throw errorOnGo;
62
+ });
63
+ it('should breadcrumb of different custom colors', async () => {
64
+ const breadcrumb = await DSBreadcrumbCO.getBreadcrumb();
65
+ await breadcrumb.waitForDisplayed({ timeout: 5000 });
66
+ const otherBreadcrumb = await DSBreadcrumbCO.getBreadcrumbItems(2);
67
+ await mouseOver(otherBreadcrumb);
68
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('breadcrumb-custom-colors'));
69
+ await expect(snapshot).toEqual(0);
70
+ });
71
+ });
72
+
73
+ describe('PUI-9459 - Breadcrumb, Above title - Visual Test', () => {
74
+ before('loading page', async () => {
75
+ const errorOnGo = await DSBreadcrumbCO.aboveTitle.go();
76
+ if (errorOnGo) throw errorOnGo;
77
+ });
78
+ it('should show breadcrumb above title', async () => {
79
+ const breadcrumb = await DSBreadcrumbCO.getBreadcrumb();
80
+ await breadcrumb.waitForDisplayed({ timeout: 5000 });
81
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('breadcrumb-above-title'));
82
+ await expect(snapshot).toEqual(0);
83
+ });
84
+ it('should show hovered editable title', async () => {
85
+ const title = await DSBreadcrumbCO.getEditableTitle();
86
+ await mouseOver(title);
87
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('breadcrumb-hovered-title'));
88
+ await expect(snapshot).toEqual(0);
89
+ });
90
+ });
91
+
92
+ describe('PUI-9462 - Breadcrumb, Active - Visual Test', () => {
93
+ before('loading page', async () => {
94
+ const errorOnGo = await DSBreadcrumbCO.activeURL.go();
95
+ if (errorOnGo) throw errorOnGo;
96
+ });
97
+ it('should display the breadcrumb item 7 as active by default', async () => {
98
+ const breadcrumb = await DSBreadcrumbCO.getBreadcrumb();
99
+ await breadcrumb.waitForDisplayed({ timeout: 5000 });
100
+ const snapshot = await browser.checkSnapshot(DSBreadcrumbCO.snapshotPath('breadcrumb-active-7'));
101
+ await expect(snapshot).toEqual(0);
102
+ });
103
+ });
104
+ }
@@ -0,0 +1,60 @@
1
+ // eslint-disable-next-line import/no-relative-packages
2
+ import { PATH_E2E_BREADCRUMB } from '../../environments/storybook/paths';
3
+ import { PageObject, Urlbuilder } from '../helpers';
4
+
5
+ export default class DSBreadcrumbCO extends PageObject {
6
+ static basicURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'basic-test');
7
+
8
+ static titleURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'title-test');
9
+
10
+ static onClickURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'on-click-test');
11
+
12
+ static hrefURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'href-test');
13
+
14
+ static activeURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'active-test');
15
+
16
+ static ucTruncatedURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'bread-crumb-truncated');
17
+
18
+ static containerProps = new Urlbuilder(PATH_E2E_BREADCRUMB, 'container-props-test');
19
+
20
+ static colorsURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'color-test');
21
+
22
+ static aboveTitle = new Urlbuilder(PATH_E2E_BREADCRUMB, 'above-title-test');
23
+
24
+ static asURL = new Urlbuilder(PATH_E2E_BREADCRUMB, 'as-test');
25
+
26
+ // Snapshots
27
+ static snapshotPath(example = 'basic') {
28
+ return PageObject.getSnapshotPathBuilder('Breadcrumb', example);
29
+ }
30
+
31
+ // selectors
32
+ static async getBreadcrumb() {
33
+ return $('[data-testid="breadcrumb-nav-container"]');
34
+ }
35
+
36
+ static async getBreadcrumbItems(index) {
37
+ return $$('//li[@data-testid="breadcrumb-item-container"]/a')[index];
38
+ }
39
+
40
+ static async getBreadcrumbItem(text) {
41
+ return $(`a*=${text}`);
42
+ }
43
+
44
+ static async getCounter(customText) {
45
+ return $(`h3*=${customText}`);
46
+ }
47
+
48
+ static async getBreadcrumbCustomId() {
49
+ return $(`[id="my-custom-id"]`);
50
+ }
51
+
52
+ static async getEditableTitle() {
53
+ return $(`[data-testid="ds-page-header-editable-title"]`);
54
+ }
55
+
56
+ static async getItemColor(text) {
57
+ const color = await (await this.getBreadcrumbItem(text)).getCSSProperty('color');
58
+ return color.parsed.hex;
59
+ }
60
+ }
@@ -0,0 +1,16 @@
1
+ import DSButtonGroupCO from './DSButtonGroupCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-5602 - ButtonGroup- visual tests', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSButtonGroupCO.showcaseURL.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('button group showcase', async () => {
10
+ const button = await DSButtonGroupCO.getButtons(0);
11
+ await button.waitForDisplayed({ timeout: 10000 });
12
+ const snapshot = await browser.checkSnapshot(DSButtonGroupCO.snapshotPath('button-group-showcase'));
13
+ await expect(snapshot).toEqual(0);
14
+ });
15
+ });
16
+ }
@@ -0,0 +1,20 @@
1
+ import { PATH_END_OF_LIFE_BUTTON_GROUP } from '../../environments/storybook/paths';
2
+ import { PageObject, Urlbuilder } from '../helpers';
3
+
4
+ export default class DSButtonCO extends PageObject {
5
+ // Atomic
6
+ static showcaseURL = new Urlbuilder(PATH_END_OF_LIFE_BUTTON_GROUP, 'showcase');
7
+
8
+ // Snapshot
9
+ static snapshotPath(example = 'basic') {
10
+ return PageObject.getSnapshotPathBuilder('ButtonGroup', example);
11
+ }
12
+
13
+ // selectors
14
+ static async getButtons(index) {
15
+ return $$('[data-testid="button-wrapper"]')[index];
16
+ }
17
+
18
+ // actions
19
+ // utils
20
+ }
@@ -0,0 +1,23 @@
1
+ import DSButtonCO from './DSButtonCO';
2
+ import { mouseOver } from '../helpers';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-6229 - Button enabled/disabled - should show tooltip', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSButtonCO.tooltipURL.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+ it('with disabled state having a wrapper', async () => {
11
+ const target = await DSButtonCO.getDisabledButton();
12
+ await mouseOver(target, 75, 14);
13
+ const tooltip = await DSButtonCO.getTooltip1();
14
+ await expect(tooltip).toBeDisplayed();
15
+ });
16
+ it('with enabled state', async () => {
17
+ const target = await DSButtonCO.getEnabledButton();
18
+ await mouseOver(target, 75, 14);
19
+ const tooltip = await DSButtonCO.getTooltip2();
20
+ await expect(tooltip).toBeDisplayed();
21
+ });
22
+ });
23
+ }
@@ -0,0 +1,16 @@
1
+ import DSButtonCO from './DSButtonCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-3479 - Button - visual tests', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSButtonCO.showcaseURL.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('button showcase', async () => {
10
+ const button = await DSButtonCO.getButtons(0);
11
+ await button.waitForDisplayed({ timeout: 5000 });
12
+ const snapshot = await browser.checkSnapshot(DSButtonCO.snapshotPath('button-showcase'));
13
+ await expect(snapshot).toEqual(0);
14
+ });
15
+ });
16
+ }
@@ -0,0 +1,38 @@
1
+ import { PATH_END_OF_LIFE_BUTTON, PATH_E2E_BUTTON } from '../../environments/storybook/paths';
2
+ import { PageObject, Urlbuilder } from '../helpers';
3
+ export default class DSButtonCO extends PageObject {
4
+ // Atomic
5
+ static showcaseURL = new Urlbuilder(PATH_END_OF_LIFE_BUTTON, 'showcase');
6
+
7
+ // use case
8
+ static tooltipURL = new Urlbuilder(PATH_E2E_BUTTON, 'button-with-tooltip');
9
+
10
+ // Snapshot
11
+ static snapshotPath(example = 'basic') {
12
+ return PageObject.getSnapshotPathBuilder('Button', example);
13
+ }
14
+
15
+ // selectors
16
+ static async getButtons(index) {
17
+ return $$('[data-testid="button-wrapper"]')[index];
18
+ }
19
+
20
+ static async getEnabledButton() {
21
+ return $('[data-testid="button-enable"]');
22
+ }
23
+
24
+ static async getDisabledButton() {
25
+ return $('[data-testid="disabled-wrapper"]');
26
+ }
27
+
28
+ static async getTooltip1() {
29
+ return $('[data-testid="tooltip-1"]');
30
+ }
31
+
32
+ static async getTooltip2() {
33
+ return $('[data-testid="tooltip-2"]');
34
+ }
35
+
36
+ // actions
37
+ // utils
38
+ }
@@ -0,0 +1,22 @@
1
+ import { axeCoreCheck } from '../helpers';
2
+ import DSButtonV2CO from './DSButtonV2CO';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-10223 - ButtonV2 - axe core', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSButtonV2CO.interactionStates.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+ it('01: Evaluate checkbox accessibility with axe-core', async () => {
16
+ const button = await DSButtonV2CO.getButtonByIndex(0);
17
+ await button.waitForDisplayed({ timeout: 5000 });
18
+ const result = await axeCoreCheck();
19
+ expect(result.length).toBe(0);
20
+ });
21
+ });
22
+ }
@@ -0,0 +1,139 @@
1
+ import { Key } from 'webdriverio';
2
+ import DSButtonV2CO from './DSButtonV2CO';
3
+ import { mouseOver, type } from '../helpers';
4
+
5
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
+ describe('PUI-9507 - ButtonV2 - React events', () => {
7
+ before('loading page', async () => {
8
+ const errorOnGo = await DSButtonV2CO.callbacks.go();
9
+ if (errorOnGo) throw errorOnGo;
10
+ });
11
+ it('01: should perform mouseOver action and increase the counter by one', async () => {
12
+ const button = await DSButtonV2CO.getButtonByIndex(0);
13
+ await button.waitForDisplayed({ timeout: 5000 });
14
+ await mouseOver(button);
15
+ const testData = await (await DSButtonV2CO.getTestData(5)).getText();
16
+ await expect(testData).toEqual('MouseOver counter 1');
17
+ });
18
+ it('02: should perform click action and increase the counter by one (also focus counter)', async () => {
19
+ const button = await DSButtonV2CO.getButtonByIndex(0);
20
+ await button.click();
21
+ if (browser.capabilities.browserName === 'Safari') {
22
+ // Safaris doesn't mantain focus on click
23
+ await browser.keys([Key.Shift, Key.Tab]); // Focus with keyboard to match other browsers
24
+ }
25
+ const testData = await (await DSButtonV2CO.getTestData(2)).getText();
26
+ await expect(testData).toEqual('Click counter 1');
27
+ const testData2 = await (await DSButtonV2CO.getTestData(3)).getText();
28
+ await expect(testData2).toEqual('Focus counter 1');
29
+ });
30
+ // eslint-disable-next-line max-len
31
+ it('03: should perform keyDown action (enter and space) and increase the counter by two (also click counter)', async () => {
32
+ await browser.keys(Key.Return);
33
+ await browser.keys(Key.Space);
34
+ const testData = await (await DSButtonV2CO.getTestData(1)).getText();
35
+ await expect(testData).toEqual('KeyDown counter 2');
36
+ const testData2 = await (await DSButtonV2CO.getTestData(2)).getText();
37
+ await expect(testData2).toEqual('Click counter 3');
38
+ });
39
+ // eslint-disable-next-line max-len
40
+ it('04: should perform keyDown action (NOT enter and space) and increase the counter by one (NOT click counter)', async () => {
41
+ await type('j');
42
+ const testData = await (await DSButtonV2CO.getTestData(1)).getText();
43
+ await expect(testData).toEqual('KeyDown counter 3');
44
+ const testData2 = await (await DSButtonV2CO.getTestData(2)).getText();
45
+ await expect(testData2).toEqual('Click counter 3');
46
+ });
47
+ it('05: should perform blur action and increase the counter by one', async () => {
48
+ const textUsedToBlur = await DSButtonV2CO.getTestData(1);
49
+ await textUsedToBlur.click();
50
+ const testData = await (await DSButtonV2CO.getTestData(4)).getText();
51
+ await expect(testData).toEqual('Blur counter 1');
52
+ });
53
+ it('06: should focus with keyboard and check all the counters', async () => {
54
+ await browser.keys([Key.Shift, Key.Tab]);
55
+ const testData1 = await (await DSButtonV2CO.getTestData(1)).getText();
56
+ const testData2 = await (await DSButtonV2CO.getTestData(2)).getText();
57
+ const testData3 = await (await DSButtonV2CO.getTestData(3)).getText();
58
+ const testData4 = await (await DSButtonV2CO.getTestData(4)).getText();
59
+ const testData5 = await (await DSButtonV2CO.getTestData(5)).getText();
60
+ await expect(testData1).toEqual('KeyDown counter 3');
61
+ await expect(testData2).toEqual('Click counter 3');
62
+ await expect(testData3).toEqual('Focus counter 2');
63
+ await expect(testData4).toEqual('Blur counter 1');
64
+ await expect(testData5).toEqual('MouseOver counter 1');
65
+ });
66
+ });
67
+
68
+ describe('PUI-9508 - ButtonV2 - Toggle, pressed attribute', () => {
69
+ before('loading page', async () => {
70
+ const errorOnGo = await DSButtonV2CO.asToggle.go();
71
+ if (errorOnGo) throw errorOnGo;
72
+ });
73
+ it('01: should press the button as a toggle and have its aria-attribute as true', async () => {
74
+ const button = await DSButtonV2CO.getButtonByIndex(0);
75
+ await button.waitForDisplayed({ timeout: 5000 });
76
+ await button.click();
77
+ const isPressed = await button.getAttribute('aria-pressed');
78
+ await expect(isPressed).toEqual('true');
79
+ });
80
+ it('02: should press again the button as a toggle and have its aria-attribute as false', async () => {
81
+ const button = await DSButtonV2CO.getButtonByIndex(0);
82
+ await button.waitForDisplayed({ timeout: 5000 });
83
+ await button.click();
84
+ const isPressed = await button.getAttribute('aria-pressed');
85
+ await expect(isPressed).toEqual('false');
86
+ });
87
+ });
88
+
89
+ describe('PUI-9641 - ButtonV2 - Tooltip enabled/disabled, mouse/keyboard', () => {
90
+ before('loading page', async () => {
91
+ const errorOnGo = await DSButtonV2CO.tooltip.go();
92
+ if (errorOnGo) throw errorOnGo;
93
+ });
94
+ it('01: should hover enabled button and display tooltip', async () => {
95
+ const button = await DSButtonV2CO.getButtonByIndex(1);
96
+ await mouseOver(button);
97
+ const tooltip = await DSButtonV2CO.getTooltip();
98
+ await expect(tooltip).toBeDisplayedInViewport();
99
+ });
100
+ it('02: should hover disabled button and display tooltip', async () => {
101
+ const button = await DSButtonV2CO.getButtonByIndex(0);
102
+ await mouseOver(button);
103
+ const tooltip = await DSButtonV2CO.getTooltip();
104
+ await expect(tooltip).toBeDisplayedInViewport();
105
+ });
106
+ it('03: should not display tooltip when not hovering the button', async () => {
107
+ const button = await DSButtonV2CO.getButtonByIndex(0);
108
+ await mouseOver(button, 200, 200);
109
+ const tooltip = await DSButtonV2CO.getTooltip();
110
+ await expect(tooltip).not.toBeDisplayedInViewport();
111
+ });
112
+ it('04: should focus with tab enabled button and display tooltip', async () => {
113
+ await browser.keys(Key.Tab);
114
+ const tooltip = await DSButtonV2CO.getTooltip();
115
+ await expect(tooltip).toBeDisplayedInViewport();
116
+ });
117
+ });
118
+
119
+ describe('PUI-9642 - ButtonV2 - Button, onClick close popups even when disabled', () => {
120
+ before('loading page', async () => {
121
+ const errorOnGo = await DSButtonV2CO.disabledTest.go();
122
+ if (errorOnGo) throw errorOnGo;
123
+ });
124
+ it('01: should expand popup (cant be closed with click at the disabled generic button)', async () => {
125
+ const appPickerTrigger = await DSButtonV2CO.getToolbarItemByIndex(0);
126
+ await appPickerTrigger.waitForDisplayed({ timeout: 5000 });
127
+ await appPickerTrigger.click();
128
+ const appPicker = await $$('[data-testid="app-picker__wrapper"]');
129
+ await expect(appPicker).toBeDisplayedInViewport();
130
+ });
131
+ it('02: should close the popup when clicking the disabled ds-button-v2', async () => {
132
+ const button = await DSButtonV2CO.getButtonByIndex(0);
133
+ await button.waitForDisplayed({ timeout: 5000 });
134
+ await button.click();
135
+ const appPicker = await $$('[data-testid="app-picker__wrapper"]');
136
+ await expect(appPicker).not.toBeDisplayedInViewport();
137
+ });
138
+ });
139
+ }
@@ -0,0 +1,153 @@
1
+ import { Key } from 'webdriverio';
2
+ import DSButtonV2CO from './DSButtonV2CO';
3
+ import { mouseOver } from '../helpers';
4
+
5
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
+ describe('PUI-7782 - ButtonV2 - Interaction States showcase', () => {
7
+ before('loading page', async () => {
8
+ const errorOnGo = await DSButtonV2CO.interactionStates.go();
9
+ if (errorOnGo) throw errorOnGo;
10
+ });
11
+ it('should display button showcase correctly', async () => {
12
+ const button = await DSButtonV2CO.getButtonByIndex(0);
13
+ await button.waitForDisplayed({ timeout: 5000 });
14
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-v2-interaction-states'));
15
+ await expect(snapshot).toEqual(0);
16
+ });
17
+ });
18
+
19
+ describe('PUI-9509 - ButtonV2 - Toggle + Real interaction states', () => {
20
+ before('loading page', async () => {
21
+ const errorOnGo = await DSButtonV2CO.asToggle.go();
22
+ if (errorOnGo) throw errorOnGo;
23
+ });
24
+ it('should display the button as a toggle with default state', async () => {
25
+ const button = await DSButtonV2CO.getButtonByIndex(0);
26
+ await button.waitForDisplayed({ timeout: 5000 });
27
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-toggle-default'));
28
+ await expect(snapshot).toEqual(0);
29
+ });
30
+ it('should display the button as a toggle with focus state and pressed', async () => {
31
+ await browser.keys(Key.Tab);
32
+ await browser.keys(Key.Enter);
33
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-toggle-focus'));
34
+ await expect(snapshot).toEqual(0);
35
+ });
36
+ it('should display the button as a toggle with focus + hover state', async () => {
37
+ const button = await DSButtonV2CO.getButtonByIndex(0);
38
+ await mouseOver(button);
39
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-toggle-focusandhover'));
40
+ await expect(snapshot).toEqual(0);
41
+ });
42
+ it('should display the button as a toggle with hover state', async () => {
43
+ await browser.keys(Key.Tab);
44
+ const button = await DSButtonV2CO.getButtonByIndex(0);
45
+ await mouseOver(button);
46
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-toggle-hover'));
47
+ await expect(snapshot).toEqual(0);
48
+ });
49
+ });
50
+
51
+ describe('PUI-7892 - ButtonV2 - Variants showcase', () => {
52
+ before('loading page', async () => {
53
+ const errorOnGo = await DSButtonV2CO.showcaseURL.go();
54
+ if (errorOnGo) throw errorOnGo;
55
+ });
56
+ it('should display button showcase correctly', async () => {
57
+ const button = await DSButtonV2CO.getButtonByIndex(0);
58
+ await button.waitForDisplayed({ timeout: 5000 });
59
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-v2-showcase'));
60
+ await expect(snapshot).toEqual(0);
61
+ });
62
+ });
63
+
64
+ describe('PUI-7891 - ButtonV2 - enable/disabled - should show tooltip - keyboard', () => {
65
+ before('loading page', async () => {
66
+ const errorOnGo = await DSButtonV2CO.tooltip.go();
67
+ if (errorOnGo) throw errorOnGo;
68
+ });
69
+ it('should display tooltip over enabled text button', async () => {
70
+ const button = await DSButtonV2CO.getButtonByIndex(1);
71
+ await button.waitForDisplayed({ timeout: 5000 });
72
+ await browser.keys(Key.Tab);
73
+ const tooltip = await DSButtonV2CO.getTooltip();
74
+ await tooltip.waitForDisplayed({ timeout: 5000 });
75
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-v2-tooltip-focused-btn'));
76
+ await expect(snapshot).toEqual(0);
77
+ });
78
+ it('should display tooltip over enabled icon button', async () => {
79
+ await browser.keys(Key.Tab);
80
+ const tooltip = await DSButtonV2CO.getTooltip();
81
+ await tooltip.waitForDisplayed({ timeout: 5000 });
82
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-v2-tooltip-focused-icon-btn'));
83
+ await expect(snapshot).toEqual(0);
84
+ });
85
+ });
86
+
87
+ describe('PUI-8371 - ButtonV2 - Sizes showcase', () => {
88
+ before('loading page', async () => {
89
+ const errorOnGo = await DSButtonV2CO.sizes.go();
90
+ if (errorOnGo) throw errorOnGo;
91
+ });
92
+ it('should display the buttons v2 different sizes', async () => {
93
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-v2-sizes'));
94
+ await expect(snapshot).toEqual(0);
95
+ });
96
+ });
97
+
98
+ describe('PUI-7890 - ButtonV2 - enable/disabled - should show tooltip - hover', () => {
99
+ before('loading page', async () => {
100
+ const errorOnGo = await DSButtonV2CO.tooltip.go();
101
+ if (errorOnGo) throw errorOnGo;
102
+ });
103
+ it('should display tooltip over enabled text button', async () => {
104
+ const button = await DSButtonV2CO.getButtonByIndex(1);
105
+ await button.waitForDisplayed({ timeout: 5000 });
106
+ mouseOver(button);
107
+ const tooltip = await DSButtonV2CO.getTooltip();
108
+ await tooltip.waitForDisplayed({ timeout: 5000 });
109
+ const snapshot = await browser.checkSnapshot(DSButtonV2CO.snapshotPath('ds-button-v2-tooltip-hover-enabled-btn'));
110
+ await expect(snapshot).toEqual(0);
111
+ });
112
+ // known issue in Safari - react
113
+ // https://github.com/facebook/react/issues/4251
114
+ // https://github.com/facebook/react/issues/19419
115
+ if (browser.capabilities.browserName !== 'Safari') {
116
+ it('should display tooltip over disabled text button', async () => {
117
+ const button = await DSButtonV2CO.getButtonByIndex(0);
118
+ mouseOver(button);
119
+ const tooltip = await DSButtonV2CO.getTooltip();
120
+ await tooltip.waitForDisplayed({ timeout: 5000 });
121
+ const snapshot = await browser.checkSnapshot(
122
+ DSButtonV2CO.snapshotPath('ds-button-v2-tooltip-hover-disabled-btn'),
123
+ );
124
+ await expect(snapshot).toEqual(0);
125
+ });
126
+ }
127
+ it('should display tooltip over enabled icon button', async () => {
128
+ const button = await DSButtonV2CO.getButtonByIndex(3);
129
+ mouseOver(button);
130
+ const tooltip = await DSButtonV2CO.getTooltip();
131
+ await tooltip.waitForDisplayed({ timeout: 5000 });
132
+ const snapshot = await browser.checkSnapshot(
133
+ DSButtonV2CO.snapshotPath('ds-button-v2-tooltip-hover-enabled-icon-btn'),
134
+ );
135
+ await expect(snapshot).toEqual(0);
136
+ });
137
+ // known issue in Safari - react
138
+ // https://github.com/facebook/react/issues/4251
139
+ // https://github.com/facebook/react/issues/19419
140
+ if (browser.capabilities.browserName !== 'Safari') {
141
+ it('should display tooltip over disabled icon button', async () => {
142
+ const button = await DSButtonV2CO.getButtonByIndex(2);
143
+ mouseOver(button);
144
+ const tooltip = await DSButtonV2CO.getTooltip();
145
+ await tooltip.waitForDisplayed({ timeout: 5000 });
146
+ const snapshot = await browser.checkSnapshot(
147
+ DSButtonV2CO.snapshotPath('ds-button-v2-tooltip-hover-disabled-icon-btn'),
148
+ );
149
+ await expect(snapshot).toEqual(0);
150
+ });
151
+ }
152
+ });
153
+ }
@@ -0,0 +1,43 @@
1
+ import { PATH_E2E_BUTTON_V2 } from '../../environments/storybook/paths';
2
+ import { PageObject, Urlbuilder } from '../helpers';
3
+ export default class DSButtonV2CO extends PageObject {
4
+ // Atomic
5
+ static showcaseURL = new Urlbuilder(PATH_E2E_BUTTON_V2, 'showcase-test');
6
+
7
+ static asToggle = new Urlbuilder(PATH_E2E_BUTTON_V2, 'button-as-toggle-test');
8
+
9
+ static callbacks = new Urlbuilder(PATH_E2E_BUTTON_V2, 'callbacks-test');
10
+
11
+ static disabledTest = new Urlbuilder(PATH_E2E_BUTTON_V2, 'disabled-test');
12
+
13
+ static tooltip = new Urlbuilder(PATH_E2E_BUTTON_V2, 'button-with-tooltip-test');
14
+
15
+ static sizes = new Urlbuilder(PATH_E2E_BUTTON_V2, 'size-test');
16
+
17
+ static interactionStates = new Urlbuilder(PATH_E2E_BUTTON_V2, 'interaction-states-showcase-test');
18
+
19
+ // Snapshot
20
+ static snapshotPath(example = 'basic') {
21
+ return PageObject.getSnapshotPathBuilder('ButtonV2', example);
22
+ }
23
+
24
+ // selectors
25
+ static async getButtonByIndex(index) {
26
+ return $$('[data-testid="ds-button"]')[index];
27
+ }
28
+
29
+ static async getToolbarItemByIndex(index) {
30
+ return $$('[data-testid="gh-toolbar-item"]')[index];
31
+ }
32
+
33
+ static async getTooltip() {
34
+ return $('[data-testid="ds-tooltip-v3-tooltip-text-wrapper"]');
35
+ }
36
+
37
+ static async getTestData(index) {
38
+ return $(`[data-testid="test-data-${index}"]`);
39
+ }
40
+
41
+ // actions
42
+ // utils
43
+ }