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.
Files changed (84) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/ds-breadcrumb/DSBreadcrumb.axe-core.func.spec.js +21 -6
  3. package/ds-breadcrumb/DSBreadcrumb.func.spec.js +23 -2
  4. package/ds-breadcrumb/DSBreadcrumb.visual.spec.js +20 -15
  5. package/ds-breadcrumb/DSBreadcrumbCO.js +17 -1
  6. package/ds-button-v3/DSButtonV3CO.js +4 -0
  7. package/ds-controlled-form/ds-combobox/DSCombobox.func.spec.js +1 -0
  8. package/ds-controlled-form/ds-combobox/DSCombobox.smoke.spec.js +4 -56
  9. package/ds-controlled-form/ds-combobox/DSComboboxCO.js +0 -9
  10. package/ds-controlled-form/ds-combobox/creatable/DSCombobox.keyboard-creatable.func.spec.js +3 -0
  11. package/ds-controlled-form/ds-combobox/inline/DSCombobox.inline.axe-core.spec.js +0 -1
  12. package/ds-controlled-form/ds-combobox/inline/DSCombobox.inline.keyboard.func.spec.js +5 -0
  13. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.keyboard-multi-select.func.spec.js +6 -68
  14. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.mouse-touch-multi-select.func.spec.js +0 -58
  15. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.multi.visual.spec.js +0 -16
  16. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.ten-thousand-options.func.spec.js +2 -22
  17. package/ds-controlled-form/ds-combobox/single-select/DSCombobox.keyboard-single-select.func.spec.js +4 -0
  18. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.axe-core.spec.js +85 -0
  19. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.functional.spec.js +242 -0
  20. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.visual.spec.js +115 -0
  21. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePickerCO.js +54 -2
  22. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +4 -0
  23. package/ds-controlled-form/ds-controlled-inputgroup/autocomplete/DSControlledInputGroup.autocomplete.axe-core.func.spec.js +1 -0
  24. package/ds-controlled-form/ds-controlled-inputgroup/combobox/DSControlledInputGroup.combobox.axe-core.func.spec.js +1 -1
  25. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.axe-core.func.spec.js +1 -1
  26. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.func.spec.js +36 -0
  27. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.visual.spec.js +12 -1
  28. package/ds-controlled-form/ds-input-text/DSInputText.func.spec.js +14 -12
  29. package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +1 -0
  30. package/ds-data-table-async/DSDataTable.smoke.spec.js +4 -0
  31. package/ds-data-table-async/basic/DSDataTable.usecases.func.spec.js +5 -4
  32. package/ds-data-table-async/basic/DSDataTable.usecases.visual.spec.js +1 -0
  33. package/ds-data-table-async/components/RowCO.js +4 -0
  34. package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +1 -1
  35. package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +4 -0
  36. package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +1 -0
  37. package/ds-data-table-async/select/DSDataTable.select.axe-core.func.spec.js +2 -0
  38. package/ds-data-table-async/select/DSDataTable.select.func.spec.js +2 -86
  39. package/ds-data-table-async/select/DSDataTable.select.shift.func.spec.js +126 -0
  40. package/ds-data-table-async/vissibility/DSDataTable.vissibility.visual.spec.js +6 -0
  41. package/ds-form-combobox-multi/DSComboboxMultiCO.js +2 -9
  42. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +2 -11
  43. package/ds-form-combobox-multi/read-only/DSComboboxMulti.read-only.axe-core.func.spec.js +26 -0
  44. package/ds-form-combobox-multi/read-only/DSComboboxMulti.read-only.visual.spec.js +39 -0
  45. package/ds-form-combobox-single/DSComboboxSingleCO.js +2 -9
  46. package/ds-form-combobox-single/read-only/DSComboboxSingle.read-only.axe-core.func.spec.js +26 -0
  47. package/ds-form-combobox-single/read-only/DSComboboxSingle.read-only.visual.spec.js +39 -0
  48. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +4 -0
  49. package/ds-menu-button/DSMenuButtonCO.js +9 -5
  50. package/ds-menu-button/activable/DSMenuButton.activableMenuItem.func.spec.js +32 -0
  51. package/ds-menu-button/{basic/DSMenuButton.activableMenuItem.func.spec.js → activable/DSMenuButton.activableMenuItem.keyboardnav.func.spec.js} +1 -26
  52. package/ds-menu-button/disabled/DSMenuButton.axe-core.disabled.func.spec.js +20 -0
  53. package/ds-menu-button/disabled/DSMenuButton.disabled.func.spec.js +28 -0
  54. package/ds-menu-button/leftdecorations/DSMenuButton.axe-core.leftDecor.func.spec.js +20 -0
  55. package/ds-menu-button/multiselect/DSMenuButton.axe-core.multiselect.func.spec.js +28 -0
  56. package/ds-menu-button/multiselect/DSMenuButton.multiSelectItem.func.spec.js +34 -0
  57. package/ds-menu-button/{basic/DSMenuButton.multiSelectItem.func.spec.js → multiselect/DSMenuButton.multiSelectItem.keyboardnav.func.spec.js} +0 -29
  58. package/ds-menu-button/singleSelect/DSMenuButton.axe-core.singleSelect.func.spec.js +28 -0
  59. package/ds-menu-button/singleSelect/DSMenuButton.singleSelectItem.func.spec.js +39 -0
  60. package/ds-menu-button/{basic/DSMenuButton.singleSelectItem.func.spec.js → singleSelect/DSMenuButton.singleSelectItem.keyboardnav.func.spec.js} +11 -42
  61. package/ds-menu-button/submenu/DSMenuButton.axe-core.subMenu.func.spec.js +20 -0
  62. package/ds-menu-button/submenu/DSMenuButton.subMenuItem.func.spec.js +42 -0
  63. package/ds-menu-button/{basic/DSMenuButton.subMenuItem.func.spec.js → submenu/DSMenuButton.subMenuItem.keyboardnav.func.spec.js} +1 -38
  64. package/ds-pills-v2/DSPills.axe-core.func.spec.js +2 -2
  65. package/ds-pills-v2/DSPills.func.spec.js +26 -0
  66. package/ds-pills-v2/DSPills.visual.spec.js +1 -1
  67. package/ds-pills-v2/DSPillsV2CO.js +19 -1
  68. package/ds-pills-v2/selection/DSPills.axe-core.func.spec.js +77 -0
  69. package/ds-pills-v2/selection/DSPills.func.spec.js +155 -0
  70. package/ds-pills-v2/selection/DSPills.visual.spec.js +72 -0
  71. package/ds-query-builder/DSQueryBuilder.visual.spec.js +2 -1
  72. package/ds-query-builder/DSQueryBuilderCO.js +0 -5
  73. package/ds-shuttle-v2/DSShuttleV2CO.js +2 -4
  74. package/ds-shuttle-v2/Dnd/DSShuttleV2.DnD.visual.spec.js +0 -5
  75. package/ds-shuttle-v2/basic/DSShuttleV2.keyboard.func.spec.js +46 -66
  76. package/ds-shuttle-v2/drillingdown/DSShuttleV2.drilldown.kb.func.spec.js +3 -5
  77. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.kb.func.spec.js +1 -7
  78. package/ds-shuttle-v2/globalcheckbox/DSShuttleV2.globalcheckbox.kb.func.spec.js +0 -2
  79. package/ds-shuttle-v2/items/DSShuttleV2.items.kb.func.spec.js +0 -2
  80. package/ds-toggle/DSToggle.func.spec.js +21 -18
  81. package/ds-toggle/DSToggle.visual.spec.js +56 -12
  82. package/package.json +119 -119
  83. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.DateInput.visual.spec.js +0 -57
  84. 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 breadcrumb', async () => {
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('03: should tab and focus the select/deselect all checkbox', async () => {
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('04: should tab and focus the source panel', async () => {
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('05: should select first item with arrowKeys', async () => {
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('06: should Shift+Tab to focus the panel again and select last item with arrowKeys', async () => {
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('07: should tab and focus the breadcrumb from destination panel', async () => {
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 sourcePanel = await DSShuttleV2CO.getListWrapperMid(0);
79
- await expect(sourcePanel).toBeFocused();
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.getFocuseableByBreadcrumb(await DSShuttleV2CO.getBreadcrumbByIndex(1));
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.getFocuseableByBreadcrumb(await DSShuttleV2CO.getBreadcrumbByIndex(0));
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(' 0.3');
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
- await (await DSToggleCO.getToggle()).click();
59
- const toggleState = await DSToggleCO.getToggleState('OFF');
60
- await expect(toggleState).toBeDisplayed();
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: the first aria-disabled toggle should be focused', async () => {
63
+ it('01: should display aria-disabled toggle not interacted', async () => {
62
64
  await browser.eyesOpen();
63
- const firstToggle = await DSToggleCO.getToggleByIndex(0);
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
- const fourthToggle = await DSToggleCO.getToggleByIndex(3);
71
- await fourthToggle.click();
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
  }