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,184 @@
1
+ /* eslint-disable max-lines */
2
+ /* eslint-disable wdio/no-pause */
3
+ import { Key } from 'webdriverio';
4
+ import DSDataTableCO from '../DSDataTableCO';
5
+ import { RowCO, HeaderCO, CellCO } from '../components';
6
+ import { mouseOver, getTestData } from '../../helpers';
7
+
8
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
9
+ describe('PUI-8263 - DataTable, toolbar - Functional Test', async () => {
10
+ before('loading page', async () => {
11
+ const errorOnGo = await DSDataTableCO.performance.go();
12
+ if (errorOnGo) throw errorOnGo;
13
+ await DSDataTableCO.waitForDataTable();
14
+ });
15
+ it('01: should not display the overflow menu after hovering the trigger', async () => {
16
+ const otherElement = await RowCO.getRowRadioButtonByIndex(2);
17
+ await mouseOver(otherElement, 10, 10);
18
+ const toolbarMenu = await RowCO.getToolbarMenu();
19
+ await expect(toolbarMenu).not.toBeDisplayedInViewport();
20
+ });
21
+ it('02: should display the overflow menu after clicking the trigger', async () => {
22
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
23
+ await toolbar.click();
24
+ const toolbarMenu = await RowCO.getToolbarMenu();
25
+ await expect(toolbarMenu).toBeDisplayedInViewport();
26
+ });
27
+ it('03: should close the overflow menu after clicking the trigger', async () => {
28
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
29
+ await toolbar.click();
30
+ const toolbarMenu = await RowCO.getToolbarMenu();
31
+ await expect(toolbarMenu).not.toBeDisplayedInViewport();
32
+ });
33
+ });
34
+ describe('PUI-6868 - DataTable, toolbar keyboard navigation - Functional Test', async () => {
35
+ before('loading page', async () => {
36
+ const errorOnGo = await DSDataTableCO.performance.go();
37
+ if (errorOnGo) throw errorOnGo;
38
+ await DSDataTableCO.waitForDataTable();
39
+ });
40
+ it('01: should focus on the toolbar trigger after clicking on a row and pressing tab', async () => {
41
+ const row = await RowCO.getRowByIndex(4);
42
+ const rowCell = await CellCO.getRowCellByIndex(row, 3);
43
+ await rowCell.click();
44
+ await browser.keys(Key.Return);
45
+ await browser.keys(Key.Tab);
46
+ await browser.keys(Key.Tab);
47
+ await browser.keys(Key.Tab);
48
+ const toolbarTrigger = await RowCO.getRowToolbarTriggerByIndex(4);
49
+ await expect(toolbarTrigger).toBeFocused();
50
+ });
51
+ it('02: should open the toolbar menu using the keyboard', async () => {
52
+ await browser.keys(Key.Return);
53
+ const toolbarMenu = await RowCO.getToolbarMenu();
54
+ const firstBt = await RowCO.getToolbarMenuBtsByIndex(0);
55
+ await expect(toolbarMenu).toBeDisplayedInViewport();
56
+ await expect(firstBt).toBeFocused();
57
+ });
58
+ it('03: should navigate through the items using the keyboard - ArrowRight', async () => {
59
+ await browser.keys(Key.ArrowRight);
60
+ await browser.keys(Key.ArrowRight);
61
+ await browser.keys(Key.ArrowRight);
62
+ await browser.keys(Key.ArrowRight);
63
+ await browser.keys(Key.ArrowRight);
64
+ await browser.pause(500);
65
+ const secondBt = await RowCO.getToolbarMenuBtsByIndex(1);
66
+ await expect(secondBt).toBeFocused();
67
+ });
68
+ it('04: should navigate through the items using the keyboard - ArrowLeft', async () => {
69
+ await browser.keys(Key.ArrowLeft);
70
+ await browser.keys(Key.ArrowLeft);
71
+ await browser.keys(Key.ArrowLeft);
72
+ await browser.pause(500);
73
+ const thirdBt = await RowCO.getToolbarMenuBtsByIndex(2);
74
+ await expect(thirdBt).toBeFocused();
75
+ });
76
+ it('05: should close the toolbar and focus return to the trigger btn - Escape', async () => {
77
+ await browser.keys(Key.Escape);
78
+ await browser.pause(500);
79
+ const toolbarMenu = await RowCO.getToolbarMenu();
80
+ const toolbarTrigger = await RowCO.getRowToolbarTriggerByIndex(4);
81
+ await expect(toolbarMenu).not.toBeDisplayedInViewport();
82
+ await expect(toolbarTrigger).toBeFocused();
83
+ });
84
+ it('06: should close the toolbar and focus return to the trigger btn - Enter', async () => {
85
+ await browser.keys(Key.Enter);
86
+ await browser.pause(500);
87
+ const toolbarMenu = await RowCO.getToolbarMenu();
88
+ await toolbarMenu.waitForDisplayed();
89
+ await browser.keys(Key.Tab);
90
+ await browser.keys(Key.Enter);
91
+ const toolbarTrigger = await RowCO.getRowToolbarTriggerByIndex(4);
92
+ await expect(toolbarMenu).not.toBeDisplayedInViewport();
93
+ await expect(toolbarTrigger).toBeFocused();
94
+ });
95
+ });
96
+ // Focus is not displayed when a button is clicked in Safari
97
+ if (browser.capabilities.browserName !== 'Safari') {
98
+ describe('PUI-6869 - DataTable, toolbar mouse navigation - Functional Test', async () => {
99
+ before('loading page', async () => {
100
+ const errorOnGo = await DSDataTableCO.toolbarIntegration.go();
101
+ if (errorOnGo) throw errorOnGo;
102
+ await DSDataTableCO.waitForDataTable();
103
+ });
104
+ it('01: should navigate the toolbar menu using the mouse', async () => {
105
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
106
+ await toolbar.click();
107
+ const toolbarMenu = await RowCO.getToolbarMenu();
108
+ await expect(toolbarMenu).toBeDisplayedInViewport();
109
+ const secondBt = await RowCO.getToolbarMenuBtsByIndex(1);
110
+ await secondBt.click();
111
+ await expect(secondBt).toBeFocused();
112
+ });
113
+ it('02: should navigate again the toolbar menu using the mouse', async () => {
114
+ const thirdBt = await RowCO.getToolbarMenuBtsByIndex(2);
115
+ const secondBt = await RowCO.getToolbarMenuBtsByIndex(1);
116
+ await thirdBt.click();
117
+ await expect(thirdBt).toBeFocused();
118
+ await expect(secondBt).not.toBeFocused();
119
+ });
120
+ });
121
+ }
122
+ describe('PUI-7084 - DataTable, toolbar sticky - Functional Test', async () => {
123
+ before('loading page', async () => {
124
+ const errorOnGo = await DSDataTableCO.toolbarIntegration.go();
125
+ if (errorOnGo) throw errorOnGo;
126
+ await DSDataTableCO.waitForDataTable();
127
+ });
128
+ it('01: should have the toolbar displayed', async () => {
129
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
130
+ await toolbar.click();
131
+ const toolbarMenu = await RowCO.getToolbarMenu();
132
+ await expect(toolbarMenu).toBeDisplayedInViewport();
133
+ });
134
+ it('02: should scroll and the toolbar menu should still be displayed afetr scrolling', async () => {
135
+ await browser.keys(Key.ArrowRight);
136
+ await browser.keys(Key.ArrowRight);
137
+ await browser.keys(Key.ArrowRight);
138
+ await browser.keys(Key.ArrowRight);
139
+ await browser.keys(Key.ArrowRight);
140
+ await browser.keys(Key.ArrowRight); // scrolling
141
+ await browser.pause(5000);
142
+ const toolbarMenu = await RowCO.getToolbarMenu();
143
+ const salaryHeader = await HeaderCO.getHeaderCellByIndex(4);
144
+ await expect(toolbarMenu).toBeDisplayedInViewport();
145
+ await expect(salaryHeader).toBeDisplayedInViewport();
146
+ });
147
+ });
148
+
149
+ describe('PUI-9603 - DataTable, Toolbar items to be triggered - Functional Test', async () => {
150
+ before('loading page', async () => {
151
+ const errorOnGo = await DSDataTableCO.toolbarTriggers.go();
152
+ if (errorOnGo) throw errorOnGo;
153
+ await DSDataTableCO.waitForDataTable();
154
+ });
155
+ it('01: should have the toolbar displayed and no item activated', async () => {
156
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
157
+ await toolbar.click();
158
+ const toolbarMenu = await RowCO.getToolbarMenu();
159
+ const testData = await (await getTestData('1')).getText();
160
+ await expect(toolbarMenu).toBeDisplayedInViewport();
161
+ await expect(testData).toEqual('Toolbar items trigger count: 0');
162
+ });
163
+ it('02: should press enter and toolbar items activations should equal to 1', async () => {
164
+ await browser.keys(Key.Enter);
165
+ const testData = await (await getTestData('1')).getText();
166
+ await expect(testData).toEqual('Toolbar items trigger count: 1');
167
+ });
168
+ it('03: should open toolbar again activate a toolbar item with click', async () => {
169
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(2);
170
+ await toolbar.click();
171
+ const toolbarItem = await RowCO.getToolbarMenuBtsByIndex(1);
172
+ await toolbarItem.click();
173
+ const testData = await (await getTestData('1')).getText();
174
+ await expect(testData).toEqual('Toolbar items trigger count: 2');
175
+ });
176
+ it('04: should open toolbar again activate a toolbar item with spacebar', async () => {
177
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
178
+ await toolbar.click();
179
+ await browser.keys(Key.Space);
180
+ const testData = await (await getTestData('1')).getText();
181
+ await expect(testData).toEqual('Toolbar items trigger count: 3');
182
+ });
183
+ });
184
+ }
@@ -0,0 +1,33 @@
1
+ import DSDataTableCO from '../DSDataTableCO';
2
+ import { RowCO } from '../components';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-7372 - DataTable, toolbar - Visual Test', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSDataTableCO.performance.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ await DSDataTableCO.waitForDataTable();
10
+ });
11
+ it('should display toolbar focused', async () => {
12
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
13
+ await toolbar.click();
14
+ const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('toolbar-focused'));
15
+ await expect(snapshot).toEqual(0);
16
+ });
17
+ });
18
+ describe('PUI-6991 - DataTable, Expandable with toolbar -visual.', async () => {
19
+ before('loading page', async () => {
20
+ const errorOnGo = await DSDataTableCO.performance.go();
21
+ if (errorOnGo) throw errorOnGo;
22
+ await DSDataTableCO.waitForDataTable();
23
+ });
24
+ it('should display the layout with a subbrow expanded and its child expanded', async () => {
25
+ const expandBtn = await RowCO.getRowExpandButtonByIndex(1);
26
+ await expandBtn.click();
27
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(1);
28
+ await toolbar.click();
29
+ const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('datatable-expanded-with-toolbar'));
30
+ await expect(snapshot).toEqual(0);
31
+ });
32
+ });
33
+ }
@@ -0,0 +1,27 @@
1
+ /* eslint-disable wdio/no-pause */
2
+ /* eslint-disable max-len */
3
+
4
+ import DSDataTableCO from '../DSDataTableCO';
5
+ import { RowCO } from '../components';
6
+ import { axeCoreCheck } from '../../helpers';
7
+
8
+ if (
9
+ (!browser.capabilities['ice:options'].isPhone &&
10
+ !browser.capabilities['ice:options'].isTablet &&
11
+ browser.capabilities.browserName === 'Chrome') ||
12
+ browser.capabilities.browserName === 'chrome'
13
+ ) {
14
+ describe('PUI-11460 - DataTable, toolbar - AxeCore', () => {
15
+ before('loading page', async () => {
16
+ const errorOnGo = await DSDataTableCO.performance.go();
17
+ if (errorOnGo) throw errorOnGo;
18
+ await DSDataTableCO.waitForDataTable();
19
+ });
20
+ it('01: should display toolbar focused and pass axe-core scan', async () => {
21
+ const toolbar = await RowCO.getRowToolbarTriggerByIndex(3);
22
+ await toolbar.click();
23
+ const result = await axeCoreCheck();
24
+ expect(result.length).toBe(0);
25
+ });
26
+ });
27
+ }
@@ -0,0 +1,17 @@
1
+ /* eslint-disable max-len */
2
+ import DSDataTableCO from '../DSDataTableCO';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone) {
5
+ describe('PUI-8277 - DataTable, responsive - Visual Test', async () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSDataTableCO.responsive.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ await DSDataTableCO.waitForDataTable();
10
+ });
11
+ it('should display the datatable inside a 200px div correctly', async () => {
12
+ await browser.eyesOpen();
13
+ const checkSnap = await browser.eyesCheckSnapshot(await DSDataTableCO.snapshotPath('responsive'));
14
+ await expect(checkSnap).toEqual(0);
15
+ });
16
+ });
17
+ }
@@ -0,0 +1,32 @@
1
+ /* eslint-disable wdio/no-pause */
2
+ /* eslint-disable max-len */
3
+
4
+ import DSDataTableCO from '../DSDataTableCO';
5
+ import { axeCoreCheck } from '../../helpers';
6
+
7
+ if (
8
+ (!browser.capabilities['ice:options'].isPhone &&
9
+ !browser.capabilities['ice:options'].isTablet &&
10
+ browser.capabilities.browserName === 'Chrome') ||
11
+ browser.capabilities.browserName === 'chrome'
12
+ ) {
13
+ describe('PUI-11461 - DataTable, Column vissibility - Visual Test', async () => {
14
+ before('loading page', async () => {
15
+ const errorOnGo = await DSDataTableCO.toggleColumnVisibility.go();
16
+ if (errorOnGo) throw errorOnGo;
17
+ await DSDataTableCO.waitForDataTable();
18
+ });
19
+ it('01: should display hidden column', async () => {
20
+ const toggleBtn = await DSDataTableCO.getToggleBtn();
21
+ await toggleBtn.click();
22
+ const result = await axeCoreCheck();
23
+ expect(result.length).toBe(0);
24
+ });
25
+ it('02: should hide the column correctly', async () => {
26
+ const toggleBtn = await DSDataTableCO.getToggleBtn();
27
+ await toggleBtn.click();
28
+ const result = await axeCoreCheck();
29
+ expect(result.length).toBe(0);
30
+ });
31
+ });
32
+ }
@@ -0,0 +1,81 @@
1
+ /* eslint-disable max-len */
2
+ import { Key } from 'webdriverio';
3
+ import DSDataTableCO from '../DSDataTableCO';
4
+ import { HeaderCO, FiltersCO } from '../components';
5
+
6
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
+ describe('PUI-8264 - DataTable, Column vissibility - Visual Test', async () => {
8
+ before('loading page', async () => {
9
+ const errorOnGo = await DSDataTableCO.toggleColumnVisibility.go();
10
+ if (errorOnGo) throw errorOnGo;
11
+ await DSDataTableCO.waitForDataTable();
12
+ });
13
+ it('should display hidden column', async () => {
14
+ await browser.eyesOpen();
15
+ const toggleBtn = await DSDataTableCO.getToggleBtn();
16
+ await toggleBtn.click();
17
+ const checkSnap = await browser.eyesCheckSnapshot(await DSDataTableCO.snapshotPath('column-displayed'));
18
+ await expect(checkSnap).toEqual(0);
19
+ });
20
+ it('should hide the column correctly', async () => {
21
+ await browser.eyesOpen();
22
+ const toggleBtn = await DSDataTableCO.getToggleBtn();
23
+ await toggleBtn.click();
24
+ const checkSnap = await browser.eyesCheckSnapshot(await DSDataTableCO.snapshotPath('column-hidden'));
25
+ await expect(checkSnap).toEqual(0);
26
+ });
27
+ });
28
+
29
+ describe('PUI-8615 - DataTable, Sticky empty state - Visual Test', async () => {
30
+ before('loading page', async () => {
31
+ const errorOnGo = await DSDataTableCO.emptyMaxWidth.go();
32
+ if (errorOnGo) throw errorOnGo;
33
+ await DSDataTableCO.waitForDataTable();
34
+ });
35
+ it('should display unscrolled datatable with the empty state message', async () => {
36
+ await browser.eyesOpen();
37
+ const checkSnap = await browser.eyesCheckSnapshot(await DSDataTableCO.snapshotPath('empty-unscrolled'));
38
+ await expect(checkSnap).toEqual(0);
39
+ });
40
+ it('should display the horizontally scrolled datatable with the empty state message', async () => {
41
+ await browser.eyesOpen();
42
+ await (await HeaderCO.getHeaderCellByIndex(0)).click();
43
+ await browser.keys(Key.Tab);
44
+ await browser.keys(Key.Tab); // moves through the headers to scroll horizontally
45
+ await browser.keys(Key.Tab);
46
+ await browser.keys(Key.Tab);
47
+ await browser.keys(Key.Tab);
48
+ await browser.keys(Key.Tab);
49
+ const checkSnap = await browser.eyesCheckSnapshot(await DSDataTableCO.snapshotPath('empty-scrolled'));
50
+ await expect(checkSnap).toEqual(0);
51
+ });
52
+ });
53
+
54
+ describe('PUI-8616 - DataTable, Double pill row - Visual Test', async () => {
55
+ before('loading page', async () => {
56
+ const errorOnGo = await DSDataTableCO.paginatedWithFilters.go();
57
+ if (errorOnGo) throw errorOnGo;
58
+ await DSDataTableCO.waitForDataTable();
59
+ });
60
+ it('should display two row of pills and the pagination correctly rendered', async () => {
61
+ await browser.eyesOpen();
62
+ await FiltersCO.openFilterPopperByColumnName('id', 0);
63
+ await browser.keys(Key.Return);
64
+ await FiltersCO.openFilterPopperByColumnName('name', 0);
65
+ await browser.keys(Key.Return);
66
+ await FiltersCO.openFilterPopperByColumnName('position', 0);
67
+ await browser.keys(Key.ArrowDown);
68
+ await browser.keys(Key.Return);
69
+ await browser.keys(Key.ArrowDown);
70
+ await browser.keys(Key.Return);
71
+ await browser.keys(Key.ArrowDown);
72
+ await browser.keys(Key.Return);
73
+ await FiltersCO.openFilterPopperByColumnName('name', 0);
74
+ await browser.keys(Key.Return);
75
+ await FiltersCO.openFilterPopperByColumnName('name', 0);
76
+ await browser.keys(Key.Return);
77
+ const checkSnap = await browser.eyesCheckSnapshot(await DSDataTableCO.snapshotPath('datatable-double-pill-row'));
78
+ await expect(checkSnap).toEqual(0);
79
+ });
80
+ });
81
+ }
@@ -0,0 +1,27 @@
1
+ import DG from './DatagridObject';
2
+ import { isChecked } from '../helpers';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-6168 - DataGrid, Multi, First row selected by default', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DG.selectableMultiFirstRowSelectedURL.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+ it('should display the first row selected by default', async () => {
11
+ const checkBox = await DG.getCheckbox(1);
12
+ const checkBoxChecked = await isChecked(checkBox);
13
+ await expect(checkBoxChecked).toBe(true);
14
+ });
15
+ });
16
+ describe('PUI-6169 - DataGrid, First row selected by default', () => {
17
+ before('loading page', async () => {
18
+ const errorOnGo = await DG.selectableFirstRowSelectedURL.go();
19
+ if (errorOnGo) throw errorOnGo;
20
+ });
21
+ it('should display the first row selected by default', async () => {
22
+ const radioButton = await DG.getRadioButton(0);
23
+ const radioButtonChecked = await isChecked(radioButton);
24
+ await expect(radioButtonChecked).toBe(true);
25
+ });
26
+ });
27
+ }
@@ -0,0 +1,16 @@
1
+ import DG from './DatagridObject';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-4032 - DataGrid - Visual test for sticky toolbar', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DG.allFeatures.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('should not display extra scrollbar when toolbar is present', async () => {
10
+ await browser.eyesOpen();
11
+ await (await DG.getFilterHeader('Name')).waitForDisplayed({ timeout: 5000 });
12
+ const snapshot = await browser.eyesCheckSnapshot(DG.snapshotPath('datagrid--basic'));
13
+ await expect(snapshot).toEqual(0);
14
+ });
15
+ });
16
+ }
@@ -0,0 +1,62 @@
1
+ /* eslint-env mocha */
2
+ import Editable from './page-objects/Editable.componentObject';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-2900 - DataGrid Editable textbox', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await Editable.editableURL.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+
11
+ it('should clear content of cell', async () => {
12
+ await Editable.clearField(2);
13
+ await Editable.clickCell(3);
14
+ const cellText = await (await Editable.getCell(2)).getText();
15
+ await expect(cellText).not.toEqual('artist');
16
+ });
17
+
18
+ it('should edit correctly textbox', async () => {
19
+ const cell = await Editable.getCell(2);
20
+ await cell.doubleClick();
21
+ await Editable.sendVal('Editable test');
22
+ await Editable.clickCell(3);
23
+ const cellText = await (await Editable.getCell(2)).getText();
24
+ await expect(cellText).toContain('Editable test');
25
+ });
26
+ });
27
+
28
+ describe('PUI-2901 - DataGrid Editable combobox', () => {
29
+ before('loading page', async () => {
30
+ const errorOnGo = await Editable.editableURL.go();
31
+ if (errorOnGo) throw errorOnGo;
32
+ });
33
+ it('should open combobox', async () => {
34
+ const cell = await Editable.getCellCountry(1);
35
+ await cell.waitForDisplayed();
36
+ await cell.click(); // TODO : check why this explodes in BS but not in local
37
+ const combobox = await Editable.getComboBoxMenu();
38
+ await combobox.waitForDisplayed();
39
+ const comboMenu = await Editable.getComboBoxMenu();
40
+ await expect(comboMenu).toExist();
41
+ });
42
+
43
+ it('should set correctly an option of combobox', async () => {
44
+ await (await Editable.getComboBoxOption('Option 2')).click();
45
+ await Editable.clickCell(2);
46
+ const cellText = await (await Editable.getCellCountry(1)).getText();
47
+ await expect(cellText).toContain('Option 2');
48
+ });
49
+ });
50
+ describe('PUI-3741 - DataGrid Editable tooltip', () => {
51
+ before('loading page', async () => {
52
+ const errorOnGo = await Editable.editableURL.go();
53
+ if (errorOnGo) throw errorOnGo;
54
+ });
55
+ it('should not render tooltip on cell without truncation', async () => {
56
+ const cell = await Editable.getCellName(6);
57
+ await cell.moveTo();
58
+ const dsPortal = await $('.em-ds-portal');
59
+ await expect(dsPortal).not.toBeDisplayed();
60
+ });
61
+ });
62
+ }
@@ -0,0 +1,16 @@
1
+ import DG from './DatagridObject';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone) {
4
+ describe('pui-6156 - DataGrid, Emtpy State - Visual Test', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DG.emptyStateURL.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('should display datagrid with empty state', async () => {
10
+ await browser.eyesOpen();
11
+ await (await DG.getClickMeBtn()).waitForDisplayed({ timeout: 5000 });
12
+ const snapshot = await browser.eyesCheckSnapshot(DG.snapshotPath('datagrid--empty-state'));
13
+ await expect(snapshot).toEqual(0);
14
+ });
15
+ });
16
+ }
@@ -0,0 +1,15 @@
1
+ import { Key } from 'webdriverio';
2
+ import DG from './DatagridObject';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-5773 - DataGrid - Shift key down on input', () => {
6
+ it('should not lose current focus on shift keypress', async () => {
7
+ await (await DG.pui5550).go();
8
+ await (await DG.getHeaderCell(1)).waitForDisplayed({ timeout: 5000 });
9
+ const input = await DG.getInputField(0);
10
+ await input.click();
11
+ await browser.keys(Key.Shift);
12
+ await expect(input).toBeFocused();
13
+ });
14
+ });
15
+ }
@@ -0,0 +1,16 @@
1
+ import DG from './DatagridObject';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone) {
4
+ describe('PUI-6155 - DataGrid, Selectable Multi - Visual Test', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DG.selectableMultiURL.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('should display basic DataGrid with selectable multi', async () => {
10
+ await (await DG.getFilterHeader('Name')).waitForDisplayed();
11
+ await browser.pause(500);
12
+ const snapshot = await browser.checkSnapshot(DG.snapshotPath('datagrid--selectable-multi'));
13
+ await expect(snapshot).toEqual(0);
14
+ });
15
+ });
16
+ }
@@ -0,0 +1,43 @@
1
+ import DG from './DatagridObject';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-4111 - DataGrid - Sorting dates', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DG.sortablePUI4017.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('should display dates in correct order', async () => {
10
+ await (await DG.getDataGridHeader(1)).click();
11
+ const columnText0 = await (await DG.getColumnDate(0)).getText();
12
+ const columnText3 = await (await DG.getColumnDate(3)).getText();
13
+ const columnText4 = await (await DG.getColumnDate(4)).getText();
14
+ await expect(columnText0).toContain('12:05 am');
15
+ await expect(columnText3).toContain('11:00 am');
16
+ await expect(columnText4).toContain('08:00 pm');
17
+ await (await DG.getDataGridHeader(1)).click();
18
+ const columnText0b = await (await DG.getColumnDate(0)).getText();
19
+ const columnText1 = await (await DG.getColumnDate(1)).getText();
20
+ const columnText4b = await (await DG.getColumnDate(4)).getText();
21
+ await expect(columnText0b).toContain('08:00 pm');
22
+ await expect(columnText1).toContain('11:00 am');
23
+ await expect(columnText4b).toContain('12:05 am');
24
+ });
25
+ });
26
+ describe('PUI-4799 - [DataGrid] - Sorting with empty columns', () => {
27
+ before('loading page', async () => {
28
+ const errorOnGo = await DG.sortableEmpty.go();
29
+ if (errorOnGo) throw errorOnGo;
30
+ });
31
+ it('should display dates in correct order', async () => {
32
+ const sortCell = await DG.getSortCell('position', 0);
33
+ await expect(sortCell).toHaveTextContaining('Developer');
34
+ await (await DG.getDataGridHeader(1)).click();
35
+ const sortCell0 = await DG.getSortCell('position', 0);
36
+ const sortCell12 = await DG.getSortCell('position', 12);
37
+ const sortCell15 = await DG.getSortCell('position', 15);
38
+ await expect(sortCell0).toHaveTextContaining('Designer');
39
+ await expect(sortCell12).toHaveTextContaining('');
40
+ await expect(sortCell15).toHaveTextContaining('');
41
+ });
42
+ });
43
+ }
@@ -0,0 +1,56 @@
1
+ /* eslint-env mocha */
2
+ import { Key } from 'webdriverio';
3
+ import DataGridObject from './DatagridObject';
4
+ import DSTabsCO from '../ds-tabs/DSTabsCO';
5
+ import { type, clearValue } from '../helpers';
6
+
7
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
8
+ describe('PUI-4529 - DataGrid:: Filter on grouped DataGrid', () => {
9
+ before('loading page', async () => {
10
+ const errorOnGo = await DataGridObject.pui4416.go();
11
+ if (errorOnGo) throw errorOnGo;
12
+ });
13
+ it('value is properly filtered', async () => {
14
+ await (await DataGridObject.getInputField()).moveTo();
15
+ await (await DataGridObject.getInputField()).setValue('Doe');
16
+ await (await DataGridObject.getSearchBtn()).click();
17
+ await (await DataGridObject.getPillTitle()).waitForDisplayed();
18
+ const pillTitle = await DataGridObject.getPillTitle();
19
+ const removablePill = await DataGridObject.getRemovablePill();
20
+ const columnLenght = await DataGridObject.getColumnLength();
21
+ const columnName = await DataGridObject.getColumnName(0);
22
+ await expect(pillTitle).toHaveTextContaining('Name');
23
+ await expect(removablePill).toHaveTextContaining('Doe');
24
+ await expect(columnLenght).toBeGreaterThan(0);
25
+ await expect(columnName).toHaveTextContaining('Doe');
26
+ });
27
+ });
28
+ describe('PUI-5201 - Tabs, Edit cell inside tab', () => {
29
+ before('loading page', async () => {
30
+ const errorOnGo = await DataGridObject.pui2553.go();
31
+ if (errorOnGo) throw errorOnGo;
32
+ });
33
+ it('should open correctly tab', async () => {
34
+ const tab = await DSTabsCO.getTab(1);
35
+ await expect(tab).toBeDisplayed();
36
+ });
37
+ it('should open 2nd tab correctly', async () => {
38
+ await (await DSTabsCO.getTab(2)).click();
39
+ const tabPanel = await DSTabsCO.getTabPanel(2);
40
+ await expect(tabPanel).toBeDisplayed();
41
+ });
42
+ it('should edit correctly textbox', async () => {
43
+ const cell = await DataGridObject.getCell('position', 2);
44
+ await cell.waitForDisplayed();
45
+ // eslint-disable-next-line wdio/no-pause
46
+ await browser.pause(500);
47
+ await cell.click();
48
+ await clearValue(await cell);
49
+ await type('Editable test');
50
+ await browser.keys(Key.Enter);
51
+ const tabPanel = await DSTabsCO.getTabPanel(2);
52
+ await expect(cell).toHaveTextContaining('Editable test');
53
+ await expect(tabPanel).toBeDisplayed();
54
+ });
55
+ });
56
+ }