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.
- package/CHANGELOG.md +8 -0
- package/ds-accordion/DSAccordionCO.js +15 -11
- package/ds-accordion/role/DSAccordion.role-heading.func.spec.js +21 -0
- package/ds-accordion/scrollable-content/DSAccordion.scrollable-content.visual.spec.js +42 -0
- package/ds-accordion/slots/DSAccordion.slots.func.spec.js +12 -0
- package/ds-accordion/wrapLabel/DSAccordion.wrap-label.visual.spec.js +20 -0
- package/ds-autocomplete/DSAutocompleteCO.js +18 -0
- package/ds-autocomplete/slots/DSAutocomplete.slots.axe-core.func.spec.js +20 -0
- package/ds-autocomplete/slots/DSAutocomplete.slots.func.spec.js +45 -0
- package/ds-autocomplete/slots/DSAutocomplete.slots.visual.spec.js +21 -0
- package/ds-banner/DSBanner.func.spec.js +4 -60
- package/ds-banner/DSBanner.text-resize.visual.spec.js +15 -0
- package/ds-banner/DSBanner.text-wrapping.visual.spec.js +31 -0
- package/ds-banner/DSBanner.visual.spec.js +0 -29
- package/ds-banner/DSBannerCO.js +24 -2
- package/ds-banner/aria-and-role/DSBanner.aria-and-role.func.spec.js +63 -0
- package/ds-banner/slots/DSBanner.slots.func.spec.js +65 -0
- package/ds-banner/slots/DSBanner.slots.visual.spec.js +17 -0
- package/ds-breadcrumb/DSBreadcrumb.func.spec.js +5 -3
- package/ds-button-v3/DSButtonV3.type-submit.func.spec.js +28 -0
- package/ds-button-v3/DSButtonV3.visual.spec.js +7 -2
- package/ds-button-v3/DSButtonV3CO.js +2 -0
- package/ds-card-navigation/CardNavigationCO.js +56 -0
- package/ds-card-navigation/DSCardNavigation.func.spec.js +50 -1
- package/ds-card-navigation/DSCardNavigation.slots.func.spec.js +127 -0
- package/ds-card-navigation/DSCardNavigation.slots.visual.spec.js +26 -0
- package/ds-card-navigation/DSCardNavigation.visual.spec.js +16 -0
- package/ds-card-v3/DSCardV3CO.js +20 -0
- package/ds-card-v3/drag-n-drop/DSCardV3.DnD.visual.spec.js +1 -1
- package/ds-card-v3/slots/DSCardV3.slots.axe-core.spec.js +22 -0
- package/ds-card-v3/slots/DSCardV3.slots.func.spec.js +36 -0
- package/ds-card-v3/slots/DSCardV3.slots.visual.spec.js +18 -0
- package/ds-chat/DSChat.func.spec.js +3 -2
- package/ds-chat/DSChat.visual.spec.js +3 -2
- package/ds-chat/DSChatCO.js +0 -8
- package/ds-chat/floatingbutton/DSChat-floating-button.visual.spec.js +1 -1
- package/ds-chip/DSChipCO.js +24 -0
- package/ds-chip/slots/DSChip.slots.axe-core.spec.js +17 -0
- package/ds-chip/slots/DSChip.slots.func.spec.js +39 -0
- package/ds-chip/slots/DSChip.slots.visual.spec.js +17 -0
- package/ds-circular-indeterminate-indicator/DSCircularIndicator.visual.spec.js +2 -1
- package/ds-controlled-form/ds-combobox/creatable/DSCombobox.creatable.visual.spec.js +6 -4
- package/ds-controlled-form/ds-controlled-large-input-text/DSLargeInputTextCO.js +5 -0
- package/ds-controlled-form/ds-controlled-large-input-text/aria-disabled/DSLargeInputText.aria-disabled.func.spec.js +19 -0
- package/ds-controlled-form/ds-controlled-radio-group/DSControlledRadioGroup.axe-core.func.spec.js +31 -0
- package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +1 -0
- package/ds-data-table-async/DSDataTableCO.js +173 -108
- package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +1 -45
- package/ds-data-table-async/components/FilterBarCO.js +8 -0
- package/ds-data-table-async/components/FiltersCO.js +12 -0
- package/ds-data-table-async/components/HeaderCO.js +5 -0
- package/ds-data-table-async/components/PaginationNavCO.js +1 -1
- package/ds-data-table-async/date-filters/DSDataTable.date-switcher.single.func.spec.js +1 -1
- package/ds-data-table-async/date-filters/DSDataTable.date-switcher.visual.spec.js +18 -8
- package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +3 -1
- package/ds-data-table-async/dnd/DSDataTable.dnd_fixed-width.visual.spec.js +33 -0
- package/ds-data-table-async/empty-state/DSDataTable.empty-state.visual.spec.js +13 -0
- package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +5 -5
- package/ds-data-table-async/filters/DSDataTable.filters-creatable.visual.spec.js +1 -0
- package/ds-data-table-async/filters/DSDataTable.filters.visual.spec.js +18 -1
- package/ds-data-table-async/filters/DSDataTable.free-text-search.keyboard.func.spec.js +242 -0
- package/ds-data-table-async/filters/DSDataTable.free-text-search.visual.spec.js +54 -0
- package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +3 -3
- package/ds-data-table-async/menubutton/DSDataTable.MenuButton.keyboard.func.spec.js +56 -0
- package/ds-data-table-async/menubutton/DSDataTable.MenuButton.mouse.func.spec.js +55 -0
- package/ds-data-table-async/menubutton/DSDataTable.MenuButton.visual.spec.js +27 -0
- package/ds-data-table-async/more/DSDataTable.headers.visual.spec.js +0 -63
- package/ds-data-table-async/select/DSDataTable.select.func.spec.js +1 -1
- package/ds-data-table-async/slots/DSDataTable.slots.func.spec.js +40 -0
- package/ds-data-table-async/slots/DSDataTable.slots.visual.spec.js +19 -0
- package/ds-data-table-async/sorting/DSDataTable.sorting.visual.spec.js +118 -0
- package/ds-dataviz/DSDataViz.axis.visual.spec.js +2 -1
- package/ds-dataviz/DSDataViz.scroll.visual.spec.js +1 -0
- package/ds-dataviz/DSDataViz.ticks.visual.spec.js +2 -1
- package/ds-dialog/DSDialog.cases.visual.spec.js +3 -4
- package/ds-dialog/DSDialog.visual.spec.js +7 -14
- package/ds-dialog/DSDialogCO.js +5 -13
- package/ds-dialog/axe-core/DSDialog.error.axe-core.func.spec.js +24 -0
- package/ds-dialog/axe-core/DSDialog.info.axe-core.func.spec.js +24 -0
- package/ds-dialog/axe-core/DSDialog.scroll-body.axe-core.func.spec.js +24 -0
- package/ds-dialog/axe-core/DSDialog.success.axe-core.func.spec.js +24 -0
- package/ds-dialog/axe-core/DSDialog.warning.axe-core.spec.func.js +24 -0
- package/ds-dropdownmenu-v2/DSDDMenuV2.visual.spec.js +5 -5
- package/ds-form-combobox-multi/DSComboboxMultiCO.js +96 -1
- package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +7 -3
- package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.mouse.func.spec.js +25 -0
- package/ds-form-combobox-multi/menu-position/DSComboboxMulti.menu-position.visual.spec.js +42 -0
- package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.func.spec.js +100 -0
- package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.visual.spec.js +51 -0
- package/ds-form-combobox-single/DSComboboxSingleCO.js +97 -1
- package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.mouse.func.spec.js +25 -0
- package/ds-form-combobox-single/menu-position/DSComboboxSingle.menu-position.visual.spec.js +93 -0
- package/ds-form-combobox-single/slots/DSComboboxSingle.slots.func.spec.js +100 -0
- package/ds-form-combobox-single/slots/DSComboboxSingle.slots.visual.spec.js +53 -0
- package/ds-form-date-range-picker/aria-disabled/DateRangePicker.applyAriaDisabled.keyboard-nav.func.spec.js +31 -5
- package/ds-form-date-time-picker/DSControlledDateTimePickerCO.js +7 -5
- package/ds-form-date-time-picker/date-input/DateInput.keyboard-nav.func.spec.js +2 -2
- package/ds-form-date-time-picker/date-time-full/DateTimeFull.applyAriaDisabled.axe-core.func.spec.js +1 -1
- package/ds-form-date-time-picker/date-time-full/DateTimeFull.axe-core.func.spec.js +25 -0
- package/ds-form-date-time-picker/date-time-full/DateTimePicker.applyAriaDisabled.keyboard-nav.func.spec.js +6 -1
- package/ds-form-date-time-picker/date-time-full/DateTimePicker.func.spec.js +32 -2
- package/ds-form-date-time-picker/date-time-full/DateTimePicker.keyboard-nav.func.spec.js +6 -1
- package/ds-form-date-time-picker/date-time-full/DateTimePicker.readOnly.keyboard-nav.func.spec.js +6 -1
- package/ds-form-date-time-picker/date-time-input/DateTimeInput.applyAriaDisabled.keyboard-nav.func.spec.js +40 -4
- package/ds-form-date-time-picker/showcase/DateTimePicker.applyAriaDisabled-showcase.visual.spec.js +2 -2
- package/ds-form-date-time-picker/showcase/DateTimePicker.readOnly-showcase.visual.spec.js +2 -2
- package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItem.axe-core.func.spec.js +4 -1
- package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +4 -0
- package/ds-form-native-select/NativeSelect.axe-core.func.spec.js +57 -0
- package/ds-form-native-select/NativeSelectCO.js +35 -0
- package/{ds-toggle → ds-form-toggle}/DSToggle.axe-core.func.spec.js +6 -2
- package/{ds-toggle → ds-form-toggle}/DSToggle.func.spec.js +13 -8
- package/{ds-toggle → ds-form-toggle}/DSToggle.visual.spec.js +2 -2
- package/{ds-toggle → ds-form-toggle}/DSToggleCO.js +1 -1
- package/ds-global-header/GlobalHeader.axe-core.func.spec.js +13 -0
- package/ds-global-header/GlobalHeaderCO.js +2 -0
- package/{ds-controlled-form → ds-hooks}/useMask/Number/UseNumberMask.func.spec.js +25 -12
- package/{ds-controlled-form → ds-hooks}/useMask/Number/UseNumberMask.visual.spec.js +4 -1
- package/{ds-controlled-form → ds-hooks}/useMask/Phone/UsePhoneMask.func.spec.js +1 -1
- package/{ds-controlled-form → ds-hooks}/useMask/Phone/UsePhoneMask.visual.spec.js +1 -1
- package/{ds-controlled-form → ds-hooks}/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +1 -1
- package/{ds-controlled-form → ds-hooks}/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +1 -1
- package/{ds-controlled-form → ds-hooks}/useMask/RegExp/UseRegExpMask.func.spec.js +1 -1
- package/{ds-controlled-form → ds-hooks}/useMask/SSN/UseSsnMask.func.spec.js +1 -1
- package/{ds-controlled-form → ds-hooks}/useMask/ZipCode/UseZipCodeMask.func.spec.js +1 -1
- package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.axe-core.func.spec.js +31 -0
- package/ds-menu-button/DSMenuButtonCO.js +2 -0
- package/ds-menu-button/basic/DSMenuButton.basic.func.spec.js +28 -0
- package/ds-menu-button/multiselect/DSMenuButton.axe-core.multiselect.func.spec.js +6 -1
- package/ds-menu-button/singleSelect/DSMenuButton.axe-core.singleSelect.func.spec.js +6 -1
- package/ds-menu-button/submenu/DSMenuButton.axe-core.subMenu.func.spec.js +7 -2
- package/ds-menu-item/DSMenuItems.visual.spec.js +8 -32
- package/ds-mobile/MobileDatePicker/MobileDatePicker.visual.spec.js +0 -13
- package/ds-modal-slide/ModalSlideCO.js +2 -0
- package/ds-notification-badge/DSNotificationBadge.axe-core.func.spec.js +1 -1
- package/ds-pagination/DSPagination.axe-core.func.spec.js +64 -0
- package/ds-pagination/DSPaginationCO.js +12 -0
- package/ds-pills-v2/DSPills.visual.spec.js +3 -1
- package/ds-pills-v2/selection/DSPills.axe-core.func.spec.js +6 -1
- package/ds-pills-v2/selection/DSPills.func.spec.js +32 -30
- package/ds-progress-indicator/DSProgressIndicator.axe-core.func.spec.js +31 -0
- package/ds-progress-indicator/DSProgressIndicator.func.spec.js +8 -3
- package/ds-progress-indicator/DSProgressIndicator.visual.spec.js +12 -2
- package/ds-progress-indicator/DSProgressIndicatorCO.js +5 -3
- package/ds-query-builder/DSQueryBuilder.visual.spec.js +10 -3
- package/ds-read-more/DSReadMore.func.spec.js +0 -58
- package/ds-read-more/DSReadMore.keyboard-nav.func.spec.js +66 -0
- package/ds-read-more/DSReadMore.slots.func.spec.js +58 -0
- package/ds-read-more/DSReadMore.slots.visual.spec.js +23 -0
- package/ds-read-more/DSReadMore.visual.spec.js +41 -17
- package/ds-read-more/DSReadMore.width-change.visual.spec.js +85 -0
- package/ds-read-more/DSReadMore.with-tooltip.func.spec.js +63 -0
- package/ds-read-more/DSReadMoreCO.js +20 -0
- package/ds-shuttle-v2/Dnd/DSShuttleV2.DnD.visual.spec.js +3 -0
- package/ds-shuttle-v2/basic/DSShuttleV2.keyboard.func.spec.js +0 -79
- package/ds-shuttle-v2/extra/DSShuttleV2.extra.func.spec.js +6 -2
- package/ds-shuttle-v2/extra/DSShuttleV2.extra.visual.spec.js +21 -0
- package/ds-shuttle-v2/filtering/DSShuttleV2.filter.func.spec.js +8 -3
- package/ds-shuttle-v2/filtering/DSShuttleV2.filter.kb.func.spec.js +43 -0
- package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +3 -2
- package/ds-shuttle-v2/items/DSShuttleV2.items.kb.func.spec.js +1 -1
- package/ds-shuttle-v2/load-more/DSShuttleV2.load-more.keyboard.func.spec.js +61 -0
- package/ds-slider-v2/DSSliderV2.extra.func.spec.js +44 -0
- package/ds-slider-v2/DSSliderV2.func.spec.js +98 -0
- package/ds-slider-v2/DSSliderV2CO.js +8 -0
- package/ds-svg/DSSvg.axe-core.func.spec.js +32 -0
- package/ds-svg/DSSvgCO.js +2 -3
- package/ds-tabs/DSTabs.onTabChange.func.spec.js +33 -0
- package/ds-tabs/DSTabsCO.js +29 -1
- package/ds-tabs/slots/DSTabs.slots.func.spec.js +77 -0
- package/ds-tabs/slots/DSTabs.slots.visual.spec.js +49 -0
- package/ds-tabs/with-carousel/DSTabs.with-carousel.visual.spec.js +5 -4
- package/ds-tooltip-v3/DSTooltipV3CO.js +6 -2
- package/ds-treeview/DSTreeViewCO.js +8 -0
- package/ds-treeview/dragAndDrop/TreeView-dnd.func.spec.js +0 -50
- package/ds-treeview/dragAndDrop/TreeView-dnd_mouse.func.spec.js +61 -0
- package/package.json +188 -187
- package/paths.js +17 -1
- package/ds-dialog/DSDialog.smoke.spec.js +0 -133
- package/ds-slider-v2/DSSliderV2.skipped.js +0 -46
- /package/ds-form-combobox-multi/iframe/{DSComboboxMulti.insideIframe.func.spec.js → DSComboboxMulti.insideIframe.visual.spec.js} +0 -0
- /package/{ds-controlled-form → ds-hooks}/useMask/useMaskCO.js +0 -0
- /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 {
|
|
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
|
-
|
|
23
|
+
// Drag and Drop
|
|
24
|
+
static dndRows = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-rows');
|
|
9
25
|
|
|
10
|
-
static dndColumns = new Urlbuilder(
|
|
26
|
+
static dndColumns = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-columns');
|
|
11
27
|
|
|
12
|
-
static
|
|
28
|
+
static DNDRestricted = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-rows-restricted');
|
|
13
29
|
|
|
14
|
-
static
|
|
30
|
+
static dndDefectTest = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'drag-and-drop-rows-test');
|
|
15
31
|
|
|
16
|
-
static
|
|
32
|
+
static DndColumnsFixedWidth = new Urlbuilder(PATH_E2E_DATATABLE_DND, 'dnd-columns-fixed-width');
|
|
17
33
|
|
|
18
|
-
|
|
34
|
+
// Filters
|
|
19
35
|
|
|
20
|
-
static
|
|
36
|
+
static singleSelect = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'single-select-filter');
|
|
21
37
|
|
|
22
|
-
static
|
|
38
|
+
static multiSelect = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'multi-select-filter');
|
|
23
39
|
|
|
24
|
-
static
|
|
40
|
+
static onFilterChange = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'on-filter-change-test');
|
|
25
41
|
|
|
26
|
-
static
|
|
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
|
-
|
|
45
|
+
PATH_E2E_DATATABLE_FILTERS,
|
|
34
46
|
'filtered-column-with-custom-filter-bar-addon-test',
|
|
35
47
|
);
|
|
36
48
|
|
|
37
|
-
static filterableWithFilterBar = new Urlbuilder(
|
|
49
|
+
static filterableWithFilterBar = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filtered-column-with-filter-bar');
|
|
38
50
|
|
|
39
|
-
static
|
|
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
|
|
60
|
+
static filteredCreatable = new Urlbuilder(
|
|
61
|
+
PATH_E2E_DATATABLE_FILTERS,
|
|
62
|
+
'filtered-creatable-column-with-dropdown-menu-addon',
|
|
63
|
+
);
|
|
42
64
|
|
|
43
|
-
static
|
|
65
|
+
static filterableTablesE2e = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filtered-multiple-tables-e-2-e');
|
|
44
66
|
|
|
45
|
-
static
|
|
67
|
+
static filteredColumnWithCustomFilterBarAddon = new Urlbuilder(
|
|
68
|
+
PATH_E2E_DATATABLE_FILTERS,
|
|
69
|
+
'filtered-column-with-custom-filter-bar-addon',
|
|
70
|
+
);
|
|
46
71
|
|
|
47
|
-
static
|
|
72
|
+
static filterCreatableMulti = new Urlbuilder(
|
|
73
|
+
PATH_E2E_DATATABLE_FILTERS,
|
|
74
|
+
'filtered-creatable-column-with-dd-menu-addon',
|
|
75
|
+
);
|
|
48
76
|
|
|
49
|
-
static
|
|
77
|
+
static filterInsideDialog = new Urlbuilder(
|
|
78
|
+
PATH_E2E_DATATABLE_FILTERS,
|
|
79
|
+
'pui-10042-datatable-inside-dialog-filter-scroll',
|
|
80
|
+
);
|
|
50
81
|
|
|
51
|
-
static
|
|
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
|
|
87
|
+
static filterEmpty = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'filter-empty-test');
|
|
54
88
|
|
|
55
|
-
static
|
|
89
|
+
static filteredColumnWithComboboxFilterTest = new Urlbuilder(
|
|
90
|
+
PATH_E2E_DATATABLE_FILTERS,
|
|
91
|
+
'filtered-column-with-combobox-filter-test',
|
|
92
|
+
);
|
|
56
93
|
|
|
57
|
-
static
|
|
94
|
+
static freeTextSearchFilter = new Urlbuilder(PATH_E2E_DATATABLE_FILTERS, 'free-text-search-filter');
|
|
58
95
|
|
|
59
|
-
|
|
96
|
+
// ADVANCED
|
|
60
97
|
|
|
61
|
-
static
|
|
98
|
+
static groupByCol = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'group-by-column');
|
|
62
99
|
|
|
63
|
-
static
|
|
100
|
+
static exportCsv = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'export-csv');
|
|
64
101
|
|
|
65
|
-
static
|
|
102
|
+
static performance = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'performance');
|
|
66
103
|
|
|
67
|
-
static
|
|
104
|
+
static emptyStateFullCustom = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'empty-state-full-custom');
|
|
68
105
|
|
|
69
|
-
static
|
|
106
|
+
static customCellRowHeader = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'custom-cell-row-and-header');
|
|
70
107
|
|
|
71
|
-
static
|
|
108
|
+
static responsive = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'responsive');
|
|
72
109
|
|
|
73
|
-
|
|
110
|
+
// ROW
|
|
74
111
|
|
|
75
|
-
static
|
|
112
|
+
static selectWithNoControl = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'select-without-column');
|
|
76
113
|
|
|
77
|
-
static
|
|
114
|
+
static expandable = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'expandable');
|
|
78
115
|
|
|
79
|
-
static
|
|
116
|
+
static rowVariants = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'row-variants-test');
|
|
80
117
|
|
|
81
|
-
static
|
|
118
|
+
static selectMultipleNoGlobal = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'select-multiple-no-global');
|
|
82
119
|
|
|
83
|
-
static
|
|
120
|
+
static selectMultipleSticky = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'select-multiple-sticky');
|
|
84
121
|
|
|
85
|
-
static
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
151
|
+
// Text Wrapping
|
|
91
152
|
|
|
92
|
-
static
|
|
153
|
+
static textWrapTruncColumn = new Urlbuilder(PATH_E2E_DATATABLE_TEXT_WRAPPING, 'text-wrap-truncate-column');
|
|
93
154
|
|
|
94
|
-
//
|
|
155
|
+
// Toolbar
|
|
95
156
|
|
|
96
|
-
static
|
|
157
|
+
static toolbarIntegration = new Urlbuilder(PATH_E2E_DATATABLE_TOOLBAR, 'toolbar-integration');
|
|
97
158
|
|
|
98
|
-
static
|
|
159
|
+
static toolbarTriggers = new Urlbuilder(PATH_E2E_DATATABLE_TOOLBAR, 'toolbar-triggers-test');
|
|
99
160
|
|
|
100
|
-
static expandableWithToolbarUC = new Urlbuilder(
|
|
161
|
+
static expandableWithToolbarUC = new Urlbuilder(PATH_E2E_DATATABLE_TOOLBAR, 'expandable-with-toolbar');
|
|
101
162
|
|
|
102
|
-
|
|
163
|
+
// Pagination
|
|
103
164
|
|
|
104
|
-
static
|
|
165
|
+
static paginatedWithDetail = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'paginated-table-with-details');
|
|
105
166
|
|
|
106
|
-
static
|
|
167
|
+
static paginatedTable = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'paginated-table-test');
|
|
107
168
|
|
|
108
|
-
static
|
|
169
|
+
static paginatedWithFilters = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'responsive-pagination-filterbar');
|
|
109
170
|
|
|
110
|
-
static
|
|
171
|
+
static paginatedTableAjaxTest = new Urlbuilder(PATH_E2E_DATATABLE_PAGINATION, 'paginated-table-ajax-test');
|
|
111
172
|
|
|
112
|
-
|
|
173
|
+
// Sorting
|
|
113
174
|
|
|
114
|
-
static
|
|
175
|
+
static sortByColumn = new Urlbuilder(PATH_E2E_DATATABLE_SORTING, 'sort-by-column');
|
|
115
176
|
|
|
116
|
-
static
|
|
177
|
+
static sortWithHeaderGroups = new Urlbuilder(PATH_E2E_DATATABLE_SORTING, 'pui-9362-sort-with-header-groups');
|
|
117
178
|
|
|
118
|
-
|
|
179
|
+
// States
|
|
119
180
|
|
|
120
|
-
static
|
|
181
|
+
static emptyState = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'empty-state');
|
|
121
182
|
|
|
122
|
-
static
|
|
183
|
+
static emptyStateCustomMsg = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'empty-state-customized-messages');
|
|
123
184
|
|
|
124
|
-
static
|
|
185
|
+
static emptyStateNoHeight = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'pui-10761-empty-state-no-height');
|
|
125
186
|
|
|
126
|
-
static
|
|
187
|
+
static emptyMaxWidth = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'empty-state-full-width');
|
|
127
188
|
|
|
128
|
-
static
|
|
189
|
+
static skeletonPropTest = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-prop-test');
|
|
129
190
|
|
|
130
|
-
static
|
|
191
|
+
static skeletonCellTest = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-cells-test');
|
|
131
192
|
|
|
132
|
-
static
|
|
193
|
+
static skeletonRowTest = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-rows-variant-test');
|
|
133
194
|
|
|
134
|
-
static
|
|
195
|
+
static skeletonCellTestFast = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'skeleton-cells-fast-test');
|
|
135
196
|
|
|
136
|
-
static
|
|
197
|
+
static pui16461SkeletonAndNoResults = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'pui-16461-skeleton-and-no-results');
|
|
137
198
|
|
|
138
|
-
|
|
139
|
-
|
|
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
|
|
202
|
+
static customCellText = new Urlbuilder(PATH_E2E_DATATABLE_CELL, 'custom-cell-text');
|
|
144
203
|
|
|
145
|
-
static
|
|
204
|
+
static customCellRowAndHeaderTest = new Urlbuilder(PATH_E2E_DATATABLE_CELL, 'custom-cell-row-and-header');
|
|
146
205
|
|
|
147
|
-
|
|
206
|
+
// Use Cases
|
|
148
207
|
|
|
149
|
-
static
|
|
208
|
+
static integratedExampleWithFilters = new Urlbuilder(PATH_E2E_DATATABLE_USE_CASES, 'integrated-example-with-filters');
|
|
150
209
|
|
|
151
|
-
|
|
210
|
+
// Slots
|
|
152
211
|
|
|
153
|
-
static
|
|
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
|
|
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
|
|
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')[
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
+
}
|