dimsum-e2e-tests 3.51.0-next.2 → 3.51.0-next.4
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-breadcrumb/DSBreadcrumb.axe-core.func.spec.js +21 -6
- package/ds-breadcrumb/DSBreadcrumb.func.spec.js +23 -2
- package/ds-breadcrumb/DSBreadcrumb.visual.spec.js +20 -15
- package/ds-breadcrumb/DSBreadcrumbCO.js +17 -1
- package/ds-button-v3/DSButtonV3CO.js +4 -0
- package/ds-controlled-form/ds-combobox/DSCombobox.func.spec.js +1 -0
- package/ds-controlled-form/ds-combobox/DSCombobox.smoke.spec.js +4 -56
- package/ds-controlled-form/ds-combobox/DSComboboxCO.js +0 -9
- package/ds-controlled-form/ds-combobox/creatable/DSCombobox.keyboard-creatable.func.spec.js +3 -0
- package/ds-controlled-form/ds-combobox/inline/DSCombobox.inline.axe-core.spec.js +0 -1
- package/ds-controlled-form/ds-combobox/inline/DSCombobox.inline.keyboard.func.spec.js +5 -0
- package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.keyboard-multi-select.func.spec.js +6 -68
- package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.mouse-touch-multi-select.func.spec.js +0 -58
- package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.multi.visual.spec.js +0 -16
- package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.ten-thousand-options.func.spec.js +2 -22
- package/ds-controlled-form/ds-combobox/single-select/DSCombobox.keyboard-single-select.func.spec.js +4 -0
- package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.axe-core.spec.js +85 -0
- package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.functional.spec.js +242 -0
- package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.visual.spec.js +115 -0
- package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePickerCO.js +54 -2
- package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +4 -0
- package/ds-controlled-form/ds-controlled-inputgroup/autocomplete/DSControlledInputGroup.autocomplete.axe-core.func.spec.js +1 -0
- package/ds-controlled-form/ds-controlled-inputgroup/combobox/DSControlledInputGroup.combobox.axe-core.func.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.axe-core.func.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.func.spec.js +36 -0
- package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.visual.spec.js +12 -1
- package/ds-controlled-form/ds-input-text/DSInputText.func.spec.js +14 -12
- package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +1 -0
- package/ds-data-table-async/DSDataTable.smoke.spec.js +4 -0
- package/ds-data-table-async/basic/DSDataTable.usecases.func.spec.js +5 -4
- package/ds-data-table-async/basic/DSDataTable.usecases.visual.spec.js +1 -0
- package/ds-data-table-async/components/RowCO.js +4 -0
- package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +1 -1
- package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +4 -0
- package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +1 -0
- package/ds-data-table-async/select/DSDataTable.select.axe-core.func.spec.js +2 -0
- package/ds-data-table-async/select/DSDataTable.select.func.spec.js +2 -86
- package/ds-data-table-async/select/DSDataTable.select.shift.func.spec.js +126 -0
- package/ds-data-table-async/vissibility/DSDataTable.vissibility.visual.spec.js +6 -0
- package/ds-form-combobox-multi/DSComboboxMultiCO.js +2 -9
- package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +2 -11
- package/ds-form-combobox-multi/read-only/DSComboboxMulti.read-only.axe-core.func.spec.js +26 -0
- package/ds-form-combobox-multi/read-only/DSComboboxMulti.read-only.visual.spec.js +39 -0
- package/ds-form-combobox-single/DSComboboxSingleCO.js +2 -9
- package/ds-form-combobox-single/read-only/DSComboboxSingle.read-only.axe-core.func.spec.js +26 -0
- package/ds-form-combobox-single/read-only/DSComboboxSingle.read-only.visual.spec.js +39 -0
- package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +4 -0
- package/ds-menu-button/DSMenuButtonCO.js +9 -5
- package/ds-menu-button/activable/DSMenuButton.activableMenuItem.func.spec.js +32 -0
- package/ds-menu-button/{basic/DSMenuButton.activableMenuItem.func.spec.js → activable/DSMenuButton.activableMenuItem.keyboardnav.func.spec.js} +1 -26
- package/ds-menu-button/disabled/DSMenuButton.axe-core.disabled.func.spec.js +20 -0
- package/ds-menu-button/disabled/DSMenuButton.disabled.func.spec.js +28 -0
- package/ds-menu-button/leftdecorations/DSMenuButton.axe-core.leftDecor.func.spec.js +20 -0
- package/ds-menu-button/multiselect/DSMenuButton.axe-core.multiselect.func.spec.js +28 -0
- package/ds-menu-button/multiselect/DSMenuButton.multiSelectItem.func.spec.js +34 -0
- package/ds-menu-button/{basic/DSMenuButton.multiSelectItem.func.spec.js → multiselect/DSMenuButton.multiSelectItem.keyboardnav.func.spec.js} +0 -29
- package/ds-menu-button/singleSelect/DSMenuButton.axe-core.singleSelect.func.spec.js +28 -0
- package/ds-menu-button/singleSelect/DSMenuButton.singleSelectItem.func.spec.js +39 -0
- package/ds-menu-button/{basic/DSMenuButton.singleSelectItem.func.spec.js → singleSelect/DSMenuButton.singleSelectItem.keyboardnav.func.spec.js} +11 -42
- package/ds-menu-button/submenu/DSMenuButton.axe-core.subMenu.func.spec.js +20 -0
- package/ds-menu-button/submenu/DSMenuButton.subMenuItem.func.spec.js +42 -0
- package/ds-menu-button/{basic/DSMenuButton.subMenuItem.func.spec.js → submenu/DSMenuButton.subMenuItem.keyboardnav.func.spec.js} +1 -38
- package/ds-pills-v2/DSPills.axe-core.func.spec.js +2 -2
- package/ds-pills-v2/DSPills.func.spec.js +26 -0
- package/ds-pills-v2/DSPills.visual.spec.js +1 -1
- package/ds-pills-v2/DSPillsV2CO.js +19 -1
- package/ds-pills-v2/selection/DSPills.axe-core.func.spec.js +77 -0
- package/ds-pills-v2/selection/DSPills.func.spec.js +155 -0
- package/ds-pills-v2/selection/DSPills.visual.spec.js +72 -0
- package/ds-query-builder/DSQueryBuilder.visual.spec.js +2 -1
- package/ds-query-builder/DSQueryBuilderCO.js +0 -5
- package/ds-shuttle-v2/DSShuttleV2CO.js +2 -4
- package/ds-shuttle-v2/Dnd/DSShuttleV2.DnD.visual.spec.js +0 -5
- package/ds-shuttle-v2/basic/DSShuttleV2.keyboard.func.spec.js +46 -66
- package/ds-shuttle-v2/drillingdown/DSShuttleV2.drilldown.kb.func.spec.js +3 -5
- package/ds-shuttle-v2/filtering/DSShuttleV2.filter.kb.func.spec.js +1 -7
- package/ds-shuttle-v2/globalcheckbox/DSShuttleV2.globalcheckbox.kb.func.spec.js +0 -2
- package/ds-shuttle-v2/items/DSShuttleV2.items.kb.func.spec.js +0 -2
- package/ds-toggle/DSToggle.func.spec.js +21 -18
- package/ds-toggle/DSToggle.visual.spec.js +56 -12
- package/package.json +119 -119
- package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.DateInput.visual.spec.js +0 -57
- package/ds-menu-button/DSMenuButton.axe-core.func.spec.js +0 -66
|
@@ -9,35 +9,29 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
9
9
|
const errorOnGo = await DSShuttleV2CO.filterURL.go();
|
|
10
10
|
if (errorOnGo) throw errorOnGo;
|
|
11
11
|
});
|
|
12
|
-
it('01: should tab and focus the
|
|
13
|
-
await browser.keys(Key.Tab);
|
|
14
|
-
const breadCrumb = await DSShuttleV2CO.getBreadcrumbByIndex(0);
|
|
15
|
-
const breadcrumbFocuseable = await DSShuttleV2CO.getFocuseableByBreadcrumb(breadCrumb);
|
|
16
|
-
await expect(breadcrumbFocuseable).toBeFocused();
|
|
17
|
-
});
|
|
18
|
-
it('02: should tab and focus the filter icon', async () => {
|
|
12
|
+
it('01: should tab and focus the filter icon (skiping text title)', async () => {
|
|
19
13
|
await browser.keys(Key.Tab);
|
|
20
14
|
const sourceFilterBtn = await DSShuttleV2CO.getHeaderSearchIcon(0);
|
|
21
15
|
await expect(sourceFilterBtn).toBeFocused();
|
|
22
16
|
});
|
|
23
|
-
it('
|
|
17
|
+
it('02: should tab and focus the select/deselect all checkbox', async () => {
|
|
24
18
|
await browser.keys(Key.Tab);
|
|
25
19
|
const sourcePanelCheckbox = await DSShuttleV2CO.getCheckboxByIndex(0);
|
|
26
20
|
await expect(sourcePanelCheckbox).toBeFocused();
|
|
27
21
|
});
|
|
28
|
-
it('
|
|
22
|
+
it('03: should tab and focus the source panel', async () => {
|
|
29
23
|
await browser.keys(Key.Tab);
|
|
30
24
|
const sourcePanel = await DSShuttleV2CO.getListWrapperMid(0);
|
|
31
25
|
await expect(sourcePanel).toBeFocused();
|
|
32
26
|
});
|
|
33
|
-
it('
|
|
27
|
+
it('04: should select first item with arrowKeys', async () => {
|
|
34
28
|
await browser.keys(Key.ArrowDown);
|
|
35
29
|
const firstItem = await DSShuttleV2CO.getItemCheckboxByItem(await DSShuttleV2CO.getItemFromSourceByIndex(0));
|
|
36
30
|
const isFirstItemFocused = await firstItem.getAttribute('tabindex');
|
|
37
31
|
await expect(isFirstItemFocused).toEqual('0'); // 0 = true for pseudofocus
|
|
38
32
|
await expect(firstItem).toBeFocused();
|
|
39
33
|
});
|
|
40
|
-
it('
|
|
34
|
+
it('05: should Shift+Tab to focus the panel again and select last item with arrowKeys', async () => {
|
|
41
35
|
await browser.keys([Key.Shift, Key.Tab]);
|
|
42
36
|
await browser.keys(Key.ArrowUp);
|
|
43
37
|
const firstItem = await DSShuttleV2CO.getItemCheckboxByIndex(9);
|
|
@@ -45,64 +39,56 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
45
39
|
await expect(isFirstItemFocused).toEqual('0'); // 0 = true for pseudofocus
|
|
46
40
|
await expect(firstItem).toBeFocused();
|
|
47
41
|
});
|
|
48
|
-
it('
|
|
49
|
-
await browser.keys(Key.Tab);
|
|
50
|
-
const breadCrumb = await DSShuttleV2CO.getBreadcrumbByIndex(1);
|
|
51
|
-
const breadcrumbFocuseable = await DSShuttleV2CO.getFocuseableByBreadcrumb(breadCrumb);
|
|
52
|
-
await expect(breadcrumbFocuseable).toBeFocused();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
describe('PUI-9799 - Shuttle V2, TabStops with BAB and LoadMore -Func.', () => {
|
|
57
|
-
before(async () => {
|
|
58
|
-
const errorOnGo = await DSShuttleV2CO.loadMoreURL.go();
|
|
59
|
-
if (errorOnGo) throw errorOnGo;
|
|
60
|
-
});
|
|
61
|
-
it('01: display the BAB and return focus to the breadcrumb to follow normal flow', async () => {
|
|
62
|
-
const testItem = await DSShuttleV2CO.getItemWrapper(2);
|
|
63
|
-
await testItem.click();
|
|
64
|
-
const breadCrumb = await DSShuttleV2CO.getBreadcrumbByIndex(0);
|
|
65
|
-
await breadCrumb.click();
|
|
66
|
-
const breadcrumbFocuseable = await DSShuttleV2CO.getFocuseableByBreadcrumb(breadCrumb);
|
|
67
|
-
const BAB = await DSShuttleV2CO.getMoveMultipleButton();
|
|
68
|
-
await expect(BAB).toBeDisplayed();
|
|
69
|
-
await expect(breadcrumbFocuseable).toBeFocused();
|
|
70
|
-
});
|
|
71
|
-
it('02: should tab and focus the select/deselect all checkbox', async () => {
|
|
72
|
-
await browser.keys(Key.Tab);
|
|
73
|
-
const sourcePanelCheckbox = await DSShuttleV2CO.getCheckboxByIndex(0);
|
|
74
|
-
await expect(sourcePanelCheckbox).toBeFocused();
|
|
75
|
-
});
|
|
76
|
-
it('03: should tab and focus the source panel', async () => {
|
|
42
|
+
it('06: should tab and focus next header search icon from destination panel', async () => {
|
|
77
43
|
await browser.keys(Key.Tab);
|
|
78
|
-
const
|
|
79
|
-
await expect(
|
|
80
|
-
});
|
|
81
|
-
it('04: should tab and focus the BAB', async () => {
|
|
82
|
-
await browser.keys(Key.Tab);
|
|
83
|
-
const BAB = await DSShuttleV2CO.getMoveMultipleButton(0);
|
|
84
|
-
await expect(BAB).toBeFocused();
|
|
85
|
-
});
|
|
86
|
-
it('05: should tab and focus the loadmore', async () => {
|
|
87
|
-
await browser.keys(Key.Tab);
|
|
88
|
-
const loadMore = await DSShuttleV2CO.getListBottomLoadMoreBtn(0);
|
|
89
|
-
await expect(loadMore).toBeFocused();
|
|
90
|
-
});
|
|
91
|
-
it('06: should tab and focus the breadcrumb from destination panel', async () => {
|
|
92
|
-
await browser.keys(Key.Tab);
|
|
93
|
-
const breadCrumb = await DSShuttleV2CO.getBreadcrumbByIndex(1);
|
|
94
|
-
const breadcrumbFocuseable = await DSShuttleV2CO.getFocuseableByBreadcrumb(breadCrumb);
|
|
95
|
-
await expect(breadcrumbFocuseable).toBeFocused();
|
|
44
|
+
const sourceFilterBtn = await DSShuttleV2CO.getHeaderSearchIcon(1);
|
|
45
|
+
await expect(sourceFilterBtn).toBeFocused();
|
|
96
46
|
});
|
|
97
47
|
});
|
|
98
|
-
|
|
48
|
+
if (browser.capabilities.browserName !== 'Firefox') {
|
|
49
|
+
describe('PUI-9799 - Shuttle V2, TabStops with BAB and LoadMore -Func.', () => {
|
|
50
|
+
before(async () => {
|
|
51
|
+
const errorOnGo = await DSShuttleV2CO.loadMoreURL.go();
|
|
52
|
+
if (errorOnGo) throw errorOnGo;
|
|
53
|
+
});
|
|
54
|
+
it('01: display the BAB and return focus to the global checkbox to follow normal flow', async () => {
|
|
55
|
+
const testItem = await DSShuttleV2CO.getItemWrapper(2);
|
|
56
|
+
await testItem.click();
|
|
57
|
+
const BAB = await DSShuttleV2CO.getMoveMultipleButton();
|
|
58
|
+
const sourcePanelCheckbox = await DSShuttleV2CO.getCheckboxByIndex(0);
|
|
59
|
+
await browser.keys([Key.Shift, Key.Tab]);
|
|
60
|
+
await browser.keys([Key.Shift, Key.Tab]);
|
|
61
|
+
await expect(BAB).toBeDisplayed();
|
|
62
|
+
await expect(sourcePanelCheckbox).toBeFocused();
|
|
63
|
+
});
|
|
64
|
+
it('03: should tab and focus the source panel', async () => {
|
|
65
|
+
await browser.keys(Key.Tab);
|
|
66
|
+
const sourcePanel = await DSShuttleV2CO.getListWrapperMid(0);
|
|
67
|
+
await expect(sourcePanel).toBeFocused();
|
|
68
|
+
});
|
|
69
|
+
it('04: should tab and focus the BAB', async () => {
|
|
70
|
+
await browser.keys(Key.Tab);
|
|
71
|
+
const BAB = await DSShuttleV2CO.getMoveMultipleButton(0);
|
|
72
|
+
await expect(BAB).toBeFocused();
|
|
73
|
+
});
|
|
74
|
+
it('05: should tab and focus the loadmore', async () => {
|
|
75
|
+
await browser.keys(Key.Tab);
|
|
76
|
+
const loadMore = await DSShuttleV2CO.getListBottomLoadMoreBtn(0);
|
|
77
|
+
await expect(loadMore).toBeFocused();
|
|
78
|
+
});
|
|
79
|
+
it('06: should tab and focus the global checkbox from destination panel', async () => {
|
|
80
|
+
await browser.keys(Key.Tab);
|
|
81
|
+
const destinationPanelCheckbox = await DSShuttleV2CO.getCheckboxByIndex(1);
|
|
82
|
+
await expect(destinationPanelCheckbox).toBeFocused();
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
99
86
|
describe('PUI-9815 - Shuttle V2, Range selection -Func.', () => {
|
|
100
87
|
before(async () => {
|
|
101
88
|
const errorOnGo = await DSShuttleV2CO.basicURL.go();
|
|
102
89
|
if (errorOnGo) throw errorOnGo;
|
|
103
90
|
});
|
|
104
91
|
it('01: should select four items pressing space only two times (using shift for range select)', async () => {
|
|
105
|
-
await browser.keys(Key.Tab);
|
|
106
92
|
await browser.keys(Key.Tab);
|
|
107
93
|
await browser.keys(Key.Tab);
|
|
108
94
|
await browser.keys(Key.ArrowDown);
|
|
@@ -153,8 +139,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
153
139
|
await browser.keys(Key.Tab);
|
|
154
140
|
await browser.keys(Key.Tab);
|
|
155
141
|
await browser.keys(Key.Tab);
|
|
156
|
-
await browser.keys(Key.Tab);
|
|
157
|
-
await browser.keys(Key.Tab);
|
|
158
142
|
await browser.keys(Key.ArrowDown);
|
|
159
143
|
await browser.keys(Key.Space);
|
|
160
144
|
const bab = await DSShuttleV2CO.getMoveMultipleButton();
|
|
@@ -175,7 +159,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
175
159
|
await expect(testItem2OnSource).toBe('Destination 0.3');
|
|
176
160
|
});
|
|
177
161
|
it('03: should bulk move items from source to destination', async () => {
|
|
178
|
-
await browser.keys([Key.Shift, Key.Tab]);
|
|
179
162
|
await browser.keys([Key.Shift, Key.Tab]);
|
|
180
163
|
await browser.keys([Key.Shift, Key.Tab]);
|
|
181
164
|
await browser.keys(Key.ArrowDown);
|
|
@@ -201,7 +184,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
201
184
|
if (errorOnGo) throw errorOnGo;
|
|
202
185
|
});
|
|
203
186
|
it('01: should DND first item to fourth position (source)', async () => {
|
|
204
|
-
await browser.keys(Key.Tab);
|
|
205
187
|
await browser.keys(Key.Tab);
|
|
206
188
|
await browser.keys(Key.Tab);
|
|
207
189
|
await browser.keys(Key.ArrowDown);
|
|
@@ -224,7 +206,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
224
206
|
if (errorOnGo) throw errorOnGo;
|
|
225
207
|
});
|
|
226
208
|
it('01: should display tooltip on hover of a truncated item', async () => {
|
|
227
|
-
await browser.keys(Key.Tab);
|
|
228
209
|
await browser.keys(Key.Tab);
|
|
229
210
|
await browser.keys(Key.Tab);
|
|
230
211
|
await browser.keys(Key.ArrowDown);
|
|
@@ -242,7 +223,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
242
223
|
if (errorOnGo) throw errorOnGo;
|
|
243
224
|
});
|
|
244
225
|
it('01: should display focus BAB after selecting an item and arrow right', async () => {
|
|
245
|
-
await browser.keys(Key.Tab);
|
|
246
226
|
await browser.keys(Key.Tab);
|
|
247
227
|
await browser.keys(Key.Tab);
|
|
248
228
|
await browser.keys(Key.ArrowDown);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
1
2
|
/* eslint-disable no-unused-vars */
|
|
2
3
|
/* eslint-disable max-statements */
|
|
3
4
|
import { Key } from 'webdriverio';
|
|
@@ -10,7 +11,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
10
11
|
if (errorOnGo) throw errorOnGo;
|
|
11
12
|
});
|
|
12
13
|
it('01: should focus item', async () => {
|
|
13
|
-
await browser.keys(Key.Tab);
|
|
14
14
|
await browser.keys(Key.Tab);
|
|
15
15
|
await browser.keys(Key.Tab);
|
|
16
16
|
await browser.keys(Key.ArrowDown);
|
|
@@ -53,7 +53,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
53
53
|
if (errorOnGo) throw errorOnGo;
|
|
54
54
|
});
|
|
55
55
|
it('01: should add breadcrumbs with the items name while drilling down', async () => {
|
|
56
|
-
await browser.keys(Key.Tab);
|
|
57
56
|
await browser.keys(Key.Tab);
|
|
58
57
|
await browser.keys(Key.Tab);
|
|
59
58
|
await browser.keys(Key.ArrowDown);
|
|
@@ -94,9 +93,8 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
94
93
|
await browser.keys([Key.Shift, Key.Tab]);
|
|
95
94
|
await browser.keys([Key.Shift, Key.Tab]);
|
|
96
95
|
await browser.keys([Key.Shift, Key.Tab]);
|
|
97
|
-
await browser.keys([Key.Shift, Key.Tab]);
|
|
98
96
|
await browser.keys(Key.Enter);
|
|
99
|
-
const breadcrumbItem2 = await DSShuttleV2CO.
|
|
97
|
+
const breadcrumbItem2 = await DSShuttleV2CO.getBreadcrumbItemContByIndex(1);
|
|
100
98
|
const breadcrumbs = (await DSShuttleV2CO.getBreadcrumbs()).length;
|
|
101
99
|
await expect(breadcrumbItem2).toBeFocused();
|
|
102
100
|
await expect(breadcrumbs).toEqual(3);
|
|
@@ -104,7 +102,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
104
102
|
it('02: should focus first breadcrumb item after going up from second level with KB', async () => {
|
|
105
103
|
await browser.keys([Key.Shift, Key.Tab]);
|
|
106
104
|
await browser.keys(Key.Enter);
|
|
107
|
-
const breadcrumbItem1 = await DSShuttleV2CO.
|
|
105
|
+
const breadcrumbItem1 = await DSShuttleV2CO.getBreadcrumbItemContByIndex(0);
|
|
108
106
|
const breadcrumbs = (await DSShuttleV2CO.getBreadcrumbs()).length;
|
|
109
107
|
await expect(breadcrumbItem1).toBeFocused();
|
|
110
108
|
await expect(breadcrumbs).toEqual(2);
|
|
@@ -12,7 +12,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
12
12
|
await expect($('[data-testid="ds-shuttle-v2-area-search-bar"]')).not.toBeDisplayed();
|
|
13
13
|
});
|
|
14
14
|
it('02: should filter and find only one match at source panel', async () => {
|
|
15
|
-
await browser.keys(Key.Tab);
|
|
16
15
|
await browser.keys(Key.Tab);
|
|
17
16
|
await browser.keys(Key.Enter);
|
|
18
17
|
await browser.keys(Key.Tab);
|
|
@@ -27,11 +26,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
27
26
|
const testItem = await DSShuttleV2CO.getItemWrapper(0);
|
|
28
27
|
await browser.keys(Key.Tab);
|
|
29
28
|
await browser.keys(Key.Tab);
|
|
30
|
-
await browser.keys(Key.ArrowDown);
|
|
31
|
-
await browser.keys(Key.ArrowRight);
|
|
32
|
-
await browser.keys(Key.ArrowRight);
|
|
33
|
-
await browser.keys(Key.Enter);
|
|
34
|
-
await browser.keys(Key.Tab);
|
|
35
29
|
await browser.keys(Key.Tab);
|
|
36
30
|
await browser.keys(Key.Enter);
|
|
37
31
|
await browser.keys(Key.Tab);
|
|
@@ -40,7 +34,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
40
34
|
await expect(destinationItems).toBe(10);
|
|
41
35
|
});
|
|
42
36
|
it('04: should filter and find only one match at destination panel', async () => {
|
|
43
|
-
await type('
|
|
37
|
+
await type('0.3');
|
|
44
38
|
const destinationItems = (await DSShuttleV2CO.getItemsFromDestination()).length;
|
|
45
39
|
await expect(destinationItems).toBe(1);
|
|
46
40
|
const testItem = await (await DSShuttleV2CO.getItemFromDestinationByIndex(0)).getText();
|
|
@@ -18,8 +18,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
18
18
|
await browser.keys(Key.Tab);
|
|
19
19
|
await browser.keys(Key.Tab);
|
|
20
20
|
await browser.keys(Key.Tab);
|
|
21
|
-
await browser.keys(Key.Tab);
|
|
22
|
-
await browser.keys(Key.Tab);
|
|
23
21
|
await browser.keys(Key.ArrowDown);
|
|
24
22
|
await browser.keys(Key.Space);
|
|
25
23
|
const isChecked = await selectAllCheckbox.getAttribute('aria-checked');
|
|
@@ -8,7 +8,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
8
8
|
if (errorOnGo) throw errorOnGo;
|
|
9
9
|
});
|
|
10
10
|
it('01: should move an item to destination and display its ghost on that position', async () => {
|
|
11
|
-
await browser.keys(Key.Tab);
|
|
12
11
|
await browser.keys(Key.Tab);
|
|
13
12
|
await browser.keys(Key.Tab);
|
|
14
13
|
await browser.keys(Key.ArrowDown);
|
|
@@ -26,7 +25,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
26
25
|
await expect(destinationItems).toBe(11);
|
|
27
26
|
});
|
|
28
27
|
it('02: should return the item to its previous position', async () => {
|
|
29
|
-
await browser.keys(Key.Tab);
|
|
30
28
|
await browser.keys(Key.Tab);
|
|
31
29
|
await browser.keys(Key.Tab);
|
|
32
30
|
await browser.keys(Key.ArrowUp);
|
|
@@ -10,12 +10,12 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
10
10
|
if (errorOnGo) throw errorOnGo;
|
|
11
11
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
12
12
|
});
|
|
13
|
-
it('should change state to ON', async () => {
|
|
13
|
+
it('01: should change state to ON', async () => {
|
|
14
14
|
await (await DSToggleCO.getToggle()).click();
|
|
15
15
|
const toggleState = await DSToggleCO.getToggleState('ON');
|
|
16
16
|
await expect(toggleState).toBeDisplayed();
|
|
17
17
|
});
|
|
18
|
-
it('should change state to OFF', async () => {
|
|
18
|
+
it('02: should change state to OFF', async () => {
|
|
19
19
|
await (await DSToggleCO.getToggle()).click();
|
|
20
20
|
const toggleState = await DSToggleCO.getToggleState('OFF');
|
|
21
21
|
await expect(toggleState).toBeDisplayed();
|
|
@@ -27,51 +27,54 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
27
27
|
if (errorOnGo) throw errorOnGo;
|
|
28
28
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
29
29
|
});
|
|
30
|
-
it('toggle should be focused', async () => {
|
|
30
|
+
it('01: toggle should be focused', async () => {
|
|
31
31
|
await browser.keys(Key.Tab);
|
|
32
32
|
const toggleComponent = await DSToggleCO.getToggleFocuseableByDataTestId('my-toggle');
|
|
33
33
|
await expect(toggleComponent).toBeFocused();
|
|
34
34
|
});
|
|
35
|
-
it('should change state to ON (Enter)', async () => {
|
|
35
|
+
it('02: should change state to ON (Enter)', async () => {
|
|
36
36
|
await browser.keys(Key.Enter);
|
|
37
37
|
const toggleState = await DSToggleCO.getToggleState('ON');
|
|
38
38
|
await expect(toggleState).toBeDisplayed();
|
|
39
39
|
});
|
|
40
|
-
it('should change state to OFF (Space)', async () => {
|
|
40
|
+
it('03: should change state to OFF (Space)', async () => {
|
|
41
41
|
await browser.keys(Key.Space);
|
|
42
42
|
const toggleState = await DSToggleCO.getToggleState('OFF');
|
|
43
43
|
await expect(toggleState).toBeDisplayed();
|
|
44
44
|
});
|
|
45
|
-
it('should change state to ON (Space)', async () => {
|
|
45
|
+
it('04: should change state to ON (Space)', async () => {
|
|
46
46
|
await browser.keys(Key.Space);
|
|
47
47
|
const toggleState = await DSToggleCO.getToggleState('ON');
|
|
48
48
|
await expect(toggleState).toBeDisplayed();
|
|
49
49
|
});
|
|
50
50
|
});
|
|
51
|
+
|
|
51
52
|
describe('PUI-6761 - DSControlledToggle:: disabled state', () => {
|
|
52
53
|
before('loading page', async () => {
|
|
53
54
|
const errorOnGo = await DSToggleCO.disabled.go();
|
|
54
55
|
if (errorOnGo) throw errorOnGo;
|
|
55
56
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
56
57
|
});
|
|
57
|
-
it('should not change state in disabled toggle', async () => {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
await
|
|
58
|
+
it('01: should not change state in disabled toggle', async () => {
|
|
59
|
+
const disabledToggle = await DSToggleCO.getToggleByIndex(0);
|
|
60
|
+
await disabledToggle.click();
|
|
61
|
+
const toggleState = await disabledToggle.$('//div[@disabled]//div[2]').getText();
|
|
62
|
+
await expect(toggleState).toEqual('ON');
|
|
61
63
|
});
|
|
62
64
|
});
|
|
65
|
+
|
|
63
66
|
describe('PUI-6762 - DSControlledToggle:: read only state', () => {
|
|
64
67
|
before('loading page', async () => {
|
|
65
68
|
const errorOnGo = await DSToggleCO.readOnly.go();
|
|
66
69
|
if (errorOnGo) throw errorOnGo;
|
|
67
70
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
68
71
|
});
|
|
69
|
-
it('should display tooltip in read only toggle (mouse over)', async () => {
|
|
72
|
+
it('01: should display tooltip in read only toggle (mouse over)', async () => {
|
|
70
73
|
await mouseOver(await DSToggleCO.getToggle(), 30, 10);
|
|
71
74
|
const tooltip = await DSToggleCO.getTooltip();
|
|
72
75
|
await expect(tooltip).toBeDisplayed();
|
|
73
76
|
});
|
|
74
|
-
it('should display tooltip in read only toggle (keyboard focus)', async () => {
|
|
77
|
+
it('02: should display tooltip in read only toggle (keyboard focus)', async () => {
|
|
75
78
|
await mouseOver(await DSToggleCO.getToggle(), 300, 100);
|
|
76
79
|
await browser.keys(Key.Tab);
|
|
77
80
|
const toggleComponent = await DSToggleCO.getToggleFocuseable();
|
|
@@ -79,17 +82,17 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
79
82
|
await expect(toggleComponent).toBeFocused();
|
|
80
83
|
await expect(tooltip).toBeDisplayed();
|
|
81
84
|
});
|
|
82
|
-
it('should not change state on [Enter] key press', async () => {
|
|
85
|
+
it('03: should not change state on [Enter] key press', async () => {
|
|
83
86
|
await browser.keys(Key.Enter);
|
|
84
87
|
const toggleState = await DSToggleCO.getToggleState('OFF');
|
|
85
88
|
await expect(toggleState).toBeDisplayed();
|
|
86
89
|
});
|
|
87
|
-
it('should not change state on [Space] key press', async () => {
|
|
90
|
+
it('04: should not change state on [Space] key press', async () => {
|
|
88
91
|
await browser.keys(Key.Space);
|
|
89
92
|
const toggleState = await DSToggleCO.getToggleState('OFF');
|
|
90
93
|
await expect(toggleState).toBeDisplayed();
|
|
91
94
|
});
|
|
92
|
-
it('should not change state on click', async () => {
|
|
95
|
+
it('05: should not change state on click', async () => {
|
|
93
96
|
await (await DSToggleCO.getToggle()).click();
|
|
94
97
|
const toggleState = await DSToggleCO.getToggleState('OFF');
|
|
95
98
|
await expect(toggleState).toBeDisplayed();
|
|
@@ -101,17 +104,17 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
101
104
|
if (errorOnGo) throw errorOnGo;
|
|
102
105
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
103
106
|
});
|
|
104
|
-
it('should tab through the basic toggles to the last basic toggle', async () => {
|
|
107
|
+
it('01: should tab through the basic toggles to the last basic toggle', async () => {
|
|
105
108
|
await tabStops(6);
|
|
106
109
|
const toggle = await DSToggleCO.getToggleFocuseableByIndex(4);
|
|
107
110
|
await expect(toggle).toBeFocused();
|
|
108
111
|
});
|
|
109
|
-
it('should tab and skip all three disabled toggles to the first enabled toggle, next row', async () => {
|
|
112
|
+
it('02: should tab and skip all three disabled toggles to the first enabled toggle, next row', async () => {
|
|
110
113
|
await browser.keys(Key.Tab);
|
|
111
114
|
const toggle = await DSToggleCO.getToggleFocuseableByIndex(11);
|
|
112
115
|
await expect(toggle).toBeFocused();
|
|
113
116
|
});
|
|
114
|
-
it('should tab through the readonly toggles to the last readonly toggle', async () => {
|
|
117
|
+
it('03: should tab through the readonly toggles to the last readonly toggle', async () => {
|
|
115
118
|
await tabStops(5);
|
|
116
119
|
const toggle = await DSToggleCO.getToggleFocuseableByIndex(16);
|
|
117
120
|
await expect(toggle).toBeFocused();
|
|
@@ -7,23 +7,24 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
7
7
|
const errorOnGo = await DSToggleCO.showOffURL.go();
|
|
8
8
|
if (errorOnGo) throw errorOnGo;
|
|
9
9
|
});
|
|
10
|
-
it('should display all DSControlledToggle styles correctly', async () => {
|
|
10
|
+
it('01: should display all DSControlledToggle styles correctly', async () => {
|
|
11
11
|
await (await DSToggleCO.getToggleByIndex(0)).waitForExist();
|
|
12
12
|
const snapshot = await browser.checkSnapshot(DSToggleCO.snapshotPath('show-off'));
|
|
13
13
|
await expect(snapshot).toEqual(0);
|
|
14
14
|
});
|
|
15
15
|
});
|
|
16
|
+
|
|
16
17
|
describe('PUI-6758 - DSControlledToggle - Visual Test - Label', () => {
|
|
17
18
|
before('loading page', async () => {
|
|
18
19
|
const errorOnGo = await DSToggleCO.labelOnOff.go();
|
|
19
20
|
if (errorOnGo) throw errorOnGo;
|
|
20
21
|
});
|
|
21
|
-
it('should display the label there correctly', async () => {
|
|
22
|
+
it('01: should display the label there correctly', async () => {
|
|
22
23
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
23
24
|
const snapshot = await browser.checkSnapshot(DSToggleCO.snapshotPath('label-there'));
|
|
24
25
|
await expect(snapshot).toEqual(0);
|
|
25
26
|
});
|
|
26
|
-
it('should display the label hello correctly', async () => {
|
|
27
|
+
it('02: should display the label hello correctly', async () => {
|
|
27
28
|
await (await DSToggleCO.getToggle()).click();
|
|
28
29
|
const snapshot = await browser.checkSnapshot(DSToggleCO.snapshotPath('label-hello'));
|
|
29
30
|
await expect(snapshot).toEqual(0);
|
|
@@ -34,7 +35,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
34
35
|
const errorOnGo = await DSToggleCO.behindModalSlideTest.go();
|
|
35
36
|
if (errorOnGo) throw errorOnGo;
|
|
36
37
|
});
|
|
37
|
-
it('should display the modal slide (50% width) above the toggle there correctly', async () => {
|
|
38
|
+
it('01: should display the modal slide (50% width) above the toggle there correctly', async () => {
|
|
38
39
|
const toggleModalSlide = await DSToggleCO.getToggleModalSlide();
|
|
39
40
|
await toggleModalSlide.click();
|
|
40
41
|
// eslint-disable-next-line wdio/no-pause
|
|
@@ -42,7 +43,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
42
43
|
const snapshot = await browser.checkSnapshot(DSToggleCO.snapshotPath('toggle-modalslide-half'));
|
|
43
44
|
await expect(snapshot).toEqual(0);
|
|
44
45
|
});
|
|
45
|
-
it('should display the modal slide (full width) above the toggle correctly', async () => {
|
|
46
|
+
it('02: should display the modal slide (full width) above the toggle correctly', async () => {
|
|
46
47
|
const enableFullWidth = await DSToggleCO.getToggleFullWidth();
|
|
47
48
|
await enableFullWidth.click();
|
|
48
49
|
const toggleModalSlide = await DSToggleCO.getToggleModalSlide();
|
|
@@ -53,25 +54,68 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
53
54
|
await expect(snapshot).toEqual(0);
|
|
54
55
|
});
|
|
55
56
|
});
|
|
57
|
+
|
|
56
58
|
describe('PUI-14393 - [Toggle] applyAriaDisabled prop - visual Test', () => {
|
|
57
59
|
before('loading page', async () => {
|
|
58
60
|
const errorOnGo = await DSToggleCO.applyAriaDisabled.go();
|
|
59
61
|
if (errorOnGo) throw errorOnGo;
|
|
60
62
|
});
|
|
61
|
-
it('01:
|
|
63
|
+
it('01: should display aria-disabled toggle not interacted', async () => {
|
|
62
64
|
await browser.eyesOpen();
|
|
63
|
-
const
|
|
64
|
-
await firstToggle.click();
|
|
65
|
-
const snapshot = await browser.eyesCheckSnapshot(DSToggleCO.snapshotPath('toggle-aria-disabled-mouse'));
|
|
65
|
+
const snapshot = await browser.eyesCheckSnapshot(DSToggleCO.snapshotPath('toggle-aria-disabled-default'));
|
|
66
66
|
await expect(snapshot).toEqual(0);
|
|
67
67
|
});
|
|
68
|
-
it('02: The fifth aria-disabled toggle should be focused', async () => {
|
|
68
|
+
it('02: The fifth aria-disabled toggle should be focused w/ kb', async () => {
|
|
69
69
|
await browser.eyesOpen();
|
|
70
|
-
|
|
71
|
-
await
|
|
70
|
+
await browser.keys(Key.Tab);
|
|
71
|
+
await browser.keys(Key.Tab);
|
|
72
72
|
await browser.keys(Key.Tab);
|
|
73
73
|
const snapshot = await browser.eyesCheckSnapshot(DSToggleCO.snapshotPath('toggle-aria-disabled-kb-nav'));
|
|
74
74
|
await expect(snapshot).toEqual(0);
|
|
75
75
|
});
|
|
76
|
+
it('03: should display aria-disabled toggle not interacted', async () => {
|
|
77
|
+
await browser.eyesOpen();
|
|
78
|
+
await browser.keys(Key.Tab);
|
|
79
|
+
const disabledToggle = await DSToggleCO.getToggleByIndex(2);
|
|
80
|
+
await disabledToggle.click();
|
|
81
|
+
const snapshot = await browser.eyesCheckSnapshot(DSToggleCO.snapshotPath('toggle-aria-disabled-mouse'));
|
|
82
|
+
await expect(snapshot).toEqual(0);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
describe('PUI-14882 - DSControlledToggle:: Disabled -Visual', () => {
|
|
87
|
+
before('loading page', async () => {
|
|
88
|
+
const errorOnGo = await DSToggleCO.disabled.go();
|
|
89
|
+
if (errorOnGo) throw errorOnGo;
|
|
90
|
+
await (await DSToggleCO.getToggle()).waitForExist();
|
|
91
|
+
});
|
|
92
|
+
it('01: should display in disabled state toggle not focused', async () => {
|
|
93
|
+
await browser.eyesOpen();
|
|
94
|
+
await browser.keys(Key.Tab);
|
|
95
|
+
const disabledToggle = await DSToggleCO.getToggleByIndex(0);
|
|
96
|
+
await disabledToggle.click();
|
|
97
|
+
const snapshot = await browser.eyesCheckSnapshot(DSToggleCO.snapshotPath('toggle-disabled-notfocus'));
|
|
98
|
+
await expect(snapshot).toEqual(0);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
describe('PUI-15038 - DSControlledToggle:: ReadOnly -Visual', () => {
|
|
103
|
+
before('loading page', async () => {
|
|
104
|
+
const errorOnGo = await DSToggleCO.readOnly.go();
|
|
105
|
+
if (errorOnGo) throw errorOnGo;
|
|
106
|
+
await (await DSToggleCO.getToggle()).waitForExist();
|
|
107
|
+
});
|
|
108
|
+
it('01: should display in readonly state toggle not focused', async () => {
|
|
109
|
+
await browser.eyesOpen();
|
|
110
|
+
const snapshot = await browser.eyesCheckSnapshot(DSToggleCO.snapshotPath('toggle-readonly-notfocus'));
|
|
111
|
+
await expect(snapshot).toEqual(0);
|
|
112
|
+
});
|
|
113
|
+
it('02: should display in readonly state toggle focused', async () => {
|
|
114
|
+
await browser.eyesOpen();
|
|
115
|
+
const readOnlyToggle = await DSToggleCO.getToggleByIndex(0);
|
|
116
|
+
await readOnlyToggle.click();
|
|
117
|
+
const snapshot = await browser.eyesCheckSnapshot(DSToggleCO.snapshotPath('toggle-readonly-focus'));
|
|
118
|
+
await expect(snapshot).toEqual(0);
|
|
119
|
+
});
|
|
76
120
|
});
|
|
77
121
|
}
|