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
@@ -30,11 +30,27 @@ export default class DSBreadcrumbCO extends PageObject {
30
30
 
31
31
  // selectors
32
32
  static async getBreadcrumb() {
33
- return $('[data-testid="breadcrumb-nav-container"]');
33
+ return $('[data-testid="ds-breadcrumb-container"]');
34
34
  }
35
35
 
36
- static async getBreadcrumbItems(index) {
37
- return $$('//li[@data-testid="breadcrumb-item-container"]/a')[index];
36
+ static async getBreadcrumbs() {
37
+ return $$('[data-testid="ds-breadcrumb-container"]');
38
+ }
39
+
40
+ static async getBreadcrumbsByIndex(index = 0) {
41
+ return $$('[data-testid="ds-breadcrumb-container"]')[index];
42
+ }
43
+
44
+ static async getBreadcrumbNavItems(index) {
45
+ return $$('//li[@data-testid="ds-breadcrumb-crumb-wrapper"]/a')[index];
46
+ }
47
+
48
+ static async getBreadcrumbItems(index = 0) {
49
+ return $$('[data-testid="ds-breadcrumb-crumb-wrapper"]')[index];
50
+ }
51
+
52
+ static async getBreadcrumbButtonItems(index) {
53
+ return $$('//li[@data-testid="ds-breadcrumb-crumb-wrapper"]/button')[index];
38
54
  }
39
55
 
40
56
  static async getBreadcrumbItem(text) {
@@ -0,0 +1,22 @@
1
+ import DSButtonV3CO from './DSButtonV3CO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-15109 - ButtonV3 - Slots -Func', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSButtonV3CO.slotsTest.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('01: should find the expected SLOTS for all the present buttons', async () => {
10
+ const buttonSlots = (await DSButtonV3CO.getRootSlots()).length;
11
+ await expect(buttonSlots).toEqual(40);
12
+ });
13
+ it('02: should find custom aria for the SLOT', async () => {
14
+ const button = await DSButtonV3CO.getRootSlotByIdnex(1);
15
+ await expect(button).toHaveAttribute('aria-label', 'im root aria');
16
+ });
17
+ it('03: should find custom data for the SLOT', async () => {
18
+ const button = await DSButtonV3CO.getRootSlotByIdnex(1);
19
+ await expect(button).toHaveAttribute('data-testid', 'im root data');
20
+ });
21
+ });
22
+ }
@@ -48,20 +48,26 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
48
48
  if (errorOnGo) throw errorOnGo;
49
49
  });
50
50
  it('01: should custom focused, custom hovered and custom disabled buttons', async () => {
51
+ await browser.eyesOpen();
51
52
  await browser.keys('Tab');
52
53
  await browser.keys('Tab');
53
54
  const button = await DSButtonV3CO.getButtonByIndex(0);
54
55
  await button.waitForDisplayed({ timeout: 5000 });
55
56
  await mouseOver(button);
56
- const snapshot = await browser.checkSnapshot(DSButtonV3CO.snapshotPath('ds-button-v3-customization-interacted'));
57
+ const snapshot = await browser.eyesCheckSnapshot(
58
+ DSButtonV3CO.snapshotPath('ds-button-v3-customization-interacted'),
59
+ );
57
60
  await expect(snapshot).toEqual(0);
58
61
  });
59
62
  it('02: should display two custom default buttons and disabled button hovered without changes', async () => {
63
+ await browser.eyesOpen();
60
64
  await browser.keys('Tab');
61
65
  const button = await DSButtonV3CO.getButtonByIndex(2);
62
66
  await button.waitForDisplayed({ timeout: 5000 });
63
67
  await mouseOver(button);
64
- const snapshot = await browser.checkSnapshot(DSButtonV3CO.snapshotPath('ds-button-v3-customization-defaults'));
68
+ const snapshot = await browser.eyesCheckSnapshot(
69
+ DSButtonV3CO.snapshotPath('ds-button-v3-customization-defaults'),
70
+ );
65
71
  await expect(snapshot).toEqual(0);
66
72
  });
67
73
  });
@@ -13,6 +13,8 @@ export default class DSButtonV3CO extends PageObject {
13
13
 
14
14
  static applyAriaDisabled = new Urlbuilder(PATH_E2E_BUTTON_V3, 'apply-aria-disabled-test');
15
15
 
16
+ static slotsTest = new Urlbuilder(PATH_E2E_BUTTON_V3, 'slots-test');
17
+
16
18
  // selectors
17
19
  static async getButtonByIndex(index) {
18
20
  return $$('[data-testid="ds-button"]')[index];
@@ -22,6 +24,18 @@ export default class DSButtonV3CO extends PageObject {
22
24
  return $('[data-testid="ds-button"]');
23
25
  }
24
26
 
27
+ static async getRootSlots() {
28
+ return $$('[data-dimsum-slot="dsButtonRoot"]');
29
+ }
30
+
31
+ static async getRootSlotByIdnex(index = 0) {
32
+ return $$('[data-dimsum-slot="dsButtonRoot"]')[index];
33
+ }
34
+
35
+ static async getButtonByLabel(label) {
36
+ return $(`button*=${label}`);
37
+ }
38
+
25
39
  // Snapshot
26
40
  static snapshotPath(example = 'basic') {
27
41
  return PageObject.getSnapshotPathBuilder('ButtonV3', example);
@@ -29,11 +29,11 @@ export default class DSCardV3CO extends PageObject {
29
29
 
30
30
  // selectors
31
31
  static async getActionAreaByIndex(index = 0) {
32
- return $$('[data-testid="ds-card-v3-action-area"]')[index];
32
+ return $$('[data-testid="ds-cardv3-action-area"]')[index];
33
33
  }
34
34
 
35
35
  static async getActionArea() {
36
- return $('[data-testid="ds-card-v3-action-area"]');
36
+ return $('[data-testid="ds-cardv3-action-area"]');
37
37
  }
38
38
 
39
39
  static async getCardContentByindex(index = 0) {
@@ -45,35 +45,35 @@ export default class DSCardV3CO extends PageObject {
45
45
  }
46
46
 
47
47
  static async getCardHeaderByindex(index = 0) {
48
- return $$('[data-testid="ds-card-v3-header"]')[index];
48
+ return $$('[data-testid="ds-cardv3-header"]')[index];
49
49
  }
50
50
 
51
51
  static async getCardHeader() {
52
- return $('[data-testid="ds-card-v3-header"]');
52
+ return $('[data-testid="ds-cardv3-header"]');
53
53
  }
54
54
 
55
55
  static async getCardFooterByindex(index = 0) {
56
- return $$('[data-testid="ds-card-v3-footer"]')[index];
56
+ return $$('[data-testid="ds-cardv3-footer"]')[index];
57
57
  }
58
58
 
59
59
  static async getCardFooter() {
60
- return $('[data-testid="ds-card-v3-footer"]');
60
+ return $('[data-testid="ds-cardv3-footer"]');
61
61
  }
62
62
 
63
63
  static async getCardContainerByIndex(index = 0) {
64
- return $$('[data-testid="ds-card-v3-root"]')[index];
64
+ return $$('[data-testid="ds-cardv3-root"]')[index];
65
65
  }
66
66
 
67
67
  static async getCards() {
68
- return $$('[data-testid="ds-card-v3-root"]');
68
+ return $$('[data-testid="ds-cardv3-root"]');
69
69
  }
70
70
 
71
71
  static async getCardContainer() {
72
- return $('[data-testid="ds-card-v3-root"]');
72
+ return $('[data-testid="ds-cardv3-root"]');
73
73
  }
74
74
 
75
75
  static async getCardBody() {
76
- return $('[data-testid="ds-card-v3-body"]');
76
+ return $('[data-testid="ds-cardv3-body"]');
77
77
  }
78
78
 
79
79
  static async getHByLevel(level = 2) {
@@ -19,16 +19,16 @@ if (
19
19
  const cardFooter = await DSCardV3CO.getCardFooter();
20
20
  await expect(cardRoot).toHaveAttribute('role', 'region');
21
21
  await expect(cardRoot).toHaveAttribute('aria-label', 'My custom card');
22
- await expect(cardRoot).toHaveAttribute('data-dimsum-slot', 'dsCardV3Root');
22
+ await expect(cardRoot).toHaveAttribute('data-dimsum-slot', 'dsCardv3Root');
23
23
  await expect(cardHeader).toHaveAttribute('role', 'region');
24
24
  await expect(cardHeader).toHaveAttribute('aria-label', 'My custom Header');
25
- await expect(cardHeader).toHaveAttribute('data-dimsum-slot', 'dsCardV3Header');
25
+ await expect(cardHeader).toHaveAttribute('data-dimsum-slot', 'dsCardv3Header');
26
26
  await expect(cardBody).toHaveAttribute('role', 'region');
27
27
  await expect(cardBody).toHaveAttribute('aria-label', 'My custom card Body');
28
- await expect(cardBody).toHaveAttribute('data-dimsum-slot', 'dsCardV3Body');
28
+ await expect(cardBody).toHaveAttribute('data-dimsum-slot', 'dsCardv3Body');
29
29
  await expect(cardFooter).toHaveAttribute('role', 'region');
30
30
  await expect(cardFooter).toHaveAttribute('aria-label', 'My custom card Footer');
31
- await expect(cardFooter).toHaveAttribute('data-dimsum-slot', 'dsCardV3Footer');
31
+ await expect(cardFooter).toHaveAttribute('data-dimsum-slot', 'dsCardv3Footer');
32
32
  });
33
33
  });
34
34
  }
@@ -75,20 +75,19 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
75
75
  before('loading page', async () => {
76
76
  const errorOnGo = await DSCommentsCO.slotsCustomization.go();
77
77
  if (errorOnGo) throw errorOnGo;
78
+ await browser.maximizeWindow();
78
79
  });
79
80
  it('01: should display customized ds-comments slots', async () => {
80
- await browser.eyesOpen();
81
81
  const readmore = await DSCommentsCO.getReadMoreByIndex(0);
82
82
  await readmore.waitForDisplayed();
83
- const snapshot = await browser.eyesCheckSnapshot(DSCommentsCO.snapshotPath('dscomments-slots-custom'));
83
+ const snapshot = await browser.checkSnapshot(DSCommentsCO.snapshotPath('dscomments-slots-custom'));
84
84
  await expect(snapshot).toEqual(0);
85
85
  });
86
86
  it('02: should have focus on first comment card and hover on third comment card content', async () => {
87
- await browser.eyesOpen();
88
87
  await browser.keys(Key.Tab);
89
88
  const readmore2 = await DSCommentsCO.getReadmoreByCustomDTI();
90
89
  await mouseOver(readmore2);
91
- const snapshot = await browser.eyesCheckSnapshot(DSCommentsCO.snapshotPath('dscomments-slots-interacted'));
90
+ const snapshot = await browser.checkSnapshot(DSCommentsCO.snapshotPath('dscomments-slots-interacted'));
92
91
  await expect(snapshot).toEqual(0);
93
92
  });
94
93
  });
@@ -21,15 +21,15 @@ export default class DSCommentsCO extends PageObject {
21
21
  }
22
22
 
23
23
  static async getInput() {
24
- return $('[data-testid="ds-controlled-large-text-input"]');
24
+ return $('[data-testid="ds-controlledlargetextinput-input"]');
25
25
  }
26
26
 
27
27
  static async getCardByIndex(index = 0) {
28
- return $$('[data-testid="ds-comment-card-root"]')[index];
28
+ return $$('[data-testid="ds-commentcard-root"]')[index];
29
29
  }
30
30
 
31
31
  static async getCardFocuseableByIndex(index = 0) {
32
- return $$('[data-testid="ds-comment-card-left"]')[index];
32
+ return $$('[data-testid="ds-commentcard-left"]')[index];
33
33
  }
34
34
 
35
35
  static getTriggerBtn() {
@@ -37,6 +37,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
37
37
  await browser.keys(Key.Tab);
38
38
  await browser.keys(Key.Enter);
39
39
  await browser.keys(Key.ArrowDown);
40
+ await browser.keys(Key.ArrowDown);
40
41
  await browser.keys(Key.Tab);
41
42
  const selectedOption = await DSComboboxCO.getSelectedValues();
42
43
  await expect(combobox).not.toBeFocused();
@@ -171,62 +171,7 @@ if (
171
171
  await expect(dropdownMenu).toBeDisplayed();
172
172
  });
173
173
  });
174
- describe('PUI-8166 - ComboboxV3:: Multi Select - selectAll - func', () => {
175
- before('loading page', async () => {
176
- const errorOnGo = await DSComboboxCO.multiSelectFixedWidth.go();
177
- if (errorOnGo) throw errorOnGo;
178
- });
179
- it('01: select all options', async () => {
180
- await DSComboboxCO.openMenuListMouse();
181
- const selectAllCheckbox = await DSComboboxCO.getSelectAllCheckbox();
182
- await selectAllCheckbox.click();
183
- const selectedOption = await DSComboboxCO.getOptionByLabel('Luke Skywalker too long this text is super long 1');
184
- const overflowPill = await DSComboboxCO.getPillByLabel('+8');
185
- const menulist = await DSComboboxCO.getMenuList();
186
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
187
- await expect(showSelectedBtn).toHaveTextContaining('SHOW SELECTED [9]');
188
- await expect(overflowPill).toBeDisplayedInViewport();
189
- await expect(menulist).toBeDisplayedInViewport();
190
- await expect(selectedOption).toBeDisplayedInViewport();
191
- });
192
- it('02: should display only selected options', async () => {
193
- const selectedOptionBtn = await DSComboboxCO.getSelectedOptionsToggle();
194
- await selectedOptionBtn.click();
195
- const numOptions = await DSComboboxCO.getNumberOptions();
196
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
197
- await expect(showSelectedBtn).toHaveTextContaining('SHOW ALL');
198
- await expect(numOptions).toBe(9);
199
- });
200
- it('03: should display all options', async () => {
201
- const showAllBtn = await DSComboboxCO.getSelectedOptionsToggle();
202
- await showAllBtn.click();
203
- const numOptions = await DSComboboxCO.getNumberOptions();
204
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
205
- await expect(showSelectedBtn).toHaveTextContaining('SHOW SELECTED [9]');
206
- await expect(numOptions).toBe(11);
207
- });
208
- it('04: should unselect last item', async () => {
209
- await browser.keys(Key.ArrowUp);
210
- const option2 = await DSComboboxCO.getOptionByIndex(9);
211
- await option2.click();
212
- const overflowPill = await DSComboboxCO.getPillByLabel('+7');
213
- await expect(overflowPill).toBeDisplayedInViewport();
214
- });
215
- it('05: should unselect all items', async () => {
216
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
217
- await showSelectedBtn.click();
218
- const selectAllCheckbox = await DSComboboxCO.getSelectAllCheckbox();
219
- await selectAllCheckbox.click();
220
- const numOptions = await DSComboboxCO.getNumberOptions();
221
- const zeroSelected = await DSComboboxCO.getZeroSelectedMsg();
222
- const selectedOption = await DSComboboxCO.getPillByLabel('Luke Skywalker too long this text is super long 1');
223
- const overflowPill = await DSComboboxCO.getPillByLabel('+7');
224
- await expect(zeroSelected).toBeDisplayedInViewport();
225
- await expect(numOptions).toBe(11);
226
- await expect(selectedOption).not.toBeDisplayedInViewport();
227
- await expect(overflowPill).not.toBeDisplayedInViewport();
228
- });
229
- });
174
+
230
175
  describe('PUI-8130 - ComboboxV3:: Single Select - basic- keyboard func', () => {
231
176
  before('loading page', async () => {
232
177
  const errorOnGo = await DSComboboxCO.singleSelectFixedWidth.go();
@@ -256,6 +201,7 @@ if (
256
201
  });
257
202
  it('05: should select an option and close the menu - ENTER', async () => {
258
203
  const menulist = await DSComboboxCO.getMenuList();
204
+ await browser.keys(Key.ArrowDown);
259
205
  await browser.keys(Key.Enter);
260
206
  const selectedOption = await DSComboboxCO.getSelectedValues();
261
207
  await expect(menulist).not.toBeDisplayed();
@@ -281,6 +227,7 @@ if (
281
227
  await browser.keys(Key.ArrowDown);
282
228
  await browser.keys(Key.ArrowDown);
283
229
  await browser.keys(Key.ArrowDown);
230
+ await browser.keys(Key.ArrowDown);
284
231
  await browser.keys(Key.Enter);
285
232
  const selectedOption = await DSComboboxCO.getSelectedValues();
286
233
  await expect(selectedOption).toHaveTextContaining('(555) 555-5555');
@@ -313,6 +260,7 @@ if (
313
260
  await expect(numOptions).toBe(2);
314
261
  });
315
262
  it('04: select filtered option - Enter', async () => {
263
+ await browser.keys(Key.ArrowDown);
316
264
  await browser.keys(Key.Enter);
317
265
  const selectedOption = await (await DSComboboxCO.getSimpleTruncateText()).getText();
318
266
  await expect(selectedOption).toBe('Luke Skywalker too long this text is super long');
@@ -6,6 +6,7 @@ import {
6
6
  PATH_COMBOBOX_MULTI_EXAMPLES,
7
7
  PATH_COMBOBOX_SINGLE_EXAMPLES,
8
8
  PATH_E2E_COMBOBOX_V3,
9
+ PATH_E2E_COMBOBOX_SINGLE,
9
10
  } from '../../../environments/storybook/paths';
10
11
  import { PageObject, Urlbuilder } from '../../helpers';
11
12
 
@@ -39,7 +40,7 @@ export default class DSComboboxCO extends PageObject {
39
40
 
40
41
  static advancedFocus = new Urlbuilder(PATH_E2E_COMBOBOX_V3, 'advanced-focus-management-test');
41
42
 
42
- static onlySelectable = new Urlbuilder(PATH_COMBOBOX_MULTI_EXAMPLES, 'only-selectable');
43
+ static onlySelectable = new Urlbuilder(PATH_E2E_COMBOBOX_SINGLE, 'only-selectable-test');
43
44
 
44
45
  static inlineDropDownPill = new Urlbuilder(PATH_E2E_COMBOBOX_V3, 'inline-drop-down-pill');
45
46
 
@@ -82,15 +83,6 @@ export default class DSComboboxCO extends PageObject {
82
83
  return $('[data-testid="combobox-ally-selected-values"]');
83
84
  }
84
85
 
85
- // MENU
86
- static async getSelectAllCheckbox() {
87
- return $('#select-all-checkbox');
88
- }
89
-
90
- static async getSelectedOptionsToggle() {
91
- return $('[data-testid="combobox-selected-options-toggle"]');
92
- }
93
-
94
86
  static async getMenuList() {
95
87
  return $('[data-testid="combobox-menu-list"]');
96
88
  }
@@ -15,6 +15,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
15
15
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';
16
16
  await browser.keys(Key.Tab);
17
17
  await type(longText);
18
+ await browser.keys(Key.ArrowDown);
18
19
  await browser.keys(Key.Enter);
19
20
  const pill = await DSComboboxCO.getPillByLabel(longText);
20
21
  const option = await DSComboboxCO.getOptionByLabel(longText);
@@ -24,6 +25,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
24
25
  it('02: create another option', async () => {
25
26
  const newOption = 'Lorem ipsum dolor sit amet';
26
27
  await type(newOption);
28
+ await browser.keys(Key.ArrowDown);
27
29
  await browser.keys(Key.Enter);
28
30
  const pill = await DSComboboxCO.getPillByLabel('+1');
29
31
  const option = await DSComboboxCO.getOptionByLabel(newOption);
@@ -35,6 +37,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
35
37
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';
36
38
  const checkbox = await DSComboboxCO.getCheckboxByLabel(longText);
37
39
  await browser.keys(Key.ArrowDown);
40
+ await browser.keys(Key.ArrowDown);
38
41
  await browser.keys(Key.Enter);
39
42
  const pill = await DSComboboxCO.getPillByLabel(longText);
40
43
  const isChecked = await DSComboboxCO.isChecked(checkbox);
@@ -16,7 +16,6 @@ if (
16
16
  if (errorOnGo) throw errorOnGo;
17
17
  });
18
18
  it('should have a INLINE combobox integrated with dropdownPill and be axecore compliant', async () => {
19
- await browser.eyesOpen();
20
19
  const dropDownPillBtn = await DSComboboxCO.getPillDropDownBtn();
21
20
  await dropDownPillBtn.click();
22
21
  const option1 = await DSComboboxCO.getOptionByIndex(0);
@@ -28,6 +28,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
28
28
  it('03: should open the dropdown menu and select an option - SPACE-ENTER', async () => {
29
29
  await browser.keys(Key.Enter);
30
30
  await browser.keys(Key.ArrowDown);
31
+ await browser.keys(Key.ArrowDown);
31
32
  await browser.keys(Key.Enter);
32
33
  const pill = await DSComboboxCO.getPillByLabel('Obi-Wan Kenobi');
33
34
  const checkbox = await DSComboboxCO.getCheckboxByIndex(1);
@@ -39,6 +40,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
39
40
  await browser.keys(Key.ArrowUp);
40
41
  await browser.keys(Key.ArrowUp);
41
42
  await browser.keys(Key.ArrowUp);
43
+ await browser.keys(Key.ArrowUp);
42
44
  await browser.keys(Key.Enter);
43
45
  const pill = await DSComboboxCO.getPillByLabel('Padme Amidala');
44
46
  const checkbox = await DSComboboxCO.getCheckboxByIndex(2);
@@ -70,6 +72,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
70
72
  await expect(numOptions).toBe(2);
71
73
  });
72
74
  it('02: should select a filtered option - Enter', async () => {
75
+ await browser.keys(Key.ArrowDown);
73
76
  await browser.keys(Key.ArrowDown);
74
77
  await browser.keys(Key.Enter);
75
78
  const pill = await DSComboboxCO.getPillByLabel('Anakin Skywalker');
@@ -88,6 +91,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
88
91
  await expect(numOptions).toBe(1);
89
92
  });
90
93
  it('05: select an option - ENTER', async () => {
94
+ await browser.keys(Key.ArrowDown);
91
95
  await browser.keys(Key.Enter);
92
96
  const pill = await DSComboboxCO.getPillByLabel('Luke Skywalker too long this text is super long');
93
97
  const checkbox = await DSComboboxCO.getCheckboxByIndex(0);
@@ -99,6 +103,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
99
103
  await browser.keys(Key.ArrowDown);
100
104
  await browser.keys(Key.ArrowDown);
101
105
  await browser.keys(Key.ArrowDown);
106
+ await browser.keys(Key.ArrowDown);
102
107
  await browser.keys(Key.Enter);
103
108
  const pill = await DSComboboxCO.getPillByLabel('Anakin Skywalker');
104
109
  const checkbox = await DSComboboxCO.getCheckboxByLabel('Anakin Skywalker');
@@ -33,6 +33,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
33
33
  });
34
34
  it('05: should select an option and not close the menu - ENTER', async () => {
35
35
  const menulist = await DSComboboxCO.getMenuList();
36
+ await browser.keys(Key.ArrowDown);
36
37
  await browser.keys(Key.Enter);
37
38
  const selectedOption = await DSComboboxCO.getSelectedValues();
38
39
  await expect(menulist).toBeDisplayed();
@@ -41,6 +42,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
41
42
  it('06: should select last option and not close the menu - ArrowUp', async () => {
42
43
  const menulist = await DSComboboxCO.getMenuList();
43
44
  await browser.keys(Key.ArrowUp);
45
+ await browser.keys(Key.ArrowUp);
44
46
  await browser.keys(Key.Enter);
45
47
  const overflowPill = await DSComboboxCO.getPillByLabel('+1');
46
48
  await expect(menulist).toBeDisplayed();
@@ -55,6 +57,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
55
57
  await browser.keys(Key.ArrowDown);
56
58
  await browser.keys(Key.ArrowDown);
57
59
  await browser.keys(Key.ArrowDown);
60
+ await browser.keys(Key.ArrowDown);
58
61
  await browser.keys(Key.Enter);
59
62
  const selectedOption = await DSComboboxCO.getPillByLabel('+1');
60
63
  await expect(selectedOption).toBeDisplayedInViewport();
@@ -68,6 +71,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
68
71
  it('01: should unselect an option - Backspace', async () => {
69
72
  await browser.keys(Key.Tab);
70
73
  await type(')');
74
+ await browser.keys(Key.ArrowDown);
71
75
  await browser.keys(Key.Enter);
72
76
  const selectedOption = await DSComboboxCO.getPillByLabel('(555) 555-5555');
73
77
  await selectedOption.waitForDisplayed();
@@ -76,6 +80,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
76
80
  });
77
81
  it('02: should unselect an option - using X close pill btn', async () => {
78
82
  await type('2');
83
+ await browser.keys(Key.ArrowDown);
79
84
  await browser.keys(Key.Enter);
80
85
  const selectedOption = await DSComboboxCO.getPillByLabel('Luke Skywalker too long this text is super long 2');
81
86
  await selectedOption.waitForDisplayed();
@@ -111,6 +116,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
111
116
  await expect(numOptions).toBe(3);
112
117
  });
113
118
  it('04: select filtered option - Enter', async () => {
119
+ await browser.keys(Key.ArrowDown);
114
120
  await browser.keys(Key.Enter);
115
121
  const selectedOption = await DSComboboxCO.getPillByLabel('Luke Skywalker too long this text is super long 1');
116
122
  await expect(selectedOption).toBeDisplayed();
@@ -144,72 +150,4 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
144
150
  await expect(inputText).toBeFocused();
145
151
  });
146
152
  });
147
- describe('PUI-8139 - ComboboxV3:: Multi Select - selectAll - keyboard func', () => {
148
- before('loading page', async () => {
149
- const errorOnGo = await DSComboboxCO.multiSelectFixedWidth.go();
150
- if (errorOnGo) throw errorOnGo;
151
- });
152
- it('01: select all options', async () => {
153
- await DSComboboxCO.openMenuUsingKeyboard();
154
- await browser.keys(Key.Tab);
155
- await browser.keys(Key.Space);
156
- const selectedOption = await DSComboboxCO.getOptionByLabel('Luke Skywalker too long this text is super long 1');
157
- const overflowPill = await DSComboboxCO.getPillByLabel('+8');
158
- const menulist = await DSComboboxCO.getMenuList();
159
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
160
- await expect(showSelectedBtn).toHaveTextContaining('SHOW SELECTED [9]');
161
- await expect(overflowPill).toBeDisplayedInViewport();
162
- await expect(menulist).toBeDisplayedInViewport();
163
- await expect(selectedOption).toBeDisplayedInViewport();
164
- });
165
- it('02: should display only selected options', async () => {
166
- await browser.keys(Key.Tab);
167
- await browser.keys(Key.Space);
168
- const numOptions = await DSComboboxCO.getNumberOptions();
169
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
170
- await expect(showSelectedBtn).toHaveTextContaining('SHOW ALL');
171
- await expect(numOptions).toBe(9);
172
- });
173
- it('03: should unselect last item', async () => {
174
- await browser.keys(Key.Tab);
175
- await browser.keys(Key.Enter);
176
- const option = await DSComboboxCO.getOptionByLabel('Anakin Skywalker 5');
177
- const overflowPill = await DSComboboxCO.getPillByLabel('+7');
178
- await expect(option).not.toBeDisplayedInViewport();
179
- await expect(overflowPill).toBeDisplayedInViewport();
180
- });
181
- it('04: should unselect all items', async () => {
182
- await browser.keys(Key.Tab);
183
- await browser.keys(Key.Space);
184
- const numOptions = await DSComboboxCO.getNumberOptions();
185
- const zeroSelected = await DSComboboxCO.getZeroSelectedMsg();
186
- const selectedOption = await DSComboboxCO.getPillByLabel('Luke Skywalker too long this text is super long 1');
187
- const overflowPill = await DSComboboxCO.getPillByLabel('+8');
188
- await expect(zeroSelected).toBeDisplayedInViewport();
189
- await expect(numOptions).toBe(11);
190
- await expect(selectedOption).not.toBeDisplayedInViewport();
191
- await expect(overflowPill).not.toBeDisplayedInViewport();
192
- });
193
- it('05: should close menu list correctly - focus in selectAll checkbox', async () => {
194
- await browser.keys(Key.Tab);
195
- await browser.keys(Key.Escape);
196
- const menulist = await DSComboboxCO.getMenuList();
197
- const comboboxInput = await DSComboboxCO.getComboboxInput();
198
- await expect(menulist).not.toBeDisplayedInViewport();
199
- await expect(comboboxInput).toBeFocused();
200
- });
201
- it('06: should close menu list correctly - focus in show selected toggle btn', async () => {
202
- await browser.keys(Key.Enter);
203
- await browser.keys(Key.Tab);
204
- await browser.keys(Key.Space);
205
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
206
- await showSelectedBtn.waitForDisplayed();
207
- await browser.keys(Key.Tab);
208
- await browser.keys(Key.Escape);
209
- const menulist = await DSComboboxCO.getMenuList();
210
- const comboboxInput = await DSComboboxCO.getComboboxInput();
211
- await expect(menulist).not.toBeDisplayedInViewport();
212
- await expect(comboboxInput).toBeFocused();
213
- });
214
- });
215
153
  }
@@ -162,62 +162,4 @@ if (!browser.capabilities['ice:options'].isPhone && browser.capabilities.browser
162
162
  });
163
163
  });
164
164
  }
165
- describe('PUI-8166 - ComboboxV3:: Multi Select - selectAll - func', () => {
166
- before('loading page', async () => {
167
- const errorOnGo = await DSComboboxCO.multiSelectFixedWidth.go();
168
- if (errorOnGo) throw errorOnGo;
169
- });
170
- it('01: select all options', async () => {
171
- await DSComboboxCO.openMenuListMouse();
172
- const selectAllCheckbox = await DSComboboxCO.getSelectAllCheckbox();
173
- await selectAllCheckbox.click();
174
- const selectedOption = await DSComboboxCO.getOptionByLabel('Luke Skywalker too long this text is super long 1');
175
- const overflowPill = await DSComboboxCO.getPillByLabel('+8');
176
- const menulist = await DSComboboxCO.getMenuList();
177
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
178
- await expect(showSelectedBtn).toHaveTextContaining('SHOW SELECTED [9]');
179
- await expect(overflowPill).toBeDisplayedInViewport();
180
- await expect(menulist).toBeDisplayedInViewport();
181
- await expect(selectedOption).toBeDisplayedInViewport();
182
- });
183
- it('02: should display only selected options', async () => {
184
- const selectedOptionBtn = await DSComboboxCO.getSelectedOptionsToggle();
185
- await selectedOptionBtn.click();
186
- const numOptions = await DSComboboxCO.getNumberOptions();
187
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
188
- await expect(showSelectedBtn).toHaveTextContaining('SHOW ALL');
189
- await expect(numOptions).toBe(9);
190
- });
191
- it('03: should display all options', async () => {
192
- const showAllBtn = await DSComboboxCO.getSelectedOptionsToggle();
193
- await showAllBtn.click();
194
- const numOptions = await DSComboboxCO.getNumberOptions();
195
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
196
- await expect(showSelectedBtn).toHaveTextContaining('SHOW SELECTED [9]');
197
- await expect(numOptions).toBe(11);
198
- });
199
- it('04: should unselect last item', async () => {
200
- const option = await DSComboboxCO.getOptionByLabel('Padme Amidala 3');
201
- await option.scrollIntoView();
202
- const option2 = await DSComboboxCO.getOptionByLabel('Anakin Skywalker 5');
203
- await option2.scrollIntoView();
204
- await option2.click();
205
- const overflowPill = await DSComboboxCO.getPillByLabel('+7');
206
- await expect(overflowPill).toBeDisplayedInViewport();
207
- });
208
- it('05: should unselect all items', async () => {
209
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
210
- await showSelectedBtn.click();
211
- const selectAllCheckbox = await DSComboboxCO.getSelectAllCheckbox();
212
- await selectAllCheckbox.click();
213
- const numOptions = await DSComboboxCO.getNumberOptions();
214
- const zeroSelected = await DSComboboxCO.getZeroSelectedMsg();
215
- const selectedOption = await DSComboboxCO.getPillByLabel('Luke Skywalker too long this text is super long 1');
216
- const overflowPill = await DSComboboxCO.getPillByLabel('+7');
217
- await expect(zeroSelected).toBeDisplayedInViewport();
218
- await expect(numOptions).toBe(11);
219
- await expect(selectedOption).not.toBeDisplayedInViewport();
220
- await expect(overflowPill).not.toBeDisplayedInViewport();
221
- });
222
- });
223
165
  }
@@ -43,22 +43,6 @@ if (!browser.capabilities['ice:options'].isPhone && browser.capabilities.browser
43
43
  );
44
44
  await expect(snapshot).toEqual(0);
45
45
  });
46
- it('05: should display only selected options - click show selected', async () => {
47
- await browser.eyesOpen();
48
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
49
- await showSelectedBtn.click();
50
- const snapshot = await browser.eyesCheckSnapshot(DSComboboxCO.snapshotPath('comboboxV3-multi-show-selected'));
51
- await expect(snapshot).toEqual(0);
52
- });
53
- it('06: should display all options - click select all', async () => {
54
- await browser.eyesOpen();
55
- const showSelectedBtn = await DSComboboxCO.getSelectedOptionsToggle();
56
- await showSelectedBtn.click();
57
- const selectAll = await DSComboboxCO.getSelectAllCheckbox();
58
- await selectAll.click();
59
- const snapshot = await browser.eyesCheckSnapshot(DSComboboxCO.snapshotPath('comboboxV3-multi-all-selected'));
60
- await expect(snapshot).toEqual(0);
61
- });
62
46
  if (browser.capabilities['ice:options'].isTablet) {
63
47
  it('07: should display tooltip - touch truncated pill', async () => {
64
48
  await browser.eyesOpen();
@@ -121,6 +105,7 @@ if (!browser.capabilities['ice:options'].isPhone && browser.capabilities.browser
121
105
  await browser.keys(Key.ArrowUp);
122
106
  await browser.keys(Key.ArrowUp);
123
107
  await browser.keys(Key.ArrowUp);
108
+ await browser.keys(Key.ArrowUp);
124
109
  await browser.keys(Key.Enter);
125
110
  const snapshot = await browser.eyesCheckSnapshot(
126
111
  DSComboboxCO.snapshotPath('comboboxV3-multi-scroll-up-keyboard'),