dimsum-e2e-tests 3.50.0-next.2 → 3.50.0-rc.2

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 (181) hide show
  1. package/CHANGELOG.md +337 -258
  2. package/ds-apppicker/DSAppPickerCO.js +2 -6
  3. package/ds-apppicker/basic/DSAppPicker.basic.axe-core.spec.js +2 -2
  4. package/ds-apppicker/basic/DSAppPicker.basic.func.spec.js +3 -3
  5. package/ds-apppicker/basic/DSAppPicker.basic.keyboard-nav.func.spec.js +2 -2
  6. package/ds-apppicker/basic/DSAppPicker.basic.visual.spec.js +6 -3
  7. package/ds-apppicker/closeAfterSelection/DSAppPicker.closeAfterSelection.axe-core.spec.js +2 -2
  8. package/ds-apppicker/closeAfterSelection/DSAppPicker.closeAfterSelection.func.spec.js +2 -2
  9. package/ds-apppicker/maxHeight/DSAppPicker.max-height.visual.spec.js +2 -2
  10. package/ds-apppicker/minHeight/DSAppPicker.minHeight.visual.spec.js +1 -1
  11. package/ds-autocomplete/DSAutocomplete.func.spec.js +5 -4
  12. package/ds-autocomplete/DSAutocompleteCO.js +1 -8
  13. package/ds-banner/DSBanner.func.spec.js +55 -0
  14. package/ds-banner/DSBanner.visual.spec.js +14 -0
  15. package/ds-banner/DSBannerCO.js +30 -0
  16. package/ds-breadcrumb/DSBreadcrumb.axe-core.func.spec.js +21 -6
  17. package/ds-breadcrumb/DSBreadcrumb.func.spec.js +69 -40
  18. package/ds-breadcrumb/DSBreadcrumb.visual.spec.js +20 -15
  19. package/ds-breadcrumb/DSBreadcrumbCO.js +19 -3
  20. package/ds-button-v3/DSButtonV3.func.spec.js +22 -0
  21. package/ds-button-v3/DSButtonV3.visual.spec.js +8 -2
  22. package/ds-button-v3/DSButtonV3CO.js +14 -0
  23. package/ds-card-v3/DSCardV3CO.js +10 -10
  24. package/ds-card-v3/global-attributes/DSCardV3.global-attributes.func.spec.js +4 -4
  25. package/ds-comments-card/DSComments.visual.spec.js +3 -4
  26. package/ds-comments-card/DSCommentsCO.js +3 -3
  27. package/ds-controlled-form/ds-combobox/DSCombobox.func.spec.js +1 -0
  28. package/ds-controlled-form/ds-combobox/DSCombobox.smoke.spec.js +4 -56
  29. package/ds-controlled-form/ds-combobox/DSComboboxCO.js +2 -10
  30. package/ds-controlled-form/ds-combobox/creatable/DSCombobox.keyboard-creatable.func.spec.js +3 -0
  31. package/ds-controlled-form/ds-combobox/inline/DSCombobox.inline.axe-core.spec.js +0 -1
  32. package/ds-controlled-form/ds-combobox/inline/DSCombobox.inline.keyboard.func.spec.js +5 -0
  33. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.keyboard-multi-select.func.spec.js +6 -68
  34. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.mouse-touch-multi-select.func.spec.js +0 -58
  35. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.multi.visual.spec.js +1 -16
  36. package/ds-controlled-form/ds-combobox/multi-select/DSCombobox.ten-thousand-options.func.spec.js +2 -22
  37. package/ds-controlled-form/ds-combobox/single-select/DSCombobox.keyboard-single-select.func.spec.js +4 -0
  38. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.func.spec.js +15 -41
  39. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.keyboard-nav.func.spec.js +51 -0
  40. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.visual.spec.js +14 -16
  41. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.axe-core.spec.js +85 -0
  42. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.functional.spec.js +242 -0
  43. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.visual.spec.js +115 -0
  44. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePickerCO.js +56 -2
  45. package/ds-controlled-form/ds-controlled-date-range-picker/read-only/DSControlledDateRangePicker.ReadOnly.axe-core.spec.js +17 -0
  46. package/ds-controlled-form/ds-controlled-date-time-picker/DSControlledDateTimePickerCO.js +12 -0
  47. package/ds-controlled-form/ds-controlled-date-time-picker/date-full/DateFull.axe-core.func.spec.js +27 -0
  48. package/ds-controlled-form/ds-controlled-date-time-picker/date-input/DateInput.axe-core.func.spec.js +27 -0
  49. package/ds-controlled-form/ds-controlled-date-time-picker/date-time-full/DateTimeFull.axe-core.func.spec.js +27 -0
  50. package/ds-controlled-form/ds-controlled-date-time-picker/date-time-input/DateTimeInput.axe-core.func.spec.js +27 -0
  51. package/ds-controlled-form/ds-controlled-date-time-picker/time-full/TimeFull.axe-core.func.spec.js +27 -0
  52. package/ds-controlled-form/ds-controlled-date-time-picker/time-input/TimeInput.axe-core.func.spec.js +27 -0
  53. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +4 -14
  54. package/ds-controlled-form/ds-controlled-inputgroup/autocomplete/DSControlledInputGroup.autocomplete.axe-core.func.spec.js +6 -6
  55. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.axe-core.func.spec.js +3 -2
  56. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.visual.spec.js +3 -2
  57. package/ds-controlled-form/ds-controlled-inputgroup/combobox/DSControlledInputGroup.combobox.axe-core.func.spec.js +1 -1
  58. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.axe-core.func.spec.js +2 -1
  59. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.func.spec.js +3 -2
  60. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.axe-core.func.spec.js +3 -2
  61. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.func.spec.js +2 -1
  62. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.visual.spec.js +2 -1
  63. package/ds-controlled-form/ds-controlled-large-input-text/DSLargeInputTextCO.js +5 -5
  64. package/ds-controlled-form/ds-controlled-large-input-text/aria-disabled/DSLargeInputText.aria-disabled.visual.spec.js +7 -2
  65. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.axe-core.func.spec.js +1 -1
  66. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.func.spec.js +39 -0
  67. package/ds-controlled-form/ds-controlled-large-input-text/read-only/DSLargeInputText.read-only.visual.spec.js +12 -1
  68. package/ds-controlled-form/ds-input-text/DSInputText.func.spec.js +14 -12
  69. package/ds-controlled-form/ds-input-text/DSInputTextCO.js +11 -8
  70. package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.func.spec.js +23 -0
  71. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.axe-core.func.spec.js +23 -0
  72. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.func.spec.js +23 -0
  73. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.visual.spec.js +28 -0
  74. package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +2 -1
  75. package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +3 -1
  76. package/ds-controlled-form/react-hook-form/ReactHookCO.js +0 -10
  77. package/ds-controlled-form/useMask/Number/UseNumberMask.func.spec.js +47 -46
  78. package/ds-controlled-form/useMask/Number/UseNumberMask.visual.spec.js +7 -6
  79. package/ds-controlled-form/useMask/Phone/UsePhoneMask.func.spec.js +9 -8
  80. package/ds-controlled-form/useMask/Phone/UsePhoneMask.visual.spec.js +4 -3
  81. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +4 -3
  82. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +5 -4
  83. package/ds-controlled-form/useMask/RegExp/UseRegExpMask.func.spec.js +6 -5
  84. package/ds-controlled-form/useMask/SSN/UseSsnMask.func.spec.js +7 -6
  85. package/ds-controlled-form/useMask/ZipCode/UseZipCodeMask.func.spec.js +6 -5
  86. package/ds-controlled-form/useMask/useMaskCO.js +1 -11
  87. package/ds-data-table-async/DSDataTable.smoke.spec.js +4 -0
  88. package/ds-data-table-async/DSDataTableCO.js +8 -0
  89. package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +2 -2
  90. package/ds-data-table-async/basic/DSDataTable.usecases.func.spec.js +5 -4
  91. package/ds-data-table-async/basic/DSDataTable.usecases.visual.spec.js +1 -0
  92. package/ds-data-table-async/components/FiltersCOextra.js +1 -1
  93. package/ds-data-table-async/components/HeaderCO.js +1 -1
  94. package/ds-data-table-async/components/OnRowClickCO.js +1 -1
  95. package/ds-data-table-async/components/RowCO.js +6 -0
  96. package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +1 -1
  97. package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +4 -0
  98. package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +1 -0
  99. package/ds-data-table-async/more/DSDataTable.extraactions.func.spec.js +33 -0
  100. package/ds-data-table-async/select/DSDataTable.select.axe-core.func.spec.js +2 -0
  101. package/ds-data-table-async/select/DSDataTable.select.func.spec.js +2 -86
  102. package/ds-data-table-async/select/DSDataTable.select.shift.func.spec.js +126 -0
  103. package/ds-data-table-async/toolbar/DSDataTable.Toolbar.visual.spec.js +15 -0
  104. package/ds-data-table-async/vissibility/DSDataTable.vissibility.visual.spec.js +39 -0
  105. package/ds-dialog/DSDialog.func.spec.js +14 -14
  106. package/ds-dialog/DSDialogCO.js +1 -1
  107. package/ds-dialog/components/DialogFormsCO.js +1 -1
  108. package/ds-dropdownmenu-v2/DSDDMenuV2.axe-core.func.spec.js +2 -0
  109. package/ds-dropdownmenu-v2/DSDDMenuV2CO.js +6 -2
  110. package/ds-floating-context/DSFloatingContext.visual.spec.js +15 -0
  111. package/ds-floating-context/DSFloatingContextCO.js +2 -0
  112. package/ds-form-combobox-multi/DSComboboxMultiCO.js +5 -10
  113. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +2 -11
  114. package/ds-form-combobox-multi/read-only/DSComboboxMulti.read-only.axe-core.func.spec.js +23 -0
  115. package/ds-form-combobox-multi/read-only/DSComboboxMulti.read-only.keyboard-nav.func.spec.js +27 -0
  116. package/ds-form-combobox-multi/read-only/DSComboboxMulti.read-only.visual.spec.js +33 -0
  117. package/ds-form-combobox-multi/virtualization/DSComboboxMulti.virtualization.visual.spec.js +29 -0
  118. package/ds-form-combobox-single/DSComboboxSingleCO.js +4 -9
  119. package/ds-form-combobox-single/read-only/DSComboboxSingle.read-only.axe-core.func.spec.js +23 -0
  120. package/ds-form-combobox-single/read-only/DSComboboxSingle.read-only.keyboard-nav.func.spec.js +27 -0
  121. package/ds-form-combobox-single/read-only/DSComboboxSingle.read-only.visual.spec.js +33 -0
  122. package/ds-form-combobox-single/virtualization/DSComboboxSingle.virtualization.visual.spec.js +30 -0
  123. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +11 -7
  124. package/ds-form-layout-blocks/form-layout-checkbox-group/DSFormLayoutCheckboxGroup.visual.spec.js +1 -1
  125. package/ds-form-layout-blocks/form-layout-checkbox-group/DSFormLayoutCheckboxGroupCO.js +2 -2
  126. package/ds-menu-button/DSMenuButtonCO.js +16 -12
  127. package/ds-menu-button/activable/DSMenuButton.activableMenuItem.func.spec.js +32 -0
  128. package/ds-menu-button/{basic/DSMenuButton.activableMenuItem.func.spec.js → activable/DSMenuButton.activableMenuItem.keyboardnav.func.spec.js} +1 -26
  129. package/ds-menu-button/disabled/DSMenuButton.axe-core.disabled.func.spec.js +20 -0
  130. package/ds-menu-button/disabled/DSMenuButton.disabled.func.spec.js +28 -0
  131. package/ds-menu-button/leftdecorations/DSMenuButton.axe-core.leftDecor.func.spec.js +20 -0
  132. package/ds-menu-button/multiselect/DSMenuButton.axe-core.multiselect.func.spec.js +28 -0
  133. package/ds-menu-button/multiselect/DSMenuButton.multiSelectItem.func.spec.js +34 -0
  134. package/ds-menu-button/{basic/DSMenuButton.multiSelectItem.func.spec.js → multiselect/DSMenuButton.multiSelectItem.keyboardnav.func.spec.js} +0 -29
  135. package/ds-menu-button/singleSelect/DSMenuButton.axe-core.singleSelect.func.spec.js +28 -0
  136. package/ds-menu-button/singleSelect/DSMenuButton.singleSelectItem.func.spec.js +39 -0
  137. package/ds-menu-button/{basic/DSMenuButton.singleSelectItem.func.spec.js → singleSelect/DSMenuButton.singleSelectItem.keyboardnav.func.spec.js} +11 -42
  138. package/ds-menu-button/submenu/DSMenuButton.axe-core.subMenu.func.spec.js +20 -0
  139. package/ds-menu-button/submenu/DSMenuButton.subMenuItem.func.spec.js +42 -0
  140. package/ds-menu-button/{basic/DSMenuButton.subMenuItem.func.spec.js → submenu/DSMenuButton.subMenuItem.keyboardnav.func.spec.js} +1 -38
  141. package/ds-menu-item/DSMenuItemsCO.js +2 -0
  142. package/ds-menu-item/aria-disabled/DSMenuItems.aria-disabled.visual.spec.js +1 -1
  143. package/ds-menu-item/read-only/DSMenuItems.read-only.axe-core.func.spec.js +35 -0
  144. package/ds-menu-item/read-only/DSMenuItems.read-only.visual.spec.js +66 -0
  145. package/ds-mobile/MobileLoadingPage/MobileLoadingPageCO.js +1 -1
  146. package/ds-notification-badge/DSNotificationBadge.axe-core.func.spec.js +1 -0
  147. package/ds-pills-v2/DSPills.axe-core.func.spec.js +2 -2
  148. package/ds-pills-v2/DSPills.func.spec.js +26 -0
  149. package/ds-pills-v2/DSPills.visual.spec.js +1 -1
  150. package/ds-pills-v2/DSPillsV2CO.js +19 -1
  151. package/ds-pills-v2/selection/DSPills.axe-core.func.spec.js +77 -0
  152. package/ds-pills-v2/selection/DSPills.func.spec.js +155 -0
  153. package/ds-pills-v2/selection/DSPills.visual.spec.js +72 -0
  154. package/ds-query-builder/DSQueryBuilder.visual.spec.js +2 -1
  155. package/ds-query-builder/DSQueryBuilderCO.js +1 -6
  156. package/ds-shuttle-v2/DSShuttleV2CO.js +4 -4
  157. package/ds-shuttle-v2/Dnd/DSShuttleV2.DnD.visual.spec.js +0 -5
  158. package/ds-shuttle-v2/basic/DSShuttleV2.keyboard.func.spec.js +46 -66
  159. package/ds-shuttle-v2/drillingdown/DSShuttleV2.drilldown.kb.func.spec.js +3 -5
  160. package/ds-shuttle-v2/extra/DSShuttleV2.extra.visual.spec.js +19 -0
  161. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.func.spec.js +0 -6
  162. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.kb.func.spec.js +1 -9
  163. package/ds-shuttle-v2/globalcheckbox/DSShuttleV2.globalcheckbox.kb.func.spec.js +0 -2
  164. package/ds-shuttle-v2/items/DSShuttleV2.items.kb.func.spec.js +0 -2
  165. package/ds-shuttle-v2/skipped/DSShuttleV2.filter.axe-core.skipped.js +0 -2
  166. package/ds-slider-v2/DSSliderV2.axe-core.func.spec.js +14 -0
  167. package/ds-slider-v2/DSSliderV2.func.spec.js +18 -0
  168. package/ds-slider-v2/DSSliderV2.visual.spec.js +15 -0
  169. package/ds-slider-v2/DSSliderV2CO.js +12 -10
  170. package/ds-toast/DSToast.func.spec.js +2 -2
  171. package/ds-toast/DSToastCO.js +2 -2
  172. package/ds-toggle/DSToggle.func.spec.js +21 -18
  173. package/ds-toggle/DSToggle.visual.spec.js +56 -12
  174. package/package.json +119 -119
  175. package/ds-apppicker/DSAppPicker.smoke.spec.js +0 -52
  176. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckbox.smoke.spec.js +0 -125
  177. package/ds-controlled-form/ds-controlled-date-range-picker/DSControlledDateRangePicker.DateInput.visual.spec.js +0 -57
  178. package/ds-menu-button/DSMenuButton.axe-core.func.spec.js +0 -66
  179. /package/ds-controlled-form/ds-controlled-date-time-picker/{date-time-picker → date-time-full}/DateTimePicker.custom.attributes.spec.js +0 -0
  180. /package/ds-controlled-form/ds-controlled-date-time-picker/{date-time-picker → date-time-full}/DateTimePicker.func.spec.js +0 -0
  181. /package/ds-query-builder/{DSQueryBuilder.error-states.spec.js → DSQueryBuilder.error-states.func.spec.js} +0 -0
@@ -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);
@@ -1,3 +1,4 @@
1
+ import { Key } from 'webdriverio';
1
2
  import DSShuttleV2CO from '../DSShuttleV2CO';
2
3
 
3
4
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
@@ -27,4 +28,22 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
27
28
  await expect(snapshot).toEqual(0);
28
29
  });
29
30
  });
31
+
32
+ describe('PUI-15294 - Shuttle V2, Render after bulk move -Visual.', () => {
33
+ before(async () => {
34
+ const errorOnGo = await DSShuttleV2CO.adHocRenderAfterBulkMove.go();
35
+ if (errorOnGo) throw errorOnGo;
36
+ });
37
+ it('01: should move all the items and scrolldown. Items should be correctly rendered', async () => {
38
+ await browser.eyesOpen();
39
+ const selectAllCheckbox = await DSShuttleV2CO.getCheckboxByIndex(1);
40
+ await selectAllCheckbox.click();
41
+ const bab = await DSShuttleV2CO.getMoveMultipleButton();
42
+ await bab.click();
43
+ await browser.keys([Key.Shift, Key.Tab]);
44
+ await browser.keys(Key.ArrowUp);
45
+ const snapshot = await browser.eyesCheckSnapshot(DSShuttleV2CO.snapshotPath('shuttle-v2-after-bulkmove-adhoc'));
46
+ await expect(snapshot).toEqual(0);
47
+ });
48
+ });
30
49
  }
@@ -13,8 +13,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
13
13
  it('02: should filter and find only one match at source panel', async () => {
14
14
  const sourceFilterBtn = await DSShuttleV2CO.getHeaderSearchIcon(0);
15
15
  await sourceFilterBtn.click();
16
- const searchBar = await DSShuttleV2CO.getAreaSearchBar();
17
- await searchBar.click();
18
16
  await type('0.2');
19
17
  const sourceItems = (await DSShuttleV2CO.getItemsFromSource()).length;
20
18
  await expect(sourceItems).toBe(1);
@@ -27,8 +25,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
27
25
  await testItemMoveBtn.click();
28
26
  const sourceFilterBtn = await DSShuttleV2CO.getHeaderSearchIcon(1);
29
27
  await sourceFilterBtn.click();
30
- const searchBar = await DSShuttleV2CO.getAreaSearchBar(1);
31
- await searchBar.click();
32
28
  await type('Destination');
33
29
  const destinationItems = (await DSShuttleV2CO.getItemsFromDestination()).length;
34
30
  await expect(destinationItems).toBe(10);
@@ -53,8 +49,6 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
53
49
  it('02: should filter and find only one match at source panel', async () => {
54
50
  const sourceFilterBtn = await DSShuttleV2CO.getHeaderSearchIcon(0);
55
51
  await sourceFilterBtn.click();
56
- const searchBar = await DSShuttleV2CO.getAreaSearchBar();
57
- await searchBar.click();
58
52
  await type('Vote for Pedro');
59
53
  const sourceItems = (await DSShuttleV2CO.getItemsFromSource()).length;
60
54
  await expect(sourceItems).toBe(0);
@@ -12,10 +12,8 @@ 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
- await browser.keys(Key.Tab);
19
17
  await type('0.2');
20
18
  const sourceItems = (await DSShuttleV2CO.getItemsFromSource()).length;
21
19
  await expect(sourceItems).toBe(1);
@@ -27,20 +25,14 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
27
25
  const testItem = await DSShuttleV2CO.getItemWrapper(0);
28
26
  await browser.keys(Key.Tab);
29
27
  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
28
  await browser.keys(Key.Tab);
36
29
  await browser.keys(Key.Enter);
37
- await browser.keys(Key.Tab);
38
30
  await type('Destination');
39
31
  const destinationItems = (await DSShuttleV2CO.getItemsFromDestination()).length;
40
32
  await expect(destinationItems).toBe(10);
41
33
  });
42
34
  it('04: should filter and find only one match at destination panel', async () => {
43
- await type(' 0.3');
35
+ await type('0.3');
44
36
  const destinationItems = (await DSShuttleV2CO.getItemsFromDestination()).length;
45
37
  await expect(destinationItems).toBe(1);
46
38
  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);
@@ -21,8 +21,6 @@ if (
21
21
  it('02: displayed empty searchbar to be axecore compliant', async () => {
22
22
  const sourceFilterBtn = await DSShuttleV2CO.getHeaderSearchIcon(0);
23
23
  await sourceFilterBtn.click();
24
- const searchBar = await DSShuttleV2CO.getAreaSearchBar();
25
- await searchBar.click();
26
24
  const result = await axeCoreCheck();
27
25
  expect(result.length).toBe(0);
28
26
  });
@@ -104,4 +104,18 @@ if (
104
104
  expect(result.length).toBe(0);
105
105
  });
106
106
  });
107
+
108
+ describe('PUI-15965 - SliderV2 - ReadOnly prop - AxeCore Test', () => {
109
+ before('loading page', async () => {
110
+ const errorOnGo = await DSSliderV2CO.readOnlyURL.go();
111
+ if (errorOnGo) throw errorOnGo;
112
+ });
113
+ it('01: should display slider with read only and pass axe-core scan', async () => {
114
+ const slider = await DSSliderV2CO.getSliderRoot();
115
+ await slider.waitForDisplayed();
116
+ await browser.keys(Key.Tab);
117
+ const result = await axeCoreCheck();
118
+ expect(result.length).toBe(0);
119
+ });
120
+ });
107
121
  }
@@ -114,4 +114,22 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
114
114
  await expect(value2AfterChange).toEqual('75');
115
115
  });
116
116
  });
117
+
118
+ describe('PUI-15066 - SliderV2 - ReadOnly - Func', () => {
119
+ before('loading page', async () => {
120
+ const errorOnGo = await DSSliderV2CO.readOnlyURL.go();
121
+ if (errorOnGo) throw errorOnGo;
122
+ });
123
+ it('01: should not change the default value of the readonly slider (50) ', async () => {
124
+ const handler = await DSSliderV2CO.getSliderThumb(0);
125
+ await browser.keys(Key.Tab);
126
+ await browser.keys(Key.ArrowRight);
127
+ const valueHandler = await DSSliderV2CO.getSliderValue(handler);
128
+ await handler.dragAndDrop({ x: 200, y: 0 });
129
+ const valueHandlerAfter = await DSSliderV2CO.getSliderValue(handler);
130
+ await expect(handler).toBeFocused();
131
+ await expect(valueHandler).toEqual('50');
132
+ await expect(valueHandlerAfter).toEqual('50');
133
+ });
134
+ });
117
135
  }
@@ -175,3 +175,18 @@ describe('PUI-12340 - SliderV2 - Responsive - Visual Test', () => {
175
175
  await expect(snapshot).toEqual(0);
176
176
  });
177
177
  });
178
+
179
+ describe('PUI-15064 - SliderV2 - ReadOnly - Visual Test', () => {
180
+ before('loading page', async () => {
181
+ const errorOnGo = await DSSliderV2CO.readOnlyURL.go();
182
+ if (errorOnGo) throw errorOnGo;
183
+ });
184
+ it('01: should display slider with readOnly', async () => {
185
+ await browser.eyesOpen();
186
+ const slider = await DSSliderV2CO.getSliderRoot();
187
+ await slider.waitForDisplayed();
188
+ await browser.keys(Key.Tab);
189
+ const snapshot = await browser.eyesCheckSnapshot(DSSliderV2CO.snapshotPath('slider-v2-readOnly'));
190
+ await expect(snapshot).toEqual(0);
191
+ });
192
+ });
@@ -25,6 +25,8 @@ export default class DSSliderCO extends PageObject {
25
25
 
26
26
  static dialogURL = new Urlbuilder(PATH_E2E_SLIDER_V2, 'within-dialog-test');
27
27
 
28
+ static readOnlyURL = new Urlbuilder(PATH_E2E_SLIDER_V2, 'read-only-test');
29
+
28
30
  static applyAriaDisabledURL = new Urlbuilder(PATH_E2E_SLIDER_V2, 'apply-aria-disabled-test');
29
31
 
30
32
  // Snapshots
@@ -34,43 +36,43 @@ export default class DSSliderCO extends PageObject {
34
36
 
35
37
  // selectors
36
38
  static async getSliderRoot(index = 0) {
37
- return $$('[data-testid="ds-slider-v2-root"]')[index];
39
+ return $$('[data-testid="ds-sliderv2-root"]')[index];
38
40
  }
39
41
 
40
42
  static async getSliderRangeWrapper(index = 0) {
41
- return $$('[data-testid="ds-slider-v2-range-wrapper"]')[index];
43
+ return $$('[data-testid="ds-sliderv2-range-wrapper"]')[index];
42
44
  }
43
45
 
44
46
  static async getSliderTrack(index = 0) {
45
- return $$('[data-testid="ds-slider-v2-track"]')[index];
47
+ return $$('[data-testid="ds-sliderv2-track"]')[index];
46
48
  }
47
49
 
48
50
  static async getSliderThumb(index = 0) {
49
- return $$('[data-testid="ds-slider-v2-thumb"]')[index];
51
+ return $$('[data-testid="ds-sliderv2-thumb"]')[index];
50
52
  }
51
53
 
52
54
  static async getSliderRangeWrapperBySlider(slider) {
53
- return slider.$('[data-testid="ds-slider-v2-range-wrapper"]');
55
+ return slider.$('[data-testid="ds-sliderv2-range-wrapper"]');
54
56
  }
55
57
 
56
58
  static async getSliderTrackBySlider(slider) {
57
- return slider.$('[data-testid="ds-slider-v2-track"]');
59
+ return slider.$('[data-testid="ds-sliderv2-track"]');
58
60
  }
59
61
 
60
62
  static async getSliderThumbBySlider(slider) {
61
- return slider.$('[data-testid="ds-slider-v2-thumb"]');
63
+ return slider.$('[data-testid="ds-sliderv2-thumb"]');
62
64
  }
63
65
 
64
66
  static async getSliderTickMarkValue(index = 0) {
65
- return $$('[data-testid="ds-slider-v2-tick-mark-value"]')[index];
67
+ return $$('[data-testid="ds-sliderv2-tick-mark-value"]')[index];
66
68
  }
67
69
 
68
70
  static async getSliderTickMark(index = 0) {
69
- return $$('[data-testid="ds-slider-v2-tick-mark-container"]')[index];
71
+ return $$('[data-testid="ds-sliderv2-tick-mark-container"]')[index];
70
72
  }
71
73
 
72
74
  static async getSliderTickMarkValues() {
73
- return $$('[data-testid="ds-slider-v2-tick-mark-value"]');
75
+ return $$('[data-testid="ds-sliderv2-tick-mark-value"]');
74
76
  }
75
77
 
76
78
  // actions
@@ -17,7 +17,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
17
17
  });
18
18
  it('02: should tab to focus content with link', async () => {
19
19
  await browser.keys(Key.Tab);
20
- const closeButton = await DSToastCO.getContent();
20
+ const closeButton = await DSToastCO.getActionRoot();
21
21
  await expect(closeButton).toBeFocused();
22
22
  });
23
23
  it('03: should tab to focus close button again', async () => {
@@ -27,7 +27,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
27
27
  });
28
28
  it('04: should shift+tab to focus content with link', async () => {
29
29
  await browser.keys([Key.Shift, Key.Tab]);
30
- const closeButton = await DSToastCO.getContent();
30
+ const closeButton = await DSToastCO.getActionRoot();
31
31
  await expect(closeButton).toBeFocused();
32
32
  });
33
33
  it('05: should shift+tab to focus close button again', async () => {
@@ -70,8 +70,8 @@ export default class DSToastCO extends PageObject {
70
70
  return $(`[data-testid="ds-toast-close-button"]`);
71
71
  }
72
72
 
73
- static async getContent() {
74
- return $(`[data-testid="ds-toast-action-root"]`);
73
+ static async getActionRoot() {
74
+ return $(`[data-testid="ds-toastaction-root"]`);
75
75
  }
76
76
 
77
77
  static async getToastByPosition(position) {
@@ -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();