dimsum-e2e-tests 3.53.0-alpha.1 → 3.53.0-alpha.3

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 (183) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/ds-accordion/DSAccordionCO.js +15 -11
  3. package/ds-accordion/role/DSAccordion.role-heading.func.spec.js +21 -0
  4. package/ds-accordion/scrollable-content/DSAccordion.scrollable-content.visual.spec.js +42 -0
  5. package/ds-accordion/slots/DSAccordion.slots.func.spec.js +12 -0
  6. package/ds-accordion/wrapLabel/DSAccordion.wrap-label.visual.spec.js +20 -0
  7. package/ds-autocomplete/DSAutocompleteCO.js +18 -0
  8. package/ds-autocomplete/slots/DSAutocomplete.slots.axe-core.func.spec.js +20 -0
  9. package/ds-autocomplete/slots/DSAutocomplete.slots.func.spec.js +45 -0
  10. package/ds-autocomplete/slots/DSAutocomplete.slots.visual.spec.js +21 -0
  11. package/ds-banner/DSBanner.func.spec.js +4 -60
  12. package/ds-banner/DSBanner.text-resize.visual.spec.js +15 -0
  13. package/ds-banner/DSBanner.text-wrapping.visual.spec.js +31 -0
  14. package/ds-banner/DSBanner.visual.spec.js +0 -29
  15. package/ds-banner/DSBannerCO.js +24 -2
  16. package/ds-banner/aria-and-role/DSBanner.aria-and-role.func.spec.js +63 -0
  17. package/ds-banner/slots/DSBanner.slots.func.spec.js +65 -0
  18. package/ds-banner/slots/DSBanner.slots.visual.spec.js +17 -0
  19. package/ds-breadcrumb/DSBreadcrumb.func.spec.js +5 -3
  20. package/ds-button-v3/DSButtonV3.type-submit.func.spec.js +28 -0
  21. package/ds-button-v3/DSButtonV3.visual.spec.js +7 -2
  22. package/ds-button-v3/DSButtonV3CO.js +2 -0
  23. package/ds-card-navigation/CardNavigationCO.js +56 -0
  24. package/ds-card-navigation/DSCardNavigation.func.spec.js +50 -1
  25. package/ds-card-navigation/DSCardNavigation.slots.func.spec.js +127 -0
  26. package/ds-card-navigation/DSCardNavigation.slots.visual.spec.js +26 -0
  27. package/ds-card-navigation/DSCardNavigation.visual.spec.js +16 -0
  28. package/ds-card-v3/DSCardV3CO.js +20 -0
  29. package/ds-card-v3/drag-n-drop/DSCardV3.DnD.visual.spec.js +1 -1
  30. package/ds-card-v3/slots/DSCardV3.slots.axe-core.spec.js +22 -0
  31. package/ds-card-v3/slots/DSCardV3.slots.func.spec.js +36 -0
  32. package/ds-card-v3/slots/DSCardV3.slots.visual.spec.js +18 -0
  33. package/ds-chat/DSChat.func.spec.js +3 -2
  34. package/ds-chat/DSChat.visual.spec.js +3 -2
  35. package/ds-chat/DSChatCO.js +0 -8
  36. package/ds-chat/floatingbutton/DSChat-floating-button.visual.spec.js +1 -1
  37. package/ds-chip/DSChipCO.js +24 -0
  38. package/ds-chip/slots/DSChip.slots.axe-core.spec.js +17 -0
  39. package/ds-chip/slots/DSChip.slots.func.spec.js +39 -0
  40. package/ds-chip/slots/DSChip.slots.visual.spec.js +17 -0
  41. package/ds-circular-indeterminate-indicator/DSCircularIndicator.visual.spec.js +2 -1
  42. package/ds-controlled-form/ds-combobox/creatable/DSCombobox.creatable.visual.spec.js +6 -4
  43. package/ds-controlled-form/ds-controlled-large-input-text/DSLargeInputTextCO.js +5 -0
  44. package/ds-controlled-form/ds-controlled-large-input-text/aria-disabled/DSLargeInputText.aria-disabled.func.spec.js +19 -0
  45. package/ds-controlled-form/ds-controlled-radio-group/DSControlledRadioGroup.axe-core.func.spec.js +31 -0
  46. package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +1 -0
  47. package/ds-data-table-async/DSDataTableCO.js +173 -108
  48. package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +1 -45
  49. package/ds-data-table-async/components/FilterBarCO.js +8 -0
  50. package/ds-data-table-async/components/FiltersCO.js +12 -0
  51. package/ds-data-table-async/components/HeaderCO.js +5 -0
  52. package/ds-data-table-async/components/PaginationNavCO.js +1 -1
  53. package/ds-data-table-async/date-filters/DSDataTable.date-switcher.single.func.spec.js +1 -1
  54. package/ds-data-table-async/date-filters/DSDataTable.date-switcher.visual.spec.js +18 -8
  55. package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +3 -1
  56. package/ds-data-table-async/dnd/DSDataTable.dnd_fixed-width.visual.spec.js +33 -0
  57. package/ds-data-table-async/empty-state/DSDataTable.empty-state.visual.spec.js +13 -0
  58. package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +5 -5
  59. package/ds-data-table-async/filters/DSDataTable.filters-creatable.visual.spec.js +1 -0
  60. package/ds-data-table-async/filters/DSDataTable.filters.visual.spec.js +18 -1
  61. package/ds-data-table-async/filters/DSDataTable.free-text-search.keyboard.func.spec.js +242 -0
  62. package/ds-data-table-async/filters/DSDataTable.free-text-search.visual.spec.js +54 -0
  63. package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +3 -3
  64. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.keyboard.func.spec.js +56 -0
  65. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.mouse.func.spec.js +55 -0
  66. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.visual.spec.js +27 -0
  67. package/ds-data-table-async/more/DSDataTable.headers.visual.spec.js +0 -63
  68. package/ds-data-table-async/select/DSDataTable.select.func.spec.js +1 -1
  69. package/ds-data-table-async/slots/DSDataTable.slots.func.spec.js +40 -0
  70. package/ds-data-table-async/slots/DSDataTable.slots.visual.spec.js +19 -0
  71. package/ds-data-table-async/sorting/DSDataTable.sorting.visual.spec.js +118 -0
  72. package/ds-dataviz/DSDataViz.axis.visual.spec.js +2 -1
  73. package/ds-dataviz/DSDataViz.scroll.visual.spec.js +1 -0
  74. package/ds-dataviz/DSDataViz.ticks.visual.spec.js +2 -1
  75. package/ds-dialog/DSDialog.cases.visual.spec.js +3 -4
  76. package/ds-dialog/DSDialog.visual.spec.js +7 -14
  77. package/ds-dialog/DSDialogCO.js +5 -13
  78. package/ds-dialog/axe-core/DSDialog.error.axe-core.func.spec.js +24 -0
  79. package/ds-dialog/axe-core/DSDialog.info.axe-core.func.spec.js +24 -0
  80. package/ds-dialog/axe-core/DSDialog.scroll-body.axe-core.func.spec.js +24 -0
  81. package/ds-dialog/axe-core/DSDialog.success.axe-core.func.spec.js +24 -0
  82. package/ds-dialog/axe-core/DSDialog.warning.axe-core.spec.func.js +24 -0
  83. package/ds-dropdownmenu-v2/DSDDMenuV2.visual.spec.js +5 -5
  84. package/ds-form-combobox-multi/DSComboboxMultiCO.js +96 -1
  85. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +7 -3
  86. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.mouse.func.spec.js +25 -0
  87. package/ds-form-combobox-multi/menu-position/DSComboboxMulti.menu-position.visual.spec.js +42 -0
  88. package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.func.spec.js +100 -0
  89. package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.visual.spec.js +51 -0
  90. package/ds-form-combobox-single/DSComboboxSingleCO.js +97 -1
  91. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.mouse.func.spec.js +25 -0
  92. package/ds-form-combobox-single/menu-position/DSComboboxSingle.menu-position.visual.spec.js +93 -0
  93. package/ds-form-combobox-single/slots/DSComboboxSingle.slots.func.spec.js +100 -0
  94. package/ds-form-combobox-single/slots/DSComboboxSingle.slots.visual.spec.js +53 -0
  95. package/ds-form-date-range-picker/aria-disabled/DateRangePicker.applyAriaDisabled.keyboard-nav.func.spec.js +31 -5
  96. package/ds-form-date-time-picker/DSControlledDateTimePickerCO.js +7 -5
  97. package/ds-form-date-time-picker/date-input/DateInput.keyboard-nav.func.spec.js +2 -2
  98. package/ds-form-date-time-picker/date-time-full/DateTimeFull.applyAriaDisabled.axe-core.func.spec.js +1 -1
  99. package/ds-form-date-time-picker/date-time-full/DateTimeFull.axe-core.func.spec.js +25 -0
  100. package/ds-form-date-time-picker/date-time-full/DateTimePicker.applyAriaDisabled.keyboard-nav.func.spec.js +6 -1
  101. package/ds-form-date-time-picker/date-time-full/DateTimePicker.func.spec.js +32 -2
  102. package/ds-form-date-time-picker/date-time-full/DateTimePicker.keyboard-nav.func.spec.js +6 -1
  103. package/ds-form-date-time-picker/date-time-full/DateTimePicker.readOnly.keyboard-nav.func.spec.js +6 -1
  104. package/ds-form-date-time-picker/date-time-input/DateTimeInput.applyAriaDisabled.keyboard-nav.func.spec.js +40 -4
  105. package/ds-form-date-time-picker/showcase/DateTimePicker.applyAriaDisabled-showcase.visual.spec.js +2 -2
  106. package/ds-form-date-time-picker/showcase/DateTimePicker.readOnly-showcase.visual.spec.js +2 -2
  107. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItem.axe-core.func.spec.js +4 -1
  108. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +4 -0
  109. package/ds-form-native-select/NativeSelect.axe-core.func.spec.js +57 -0
  110. package/ds-form-native-select/NativeSelectCO.js +35 -0
  111. package/{ds-toggle → ds-form-toggle}/DSToggle.axe-core.func.spec.js +6 -2
  112. package/{ds-toggle → ds-form-toggle}/DSToggle.func.spec.js +13 -8
  113. package/{ds-toggle → ds-form-toggle}/DSToggle.visual.spec.js +2 -2
  114. package/{ds-toggle → ds-form-toggle}/DSToggleCO.js +1 -1
  115. package/ds-global-header/GlobalHeader.axe-core.func.spec.js +13 -0
  116. package/ds-global-header/GlobalHeaderCO.js +2 -0
  117. package/{ds-controlled-form → ds-hooks}/useMask/Number/UseNumberMask.func.spec.js +25 -12
  118. package/{ds-controlled-form → ds-hooks}/useMask/Number/UseNumberMask.visual.spec.js +4 -1
  119. package/{ds-controlled-form → ds-hooks}/useMask/Phone/UsePhoneMask.func.spec.js +1 -1
  120. package/{ds-controlled-form → ds-hooks}/useMask/Phone/UsePhoneMask.visual.spec.js +1 -1
  121. package/{ds-controlled-form → ds-hooks}/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +1 -1
  122. package/{ds-controlled-form → ds-hooks}/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +1 -1
  123. package/{ds-controlled-form → ds-hooks}/useMask/RegExp/UseRegExpMask.func.spec.js +1 -1
  124. package/{ds-controlled-form → ds-hooks}/useMask/SSN/UseSsnMask.func.spec.js +1 -1
  125. package/{ds-controlled-form → ds-hooks}/useMask/ZipCode/UseZipCodeMask.func.spec.js +1 -1
  126. package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.axe-core.func.spec.js +31 -0
  127. package/ds-menu-button/DSMenuButtonCO.js +2 -0
  128. package/ds-menu-button/basic/DSMenuButton.basic.func.spec.js +28 -0
  129. package/ds-menu-button/multiselect/DSMenuButton.axe-core.multiselect.func.spec.js +6 -1
  130. package/ds-menu-button/singleSelect/DSMenuButton.axe-core.singleSelect.func.spec.js +6 -1
  131. package/ds-menu-button/submenu/DSMenuButton.axe-core.subMenu.func.spec.js +7 -2
  132. package/ds-menu-item/DSMenuItems.visual.spec.js +8 -32
  133. package/ds-mobile/MobileDatePicker/MobileDatePicker.visual.spec.js +0 -13
  134. package/ds-modal-slide/ModalSlideCO.js +2 -0
  135. package/ds-notification-badge/DSNotificationBadge.axe-core.func.spec.js +1 -1
  136. package/ds-pagination/DSPagination.axe-core.func.spec.js +64 -0
  137. package/ds-pagination/DSPaginationCO.js +12 -0
  138. package/ds-pills-v2/DSPills.visual.spec.js +3 -1
  139. package/ds-pills-v2/selection/DSPills.axe-core.func.spec.js +6 -1
  140. package/ds-pills-v2/selection/DSPills.func.spec.js +32 -30
  141. package/ds-progress-indicator/DSProgressIndicator.axe-core.func.spec.js +31 -0
  142. package/ds-progress-indicator/DSProgressIndicator.func.spec.js +8 -3
  143. package/ds-progress-indicator/DSProgressIndicator.visual.spec.js +12 -2
  144. package/ds-progress-indicator/DSProgressIndicatorCO.js +5 -3
  145. package/ds-query-builder/DSQueryBuilder.visual.spec.js +10 -3
  146. package/ds-read-more/DSReadMore.func.spec.js +0 -58
  147. package/ds-read-more/DSReadMore.keyboard-nav.func.spec.js +66 -0
  148. package/ds-read-more/DSReadMore.slots.func.spec.js +58 -0
  149. package/ds-read-more/DSReadMore.slots.visual.spec.js +23 -0
  150. package/ds-read-more/DSReadMore.visual.spec.js +41 -17
  151. package/ds-read-more/DSReadMore.width-change.visual.spec.js +85 -0
  152. package/ds-read-more/DSReadMore.with-tooltip.func.spec.js +63 -0
  153. package/ds-read-more/DSReadMoreCO.js +20 -0
  154. package/ds-shuttle-v2/Dnd/DSShuttleV2.DnD.visual.spec.js +3 -0
  155. package/ds-shuttle-v2/basic/DSShuttleV2.keyboard.func.spec.js +0 -79
  156. package/ds-shuttle-v2/extra/DSShuttleV2.extra.func.spec.js +6 -2
  157. package/ds-shuttle-v2/extra/DSShuttleV2.extra.visual.spec.js +21 -0
  158. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.func.spec.js +8 -3
  159. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.kb.func.spec.js +43 -0
  160. package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +3 -2
  161. package/ds-shuttle-v2/items/DSShuttleV2.items.kb.func.spec.js +1 -1
  162. package/ds-shuttle-v2/load-more/DSShuttleV2.load-more.keyboard.func.spec.js +61 -0
  163. package/ds-slider-v2/DSSliderV2.extra.func.spec.js +44 -0
  164. package/ds-slider-v2/DSSliderV2.func.spec.js +98 -0
  165. package/ds-slider-v2/DSSliderV2CO.js +8 -0
  166. package/ds-svg/DSSvg.axe-core.func.spec.js +32 -0
  167. package/ds-svg/DSSvgCO.js +2 -3
  168. package/ds-tabs/DSTabs.onTabChange.func.spec.js +33 -0
  169. package/ds-tabs/DSTabsCO.js +29 -1
  170. package/ds-tabs/slots/DSTabs.slots.func.spec.js +77 -0
  171. package/ds-tabs/slots/DSTabs.slots.visual.spec.js +49 -0
  172. package/ds-tabs/with-carousel/DSTabs.with-carousel.visual.spec.js +5 -4
  173. package/ds-tooltip-v3/DSTooltipV3CO.js +6 -2
  174. package/ds-treeview/DSTreeViewCO.js +8 -0
  175. package/ds-treeview/dragAndDrop/TreeView-dnd.func.spec.js +0 -50
  176. package/ds-treeview/dragAndDrop/TreeView-dnd_mouse.func.spec.js +61 -0
  177. package/package.json +188 -187
  178. package/paths.js +17 -1
  179. package/ds-dialog/DSDialog.smoke.spec.js +0 -133
  180. package/ds-slider-v2/DSSliderV2.skipped.js +0 -46
  181. /package/ds-form-combobox-multi/iframe/{DSComboboxMulti.insideIframe.func.spec.js → DSComboboxMulti.insideIframe.visual.spec.js} +0 -0
  182. /package/{ds-controlled-form → ds-hooks}/useMask/useMaskCO.js +0 -0
  183. /package/ds-indeterminate-progress-indicator/{DSIndetermintateProgressIndicator.func.spec.js → DSIndetermintateProgressIndicator.func.spec copy.js} +0 -0
@@ -1,158 +1,249 @@
1
1
  /* eslint-disable import/no-relative-packages */
2
2
  /* eslint-disable max-lines */
3
- import { PATH_DATA_TABLE, PATH_DATA_TABLE_ADVANCED, PATH_E2E_DATATABLE } from '../paths';
3
+ import {
4
+ PATH_E2E_DATATABLE,
5
+ PATH_E2E_DATATABLE_DND,
6
+ PATH_E2E_DATATABLE_FILTERS,
7
+ PATH_E2E_DATATABLE_ADVANCED,
8
+ PATH_E2E_DATATABLE_ROW,
9
+ PATH_E2E_DATATABLE_COLUMN,
10
+ PATH_E2E_DATATABLE_TEXT_WRAPPING,
11
+ PATH_E2E_DATATABLE_TOOLBAR,
12
+ PATH_E2E_DATATABLE_PAGINATION,
13
+ PATH_E2E_DATATABLE_SORTING,
14
+ PATH_E2E_DATATABLE_STATES,
15
+ PATH_E2E_DATATABLE_CELL,
16
+ PATH_E2E_DATATABLE_USE_CASES,
17
+ PATH_E2E_DATATABLE_SLOTS,
18
+ } from '../paths';
4
19
  import { PageObject, Urlbuilder } from '../helpers';
5
20
  import { CellCO } from './components';
6
21
 
7
22
  export default class DataTableCO extends PageObject {
8
- static dndRows = new Urlbuilder(PATH_DATA_TABLE, 'drag-and-drop-rows');
23
+ // Drag and Drop
24
+ static dndRows = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-rows');
9
25
 
10
- static dndColumns = new Urlbuilder(PATH_DATA_TABLE, 'drag-and-drop-columns');
26
+ static dndColumns = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-columns');
11
27
 
12
- static singleSelect = new Urlbuilder(PATH_DATA_TABLE, 'select-single');
28
+ static DNDRestricted = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-rows-restricted');
13
29
 
14
- static multiSelect = new Urlbuilder(PATH_DATA_TABLE, 'select-multiple');
30
+ static dndDefectTest = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-rows-test');
15
31
 
16
- static groupByCol = new Urlbuilder(PATH_DATA_TABLE_ADVANCED, 'group-by-column');
32
+ static DndColumnsFixedWidth = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'dnd-columns-fixed-width');
17
33
 
18
- static onFilterChange = new Urlbuilder(PATH_E2E_DATATABLE, 'on-filter-change-test');
34
+ // Filters
19
35
 
20
- static selectWithNoControl = new Urlbuilder(PATH_DATA_TABLE, 'select-without-column');
36
+ static singleSelect = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'single-select-filter');
21
37
 
22
- static basic = new Urlbuilder(PATH_DATA_TABLE, 'basic');
38
+ static multiSelect = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'multi-select-filter');
23
39
 
24
- static columnLayout = new Urlbuilder(PATH_DATA_TABLE, 'basic-column-layout');
40
+ static onFilterChange = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'on-filter-change-test');
25
41
 
26
- static rowVariants = new Urlbuilder(PATH_E2E_DATATABLE, 'row-variants-test');
27
-
28
- static toolbarIntegration = new Urlbuilder(PATH_DATA_TABLE, 'toolbar-integration');
29
-
30
- static expandable = new Urlbuilder(PATH_DATA_TABLE, 'expandable');
42
+ static filterWidthCollapse = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'pui-17136-filter-width-collapse');
31
43
 
32
44
  static filterableWithFilterBarAddon = new Urlbuilder(
33
- PATH_E2E_DATATABLE,
45
+ PATH_E2E_DATATABLE_FILTERS,
34
46
  'filtered-column-with-custom-filter-bar-addon-test',
35
47
  );
36
48
 
37
- static filterableWithFilterBar = new Urlbuilder(PATH_E2E_DATATABLE, 'filtered-column-with-filter-bar');
49
+ static filterableWithFilterBar = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filtered-column-with-filter-bar');
38
50
 
39
- static masterDatailMultiLevel = new Urlbuilder(PATH_E2E_DATATABLE, 'master-detail-multi-level-test');
51
+ static filteredMultipleTables = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filtered-multiple-tables');
52
+
53
+ static filterbarTest = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filter-bar-test');
54
+
55
+ static filteredColumnWithControlledFilterbar = new Urlbuilder(
56
+ PATH_E2E_DATATABLE_FILTERS,
57
+ 'filtered-column-with-controlled-filter-bar',
58
+ );
40
59
 
41
- static exportCsv = new Urlbuilder(PATH_DATA_TABLE_ADVANCED, 'export-csv');
60
+ static filteredCreatable = new Urlbuilder(
61
+ PATH_E2E_DATATABLE_FILTERS,
62
+ 'filtered-creatable-column-with-dropdown-menu-addon',
63
+ );
42
64
 
43
- static filteredMultipleTables = new Urlbuilder(PATH_DATA_TABLE, 'filtered-multiple-tables');
65
+ static filterableTablesE2e = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filtered-multiple-tables-e-2-e');
44
66
 
45
- static paginatedWithDetail = new Urlbuilder(PATH_DATA_TABLE, 'paginated-table-with-details');
67
+ static filteredColumnWithCustomFilterBarAddon = new Urlbuilder(
68
+ PATH_E2E_DATATABLE_FILTERS,
69
+ 'filtered-column-with-custom-filter-bar-addon',
70
+ );
46
71
 
47
- static paginatedTable = new Urlbuilder(PATH_E2E_DATATABLE, 'paginated-table-test');
72
+ static filterCreatableMulti = new Urlbuilder(
73
+ PATH_E2E_DATATABLE_FILTERS,
74
+ 'filtered-creatable-column-with-dd-menu-addon',
75
+ );
48
76
 
49
- static performance = new Urlbuilder(PATH_DATA_TABLE_ADVANCED, 'performance');
77
+ static filterInsideDialog = new Urlbuilder(
78
+ PATH_E2E_DATATABLE_FILTERS,
79
+ 'pui-10042-datatable-inside-dialog-filter-scroll',
80
+ );
50
81
 
51
- static emptyState = new Urlbuilder(PATH_DATA_TABLE, 'empty-state');
82
+ static firstFocusDisabledURL = new Urlbuilder(
83
+ PATH_E2E_DATATABLE_FILTERS,
84
+ 'filtered-creatable-using-disable-focus-on-first-option-on-type-test',
85
+ );
52
86
 
53
- static emptyStateCustomMsg = new Urlbuilder(PATH_DATA_TABLE, 'empty-state-customized-messages');
87
+ static filterEmpty = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filter-empty-test');
54
88
 
55
- static emptyStateFullCustom = new Urlbuilder(PATH_DATA_TABLE_ADVANCED, 'empty-state-full-custom');
89
+ static filteredColumnWithComboboxFilterTest = new Urlbuilder(
90
+ PATH_E2E_DATATABLE_FILTERS,
91
+ 'filtered-column-with-combobox-filter-test',
92
+ );
56
93
 
57
- static sortByColumn = new Urlbuilder(PATH_DATA_TABLE, 'sort-by-column');
94
+ static freeTextSearchFilter = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'free-text-search-filter');
58
95
 
59
- static requiredColumns = new Urlbuilder(PATH_DATA_TABLE, 'required-columns');
96
+ // ADVANCED
60
97
 
61
- static textWrapTruncColumn = new Urlbuilder(PATH_DATA_TABLE, 'text-wrap-truncate-column');
98
+ static groupByCol = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'group-by-column');
62
99
 
63
- static editableCells = new Urlbuilder(PATH_DATA_TABLE, 'editable-cells');
100
+ static exportCsv = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'export-csv');
64
101
 
65
- static customCellRowHeader = new Urlbuilder(PATH_DATA_TABLE_ADVANCED, 'custom-cell-row-and-header');
102
+ static performance = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'performance');
66
103
 
67
- static onRowClick = new Urlbuilder(PATH_E2E_DATATABLE, 'on-row-click');
104
+ static emptyStateFullCustom = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'empty-state-full-custom');
68
105
 
69
- static controlledWidthTest = new Urlbuilder(PATH_E2E_DATATABLE, 'controlled-width-test');
106
+ static customCellRowHeader = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'custom-cell-row-and-header');
70
107
 
71
- static customCellText = new Urlbuilder(PATH_E2E_DATATABLE, 'custom-cell-text');
108
+ static responsive = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'responsive');
72
109
 
73
- static customWithDate = new Urlbuilder(PATH_E2E_DATATABLE, 'custom-render-w-date');
110
+ // ROW
74
111
 
75
- static dndDefectTest = new Urlbuilder(PATH_E2E_DATATABLE, 'drag-and-drop-rows-test');
112
+ static selectWithNoControl = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'select-without-column');
76
113
 
77
- static dynamicCols1 = new Urlbuilder(PATH_E2E_DATATABLE, 'dynamic-columns-layout-1-test');
114
+ static expandable = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'expandable');
78
115
 
79
- static dynamicCols2 = new Urlbuilder(PATH_E2E_DATATABLE, 'dynamic-columns-layout-2-test');
116
+ static rowVariants = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'row-variants-test');
80
117
 
81
- static dynamicCols3 = new Urlbuilder(PATH_E2E_DATATABLE, 'dynamic-columns-layout-3-test');
118
+ static selectMultipleNoGlobal = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'select-multiple-no-global');
82
119
 
83
- static filterbarTest = new Urlbuilder(PATH_E2E_DATATABLE, 'filter-bar-test');
120
+ static selectMultipleSticky = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'select-multiple-sticky');
84
121
 
85
- static filteredColumnWithControlledFilterbar = new Urlbuilder(
86
- PATH_E2E_DATATABLE,
87
- 'filtered-column-with-controlled-filter-bar',
122
+ static singleSelectDisabledSelectionUC = new Urlbuilder(PATH_E2E_DATATABLE, 'single-select-disabled-selection');
123
+
124
+ static multiSelectDisabledSelectionUC = new Urlbuilder(PATH_E2E_DATATABLE, 'multi-select-disabled-selection');
125
+
126
+ static multiSelectEmpty = new Urlbuilder(PATH_E2E_DATATABLE, 'multi-select-empty');
127
+
128
+ // Column
129
+
130
+ static columnLayout = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'basic-column-layout');
131
+
132
+ static requiredColumns = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'required-columns');
133
+
134
+ static dynamicCols1 = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'dynamic-columns-layout-1-test');
135
+
136
+ static dynamicCols2 = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'dynamic-columns-layout-2-test');
137
+
138
+ static dynamicCols3 = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'dynamic-columns-layout-3-test');
139
+
140
+ static requiredColumnsMulti = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'required-columns-multi');
141
+
142
+ static toggleColumnVisibility = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'toggle-column-visibility');
143
+
144
+ static resizableColumnsWithFilters = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'resizable-columns-with-filters');
145
+
146
+ static groupingWithHiddenColumnsTest = new Urlbuilder(
147
+ PATH_E2E_DATATABLE_COLUMN,
148
+ 'column-grouping-with-hidden-columns-test',
88
149
  );
89
150
 
90
- static responsive = new Urlbuilder(PATH_DATA_TABLE, 'responsive');
151
+ // Text Wrapping
91
152
 
92
- static DNDRestricted = new Urlbuilder(PATH_DATA_TABLE, 'drag-and-drop-rows-restricted');
153
+ static textWrapTruncColumn = new Urlbuilder(PATH_E2E_DATATABLE_TEXT_WRAPPING, 'text-wrap-truncate-column');
93
154
 
94
- // E2E FOLDER
155
+ // Toolbar
95
156
 
96
- static singleSelectDisabledSelectionUC = new Urlbuilder(PATH_E2E_DATATABLE, 'single-select-disabled-selection');
157
+ static toolbarIntegration = new Urlbuilder(PATH_E2E_DATATABLE_TOOLBAR, 'toolbar-integration');
97
158
 
98
- static multiSelectDisabledSelectionUC = new Urlbuilder(PATH_E2E_DATATABLE, 'multi-select-disabled-selection');
159
+ static toolbarTriggers = new Urlbuilder(PATH_E2E_DATATABLE_TOOLBAR, 'toolbar-triggers-test');
99
160
 
100
- static expandableWithToolbarUC = new Urlbuilder(PATH_E2E_DATATABLE, 'expandable-with-toolbar');
161
+ static expandableWithToolbarUC = new Urlbuilder(PATH_E2E_DATATABLE_TOOLBAR, 'expandable-with-toolbar');
101
162
 
102
- static multiSelectEmpty = new Urlbuilder(PATH_E2E_DATATABLE, 'multi-select-empty');
163
+ // Pagination
103
164
 
104
- static toolbarTriggers = new Urlbuilder(PATH_E2E_DATATABLE, 'toolbar-triggers-test');
165
+ static paginatedWithDetail = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'paginated-table-with-details');
105
166
 
106
- static withCombobox = new Urlbuilder(PATH_E2E_DATATABLE, 'with-combobox');
167
+ static paginatedTable = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'paginated-table-test');
107
168
 
108
- static selectableSections = new Urlbuilder(PATH_E2E_DATATABLE, 'selectable-sections');
169
+ static paginatedWithFilters = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'responsive-pagination-filterbar');
109
170
 
110
- static filterCreatableMulti = new Urlbuilder(PATH_E2E_DATATABLE, 'filtered-creatable-column-with-dd-menu-addon');
171
+ static paginatedTableAjaxTest = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'paginated-table-ajax-test');
111
172
 
112
- static selectableColumns = new Urlbuilder(PATH_E2E_DATATABLE, 'selectable-columns');
173
+ // Sorting
113
174
 
114
- static skeletonPropTest = new Urlbuilder(PATH_E2E_DATATABLE, 'skeleton-prop-test');
175
+ static sortByColumn = new Urlbuilder(PATH_E2E_DATATABLE_SORTING, 'sort-by-column');
115
176
 
116
- static skeletonCellTest = new Urlbuilder(PATH_E2E_DATATABLE, 'skeleton-cells-test');
177
+ static sortWithHeaderGroups = new Urlbuilder(PATH_E2E_DATATABLE_SORTING, 'pui-9362-sort-with-header-groups');
117
178
 
118
- static skeletonRowTest = new Urlbuilder(PATH_E2E_DATATABLE, 'skeleton-rows-variant-test');
179
+ // States
119
180
 
120
- static toggleColumnVisibility = new Urlbuilder(PATH_E2E_DATATABLE, 'toggle-column-visibility');
181
+ static emptyState = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'empty-state');
121
182
 
122
- static resizableColumnsWithFilters = new Urlbuilder(PATH_E2E_DATATABLE, 'resizable-columns-with-filters');
183
+ static emptyStateCustomMsg = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'empty-state-customized-messages');
123
184
 
124
- static expandableWithModalSlide = new Urlbuilder(PATH_E2E_DATATABLE, 'expandable-with-modal-slide');
185
+ static emptyStateNoHeight = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'pui-10761-empty-state-no-height');
125
186
 
126
- static paginatedWithFilters = new Urlbuilder(PATH_E2E_DATATABLE, 'responsive-pagination-filterbar');
187
+ static emptyMaxWidth = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'empty-state-full-width');
127
188
 
128
- static groupedResizebleAndHidden = new Urlbuilder(PATH_E2E_DATATABLE, 'grouping-with-hidden-and-resizable-columns');
189
+ static skeletonPropTest = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-prop-test');
129
190
 
130
- static emptyMaxWidth = new Urlbuilder(PATH_E2E_DATATABLE, 'empty-state-full-width');
191
+ static skeletonCellTest = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-cells-test');
131
192
 
132
- static datatableInsideTabs = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-8529-datatable-inside-tabs');
193
+ static skeletonRowTest = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-rows-variant-test');
133
194
 
134
- static selectMultipleNoGlobalDisabled = new Urlbuilder(PATH_E2E_DATATABLE, 'select-multiple-no-global-disabled');
195
+ static skeletonCellTestFast = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-cells-fast-test');
135
196
 
136
- static selectMultipleNoGlobal = new Urlbuilder(PATH_DATA_TABLE, 'select-multiple-no-global');
197
+ static pui16461SkeletonAndNoResults = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'pui-16461-skeleton-and-no-results');
137
198
 
138
- static filteredCreatable = new Urlbuilder(
139
- PATH_DATA_TABLE_ADVANCED,
140
- 'filtered-creatable-column-with-dropdown-menu-addon',
141
- );
199
+ // Cell
200
+ static editableCells = new Urlbuilder(PATH_E2E_DATATABLE_CELL, 'editable-cells');
142
201
 
143
- static filterableTablesE2e = new Urlbuilder(PATH_E2E_DATATABLE, 'filtered-multiple-tables-e-2-e');
202
+ static customCellText = new Urlbuilder(PATH_E2E_DATATABLE_CELL, 'custom-cell-text');
144
203
 
145
- static disabledRowsAndPopper = new Urlbuilder(PATH_E2E_DATATABLE, 'disabled-rows-and-popper');
204
+ static customCellRowAndHeaderTest = new Urlbuilder(PATH_E2E_DATATABLE_CELL, 'custom-cell-row-and-header');
146
205
 
147
- static sortWithHeaderGroups = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-9362-sort-with-header-groups');
206
+ // Use Cases
148
207
 
149
- static multiPerfoHitTest = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-15674-perfo-test');
208
+ static integratedExampleWithFilters = new Urlbuilder(PATH_E2E_DATATABLE_USE_CASES, 'integrated-example-with-filters');
150
209
 
151
- static selectMultipleSticky = new Urlbuilder(PATH_DATA_TABLE, 'select-multiple-sticky');
210
+ // Slots
152
211
 
153
- static perPageScrolling = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-9545-per-page-scrolling');
212
+ static slotsFilters = new Urlbuilder(PATH_E2E_DATATABLE_SLOTS, 'slots-filters');
213
+
214
+ // E2E FOLDER -- TO BE MOVED TO ITS OWN FOLDER
215
+
216
+ static basic = new Urlbuilder(PATH_E2E_DATATABLE, 'basic');
217
+
218
+ static masterDatailMultiLevel = new Urlbuilder(PATH_E2E_DATATABLE, 'master-detail-multi-level-test');
219
+
220
+ static withMenuButton = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-16383-suggested-solution');
221
+
222
+ static onRowClick = new Urlbuilder(PATH_E2E_DATATABLE, 'on-row-click');
223
+
224
+ static controlledWidthTest = new Urlbuilder(PATH_E2E_DATATABLE, 'controlled-width-test');
225
+
226
+ static customWithDate = new Urlbuilder(PATH_E2E_DATATABLE, 'custom-render-w-date-test');
227
+
228
+ static withCombobox = new Urlbuilder(PATH_E2E_DATATABLE, 'with-combobox');
229
+
230
+ static selectableSections = new Urlbuilder(PATH_E2E_DATATABLE, 'selectable-sections');
231
+
232
+ static selectableColumns = new Urlbuilder(PATH_E2E_DATATABLE, 'selectable-columns');
233
+
234
+ static expandableWithModalSlide = new Urlbuilder(PATH_E2E_DATATABLE, 'expandable-with-modal-slide');
235
+
236
+ static groupedResizebleAndHidden = new Urlbuilder(PATH_E2E_DATATABLE, 'grouping-with-hidden-and-resizable-columns');
237
+
238
+ static datatableInsideTabs = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-8529-datatable-inside-tabs');
239
+
240
+ static selectMultipleNoGlobalDisabled = new Urlbuilder(PATH_E2E_DATATABLE, 'select-multiple-no-global-disabled');
241
+
242
+ static disabledRowsAndPopper = new Urlbuilder(PATH_E2E_DATATABLE, 'disabled-rows-and-popper');
243
+
244
+ static multiPerfoHitTest = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-15674-perfo-test');
154
245
 
155
- static DndColumnsFixedWidth = new Urlbuilder(PATH_E2E_DATATABLE, 'dnd-columns-fixed-width');
246
+ static perPageScrolling = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-9545-per-page-scrolling');
156
247
 
157
248
  static pui9624IncompleteWheninsideTabs = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-9624-incomplete-when-inside-tabs');
158
249
 
@@ -160,53 +251,23 @@ export default class DataTableCO extends PageObject {
160
251
 
161
252
  static skipLinkTest = new Urlbuilder(PATH_E2E_DATATABLE, 'skip-link-test');
162
253
 
163
- static filterInsideDialog = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-10042-datatable-inside-dialog-filter-scroll');
164
-
165
- static emptyStateNoHeight = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-10761-empty-state-no-height');
166
-
167
254
  // eslint-disable-next-line max-len
168
- static firstFocusDisabledURL = new Urlbuilder(
169
- PATH_E2E_DATATABLE,
170
- 'filtered-creatable-using-disable-focus-on-first-option-on-type-test',
171
- );
172
-
173
- static filteredColumnWithCustomFilterBarAddon = new Urlbuilder(
174
- PATH_E2E_DATATABLE,
175
- 'filtered-column-with-custom-filter-bar-addon',
176
- );
177
255
 
178
256
  static multiSelectDisabledWithUniqueRowAccessor = new Urlbuilder(
179
257
  PATH_E2E_DATATABLE,
180
258
  'multi-select-disabled-selection-with-unique-row-accessor',
181
259
  );
182
260
 
183
- static filterEmpty = new Urlbuilder(PATH_E2E_DATATABLE, 'filter-empty');
184
-
185
261
  static resizableWithConstrains = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-8896-resizable-with-constrains');
186
262
 
187
263
  static memoizedSearchFilterTest = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-12253-memoized-filter-component');
188
264
 
189
- static skeletonCellTestFast = new Urlbuilder(PATH_E2E_DATATABLE, 'skeleton-cells-fast-test');
190
-
191
- static requiredColumnsMulti = new Urlbuilder(PATH_E2E_DATATABLE, 'required-columns-multi');
192
-
193
265
  static configurableAriaLabelTest = new Urlbuilder(PATH_E2E_DATATABLE, 'configurable-aria-label-test');
194
266
 
195
- static paginatedTableAjaxTest = new Urlbuilder(PATH_E2E_DATATABLE, 'paginated-table-ajax-test');
196
-
197
267
  static captionTest = new Urlbuilder(PATH_E2E_DATATABLE, 'caption-test');
198
268
 
199
- static customCellRowAndHeaderTest = new Urlbuilder(PATH_DATA_TABLE, 'custom-cell-row-and-header');
200
-
201
- static groupingWithHiddenColumnsTest = new Urlbuilder(PATH_E2E_DATATABLE, 'column-grouping-with-hidden-columns-test');
202
-
203
269
  static pui15245 = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-15245');
204
270
 
205
- static filteredColumnWithComboboxFilterTest = new Urlbuilder(
206
- PATH_E2E_DATATABLE,
207
- 'filtered-column-with-combobox-filter-test',
208
- );
209
-
210
271
  // SELECTORS
211
272
 
212
273
  static getTable = async () => $('[data-testid="data-table-table"]');
@@ -306,6 +367,10 @@ export default class DataTableCO extends PageObject {
306
367
  return $(`[id="next_content_id"]`);
307
368
  }
308
369
 
370
+ static async getDataTableEmptyStateWrapper() {
371
+ return $('[data-testid="ds-datatable-empty-state-wrapper"]');
372
+ }
373
+
309
374
  // Snapshots
310
375
  static snapshotPath(example = 'basic') {
311
376
  return PageObject.getSnapshotPathBuilder('DataTable', example, 'ds-data-table');
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable prettier/prettier */
4
4
  import { Key } from 'webdriverio';
5
5
  import DSDataTableCO from '../DSDataTableCO';
6
- import { RowCO, HeaderCO } from '../components';
6
+ import { RowCO } from '../components';
7
7
  import { asyncMouseOver } from '../../helpers';
8
8
 
9
9
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
@@ -64,50 +64,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
64
64
  await expect(snapshot).toEqual(0);
65
65
  });
66
66
  });
67
- describe('PUI-6983 - DataTable, Column header when sorting -visual', async () => {
68
- before('loading page', async () => {
69
- const errorOnGo = await DSDataTableCO.sortByColumn.go();
70
- if (errorOnGo) throw errorOnGo;
71
- await DSDataTableCO.waitForDataTable();
72
- });
73
- it('01: should hover on position header and show the unsorted icon for the column', async () => {
74
- const positionHeader = await HeaderCO.getHeaderCellByIndex(2);
75
- await asyncMouseOver(positionHeader);
76
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('datatable-column-header-unsorted'));
77
- await expect(snapshot).toEqual(0);
78
- });
79
- it('02: should click on position header and sort the rows descending by this column changing the headers icon', async () => {
80
- await browser.keys(Key.Tab);
81
- await browser.keys(Key.Tab);
82
- await browser.keys(Key.Tab);
83
- await browser.keys(Key.ArrowDown);
84
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('datatable-column-header-descending'));
85
- await expect(snapshot).toEqual(0);
86
- });
87
- it('03: should click on position header and sort the rows ascending by this column changing the headers icon', async () => {
88
- await browser.keys(Key.ArrowUp);
89
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('datatable-column-header-ascending'));
90
- await expect(snapshot).toEqual(0);
91
- });
92
- });
93
- describe('PUI-7041 - DataTable, Column header truncated -visual', async () => {
94
- before('loading page', async () => {
95
- const errorOnGo = await DSDataTableCO.sortByColumn.go();
96
- if (errorOnGo) throw errorOnGo;
97
- await DSDataTableCO.waitForDataTable();
98
- });
99
- it('Should click on name header and sort the rows ascending by this column changing the headers icon', async () => {
100
- const countryHeader = await HeaderCO.getHeaderCellByIndex(1);
101
- await countryHeader.click();
102
- await asyncMouseOver(countryHeader);
103
- // eslint-disable-next-line wdio/no-pause
104
- await browser.pause(1000);
105
- const snapshot = await browser.checkSnapshot(
106
- DSDataTableCO.snapshotPath('datatable-column-header-truncated-wtooltip'),
107
- );
108
- await expect(snapshot).toEqual(0);
109
- });
110
- });
111
67
  describe('PUI-7039 - DataTable, Multi select empty -visual', async () => {
112
68
  before('loading page', async () => {
113
69
  const errorOnGo = await DSDataTableCO.multiSelectEmpty.go();
@@ -13,6 +13,14 @@ export default class FilterBarCO extends PageObject {
13
13
  return $('[data-testid="popper-container"]');
14
14
  }
15
15
 
16
+ static getFilterBarMenuWrapper() {
17
+ return $('[data-testid="ds-flyoutmenu-root"]');
18
+ }
19
+
20
+ static getFilterBarMenuListBox() {
21
+ return $('[data-testid="ds-flyoutmenu-list-wrapper"]');
22
+ }
23
+
16
24
  static getClearFilters() {
17
25
  return $('//li[@role="menuitem"]//span[contains(text(), "Clear Filters")]/ancestor::li');
18
26
  }
@@ -138,4 +138,16 @@ export default class FiltersCO extends PageObject {
138
138
  static getComboboxInput = async () => $('[data-testid="combobox-input"]');
139
139
 
140
140
  static getSelectedCustomFilterValue = async () => $('[data-testid="selectedCustomFilter"]');
141
+
142
+ static getFilterPopoverContent = async () => $('[data-testid="ds-datatable-filter-popover-content"]');
143
+
144
+ static getFreeTextSearchInput = async () => $('[data-testid="data-table-filter-free-text-search"]');
145
+
146
+ static getFilterMenuContentSlot = async () => $('[data-dimsum-slot="dsDatatableFilterPopoverContent"]');
147
+
148
+ static getFilterPopoverSlot = async () => $('[data-dimsum-slot="dsDatatableFilterPopover"]');
149
+
150
+ static getFreeTextSearchWrapperSlot = async () => $('[data-dimsum-slot="dsDatatableFreeTextSearchWrapper"]');
151
+
152
+ static getFreeTextSearchFilterSlot = async () => $('[data-dimsum-parent-slot="dsDatatableFreeTextSearchFilter"]');
141
153
  }
@@ -43,6 +43,11 @@ export default class HeaderCO extends PageObject {
43
43
 
44
44
  static getFilterBtnByIndex = async (index) => $$('[data-testid="data-table-filter-menu-button"] button')[index];
45
45
 
46
+ static getSortBtnByIndex = async (index) => {
47
+ const headerCell = await this.getHeaderCellByIndex(index);
48
+ return headerCell.$('[data-testid="data-table-sort-button"]');
49
+ };
50
+
46
51
  // Snapshots
47
52
  static snapshotPath(example = 'basic') {
48
53
  return PageObject.getSnapshotPathBuilder('DataTable', example, 'ds-data-table');
@@ -31,5 +31,5 @@ export default class PaginationNavCO extends PageObject {
31
31
 
32
32
  static getSegPagSpans = async () => (await this.getPagesMenu()).$$(' div > span');
33
33
 
34
- static getSegPagContent = async () => $$('[data-testid="ds-pagination-paginator"] > div > span')[1];
34
+ static getSegPagContent = async () => $$('[data-testid="ds-pagination-paginator"] > div > span')[0];
35
35
  }
@@ -70,7 +70,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
70
70
  await expect(textOnMenuCenterText).toEqual('February 2020');
71
71
  });
72
72
  it('10: should change the date using the mouse and should be reflected on the pill', async () => {
73
- const daySix = await DateSwitcherCO.getDayByIndex(5);
73
+ const daySix = await DateSwitcherCO.getDayByNumber('6');
74
74
  await daySix.click();
75
75
  const dateSwitcherTxtPill = await FilterBarCO.getPillByIndex(1);
76
76
  const txtPillText = await dateSwitcherTxtPill.getText();
@@ -9,32 +9,40 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
9
9
  const errorOnGo = await DSDataTableCO.filterableWithFilterBar.go();
10
10
  if (errorOnGo) throw errorOnGo;
11
11
  await DSDataTableCO.waitForDataTable();
12
+ });
13
+ beforeEach('maximize window', async () => {
12
14
  await browser.maximizeWindow();
13
15
  });
14
- it('should display the menu of the DateSwitcher single on a fixed date', async () => {
16
+ it('01: should display the menu of the DateSwitcher single on a fixed date', async () => {
17
+ await browser.eyesOpen();
15
18
  await FiltersCO.openFilterPopperByColumnName('Date Switcher', 0);
16
19
  await browser.keys(Key.Tab);
17
20
  await type('02022020');
18
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('dateswitcher-open-menu-single'));
21
+ const snapshot = await browser.eyesCheckSnapshot(DSDataTableCO.snapshotPath('dateswitcher-open-menu-single'));
19
22
  await expect(snapshot).toEqual(0);
20
23
  });
21
- it('should display the menu of the DateSwitcher range on a fixed first date', async () => {
24
+ it('02: should display the menu of the DateSwitcher range on a fixed first date', async () => {
25
+ await browser.eyesOpen();
22
26
  const checkBox = await DateSwitcherCO.getRangeCheckbox();
23
27
  await checkBox.click();
24
28
  const firstInput = await DateSwitcherCO.getLeftMMInput();
25
29
  await firstInput.click();
26
30
  await type('01012010');
27
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('dateswitcher-open-menu-range-notfull'));
31
+ const snapshot = await browser.eyesCheckSnapshot(
32
+ DSDataTableCO.snapshotPath('dateswitcher-open-menu-range-notfull'),
33
+ );
28
34
  await expect(snapshot).toEqual(0);
29
35
  });
30
- it('should display the menu of the DateSwitcher range with full input', async () => {
36
+ it('03: should display the menu of the DateSwitcher range with full input', async () => {
37
+ await browser.eyesOpen();
31
38
  const secondInput = await DateSwitcherCO.getRightMMInput();
32
39
  await secondInput.click();
33
40
  await type('01152010');
34
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('dateswitcher-open-menu-range-full'));
41
+ const snapshot = await browser.eyesCheckSnapshot(DSDataTableCO.snapshotPath('dateswitcher-open-menu-range-full'));
35
42
  await expect(snapshot).toEqual(0);
36
43
  });
37
- it('display the menu of the DateSwitcher when the range and the start are not in the same month', async () => {
44
+ it('04: display the menu of the DateSwitcher when the range and the start are not in the same month', async () => {
45
+ await browser.eyesOpen();
38
46
  await browser.keys(Key.Escape);
39
47
  const pillCloseBt = await FilterBarCO.getPillCloseButtonByPill(await FilterBarCO.getPillByIndex(1));
40
48
  await pillCloseBt.click();
@@ -45,7 +53,9 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
45
53
  const secondInput = await DateSwitcherCO.getRightMMInput();
46
54
  await secondInput.click();
47
55
  await type('02152010');
48
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('dateswitcher-open-menu-range-split'));
56
+ const snapshot = await browser.eyesCheckSnapshot(
57
+ DSDataTableCO.snapshotPath('dateswitcher-open-menu-range-split'),
58
+ );
49
59
  await expect(snapshot).toEqual(0);
50
60
  });
51
61
  });
@@ -162,8 +162,10 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
162
162
  const errorOnGo = await DSDataTableCO.datatableInsideTabs.go();
163
163
  if (errorOnGo) throw errorOnGo;
164
164
  await DSDataTableCO.waitForDataTable();
165
+ await browser.maximizeWindow();
165
166
  });
166
167
  it('should expand all rows and drop a row within another', async () => {
168
+ await browser.eyesOpen();
167
169
  await (await HeaderCO.getHeaderExpandButton()).click();
168
170
  const rowExpanded = await RowCO.getExpandedRow(0);
169
171
  await rowExpanded.waitForDisplayed();
@@ -172,7 +174,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
172
174
  await browser.keys(Key.Return);
173
175
  await browser.keys(Key.ArrowDown);
174
176
  await browser.keys(Key.Return);
175
- const snapshot = await browser.checkSnapshot(DSDataTableCO.snapshotPath('expanded-dropped-inside'));
177
+ const snapshot = await browser.eyesCheckSnapshot(DSDataTableCO.snapshotPath('expanded-dropped-inside'));
176
178
  await expect(snapshot).toEqual(0);
177
179
  });
178
180
  });
@@ -0,0 +1,33 @@
1
+ /* eslint-disable func-names */
2
+ /* eslint-disable prefer-arrow-callback */
3
+ /* eslint-disable no-await-in-loop */
4
+ import { Key } from 'webdriverio';
5
+ import DSDataTableCO from '../DSDataTableCO';
6
+ import { HeaderCO } from '../components';
7
+
8
+ // Keyboard behavior is subject to changes once the UX team determines which's the way to go in terms of accessibility
9
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
10
+ describe('PUI-16396 - DataTable, Dnd columns - scrollbar behavior', function () {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSDataTableCO.DndColumnsFixedWidth.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ await DSDataTableCO.waitForDataTable();
15
+ });
16
+ it('01: should scroll correctly', async () => {
17
+ await browser.keys(Key.Tab);
18
+ await browser.keys(Key.Tab);
19
+ await browser.keys(Key.PageDown);
20
+ const snapshot = await browser.eyesCheckSnapshot(DSDataTableCO.snapshotPath('data-table-scroll'));
21
+ await expect(snapshot).toEqual(0);
22
+ });
23
+ it('02: Drag&Drop Name column should not cause data-table to scroll automatically', async () => {
24
+ const nameColumn = await HeaderCO.getHeaderCellByText('NAME');
25
+ await nameColumn.click();
26
+ const positionColumn = await HeaderCO.getHeaderCellByText('POSITION');
27
+ const dndHandler = await HeaderCO.getHeaderCellDragHandler(nameColumn);
28
+ await dndHandler.dragAndDrop(positionColumn);
29
+ const snapshot = await browser.eyesCheckSnapshot(DSDataTableCO.snapshotPath('data-table-dnd-scroll'));
30
+ await expect(snapshot).toEqual(0);
31
+ });
32
+ });
33
+ }