dimsum-e2e-tests 3.53.0-alpha.1 → 3.53.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/ds-accordion/DSAccordionCO.js +15 -11
  3. package/ds-accordion/role/DSAccordion.role-heading.func.spec.js +21 -0
  4. package/ds-accordion/scrollable-content/DSAccordion.scrollable-content.visual.spec.js +42 -0
  5. package/ds-accordion/slots/DSAccordion.slots.func.spec.js +12 -0
  6. package/ds-accordion/wrapLabel/DSAccordion.wrap-label.visual.spec.js +20 -0
  7. package/ds-autocomplete/DSAutocompleteCO.js +18 -0
  8. package/ds-autocomplete/slots/DSAutocomplete.slots.axe-core.func.spec.js +20 -0
  9. package/ds-autocomplete/slots/DSAutocomplete.slots.func.spec.js +45 -0
  10. package/ds-autocomplete/slots/DSAutocomplete.slots.visual.spec.js +21 -0
  11. package/ds-banner/DSBanner.func.spec.js +4 -60
  12. package/ds-banner/DSBanner.text-resize.visual.spec.js +15 -0
  13. package/ds-banner/DSBanner.text-wrapping.visual.spec.js +31 -0
  14. package/ds-banner/DSBanner.visual.spec.js +0 -29
  15. package/ds-banner/DSBannerCO.js +24 -2
  16. package/ds-banner/aria-and-role/DSBanner.aria-and-role.func.spec.js +63 -0
  17. package/ds-banner/slots/DSBanner.slots.func.spec.js +65 -0
  18. package/ds-banner/slots/DSBanner.slots.visual.spec.js +17 -0
  19. package/ds-breadcrumb/DSBreadcrumb.func.spec.js +5 -3
  20. package/ds-button-v3/DSButtonV3.type-submit.func.spec.js +28 -0
  21. package/ds-button-v3/DSButtonV3.visual.spec.js +7 -2
  22. package/ds-button-v3/DSButtonV3CO.js +2 -0
  23. package/ds-card-navigation/CardNavigationCO.js +56 -0
  24. package/ds-card-navigation/DSCardNavigation.func.spec.js +50 -1
  25. package/ds-card-navigation/DSCardNavigation.slots.func.spec.js +127 -0
  26. package/ds-card-navigation/DSCardNavigation.slots.visual.spec.js +26 -0
  27. package/ds-card-navigation/DSCardNavigation.visual.spec.js +16 -0
  28. package/ds-card-v3/DSCardV3CO.js +20 -0
  29. package/ds-card-v3/drag-n-drop/DSCardV3.DnD.visual.spec.js +1 -1
  30. package/ds-card-v3/slots/DSCardV3.slots.axe-core.spec.js +22 -0
  31. package/ds-card-v3/slots/DSCardV3.slots.func.spec.js +36 -0
  32. package/ds-card-v3/slots/DSCardV3.slots.visual.spec.js +18 -0
  33. package/ds-chat/DSChat.func.spec.js +3 -2
  34. package/ds-chat/DSChat.visual.spec.js +3 -2
  35. package/ds-chat/DSChatCO.js +0 -8
  36. package/ds-chat/floatingbutton/DSChat-floating-button.visual.spec.js +1 -1
  37. package/ds-chip/DSChipCO.js +24 -0
  38. package/ds-chip/slots/DSChip.slots.axe-core.spec.js +17 -0
  39. package/ds-chip/slots/DSChip.slots.func.spec.js +39 -0
  40. package/ds-chip/slots/DSChip.slots.visual.spec.js +17 -0
  41. package/ds-circular-indeterminate-indicator/DSCircularIndicator.visual.spec.js +2 -1
  42. package/ds-controlled-form/ds-combobox/creatable/DSCombobox.creatable.visual.spec.js +6 -4
  43. package/ds-controlled-form/ds-controlled-large-input-text/DSLargeInputTextCO.js +5 -0
  44. package/ds-controlled-form/ds-controlled-large-input-text/aria-disabled/DSLargeInputText.aria-disabled.func.spec.js +19 -0
  45. package/ds-controlled-form/ds-controlled-radio-group/DSControlledRadioGroup.axe-core.func.spec.js +31 -0
  46. package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +1 -0
  47. package/ds-data-table-async/DSDataTableCO.js +173 -108
  48. package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +1 -45
  49. package/ds-data-table-async/components/FilterBarCO.js +8 -0
  50. package/ds-data-table-async/components/FiltersCO.js +12 -0
  51. package/ds-data-table-async/components/HeaderCO.js +5 -0
  52. package/ds-data-table-async/components/PaginationNavCO.js +1 -1
  53. package/ds-data-table-async/date-filters/DSDataTable.date-switcher.single.func.spec.js +1 -1
  54. package/ds-data-table-async/date-filters/DSDataTable.date-switcher.visual.spec.js +18 -8
  55. package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +3 -1
  56. package/ds-data-table-async/dnd/DSDataTable.dnd_fixed-width.visual.spec.js +33 -0
  57. package/ds-data-table-async/empty-state/DSDataTable.empty-state.visual.spec.js +13 -0
  58. package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +5 -5
  59. package/ds-data-table-async/filters/DSDataTable.filters-creatable.visual.spec.js +1 -0
  60. package/ds-data-table-async/filters/DSDataTable.filters.visual.spec.js +18 -1
  61. package/ds-data-table-async/filters/DSDataTable.free-text-search.keyboard.func.spec.js +242 -0
  62. package/ds-data-table-async/filters/DSDataTable.free-text-search.visual.spec.js +54 -0
  63. package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +3 -3
  64. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.keyboard.func.spec.js +56 -0
  65. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.mouse.func.spec.js +55 -0
  66. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.visual.spec.js +27 -0
  67. package/ds-data-table-async/more/DSDataTable.headers.visual.spec.js +0 -63
  68. package/ds-data-table-async/select/DSDataTable.select.func.spec.js +1 -1
  69. package/ds-data-table-async/slots/DSDataTable.slots.func.spec.js +40 -0
  70. package/ds-data-table-async/slots/DSDataTable.slots.visual.spec.js +19 -0
  71. package/ds-data-table-async/sorting/DSDataTable.sorting.visual.spec.js +118 -0
  72. package/ds-dataviz/DSDataViz.axis.visual.spec.js +2 -1
  73. package/ds-dataviz/DSDataViz.scroll.visual.spec.js +1 -0
  74. package/ds-dataviz/DSDataViz.ticks.visual.spec.js +2 -1
  75. package/ds-dialog/DSDialog.cases.visual.spec.js +3 -4
  76. package/ds-dialog/DSDialog.visual.spec.js +7 -14
  77. package/ds-dialog/DSDialogCO.js +5 -13
  78. package/ds-dialog/axe-core/DSDialog.error.axe-core.func.spec.js +24 -0
  79. package/ds-dialog/axe-core/DSDialog.info.axe-core.func.spec.js +24 -0
  80. package/ds-dialog/axe-core/DSDialog.scroll-body.axe-core.func.spec.js +24 -0
  81. package/ds-dialog/axe-core/DSDialog.success.axe-core.func.spec.js +24 -0
  82. package/ds-dialog/axe-core/DSDialog.warning.axe-core.spec.func.js +24 -0
  83. package/ds-dropdownmenu-v2/DSDDMenuV2.visual.spec.js +5 -5
  84. package/ds-form-combobox-multi/DSComboboxMultiCO.js +96 -1
  85. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +7 -3
  86. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.mouse.func.spec.js +25 -0
  87. package/ds-form-combobox-multi/menu-position/DSComboboxMulti.menu-position.visual.spec.js +42 -0
  88. package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.func.spec.js +100 -0
  89. package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.visual.spec.js +51 -0
  90. package/ds-form-combobox-single/DSComboboxSingleCO.js +97 -1
  91. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.mouse.func.spec.js +25 -0
  92. package/ds-form-combobox-single/menu-position/DSComboboxSingle.menu-position.visual.spec.js +93 -0
  93. package/ds-form-combobox-single/slots/DSComboboxSingle.slots.func.spec.js +100 -0
  94. package/ds-form-combobox-single/slots/DSComboboxSingle.slots.visual.spec.js +53 -0
  95. package/ds-form-date-range-picker/aria-disabled/DateRangePicker.applyAriaDisabled.keyboard-nav.func.spec.js +31 -5
  96. package/ds-form-date-time-picker/DSControlledDateTimePickerCO.js +7 -5
  97. package/ds-form-date-time-picker/date-input/DateInput.keyboard-nav.func.spec.js +2 -2
  98. package/ds-form-date-time-picker/date-time-full/DateTimeFull.applyAriaDisabled.axe-core.func.spec.js +1 -1
  99. package/ds-form-date-time-picker/date-time-full/DateTimeFull.axe-core.func.spec.js +25 -0
  100. package/ds-form-date-time-picker/date-time-full/DateTimePicker.applyAriaDisabled.keyboard-nav.func.spec.js +6 -1
  101. package/ds-form-date-time-picker/date-time-full/DateTimePicker.func.spec.js +32 -2
  102. package/ds-form-date-time-picker/date-time-full/DateTimePicker.keyboard-nav.func.spec.js +6 -1
  103. package/ds-form-date-time-picker/date-time-full/DateTimePicker.readOnly.keyboard-nav.func.spec.js +6 -1
  104. package/ds-form-date-time-picker/date-time-input/DateTimeInput.applyAriaDisabled.keyboard-nav.func.spec.js +40 -4
  105. package/ds-form-date-time-picker/showcase/DateTimePicker.applyAriaDisabled-showcase.visual.spec.js +2 -2
  106. package/ds-form-date-time-picker/showcase/DateTimePicker.readOnly-showcase.visual.spec.js +2 -2
  107. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItem.axe-core.func.spec.js +4 -1
  108. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +4 -0
  109. package/ds-form-native-select/NativeSelect.axe-core.func.spec.js +57 -0
  110. package/ds-form-native-select/NativeSelectCO.js +35 -0
  111. package/{ds-toggle → ds-form-toggle}/DSToggle.axe-core.func.spec.js +6 -2
  112. package/{ds-toggle → ds-form-toggle}/DSToggle.func.spec.js +13 -8
  113. package/{ds-toggle → ds-form-toggle}/DSToggle.visual.spec.js +2 -2
  114. package/{ds-toggle → ds-form-toggle}/DSToggleCO.js +1 -1
  115. package/ds-global-header/GlobalHeader.axe-core.func.spec.js +13 -0
  116. package/ds-global-header/GlobalHeaderCO.js +2 -0
  117. package/{ds-controlled-form → ds-hooks}/useMask/Number/UseNumberMask.func.spec.js +25 -12
  118. package/{ds-controlled-form → ds-hooks}/useMask/Number/UseNumberMask.visual.spec.js +4 -1
  119. package/{ds-controlled-form → ds-hooks}/useMask/Phone/UsePhoneMask.func.spec.js +1 -1
  120. package/{ds-controlled-form → ds-hooks}/useMask/Phone/UsePhoneMask.visual.spec.js +1 -1
  121. package/{ds-controlled-form → ds-hooks}/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +1 -1
  122. package/{ds-controlled-form → ds-hooks}/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +1 -1
  123. package/{ds-controlled-form → ds-hooks}/useMask/RegExp/UseRegExpMask.func.spec.js +1 -1
  124. package/{ds-controlled-form → ds-hooks}/useMask/SSN/UseSsnMask.func.spec.js +1 -1
  125. package/{ds-controlled-form → ds-hooks}/useMask/ZipCode/UseZipCodeMask.func.spec.js +1 -1
  126. package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.axe-core.func.spec.js +31 -0
  127. package/ds-menu-button/DSMenuButtonCO.js +2 -0
  128. package/ds-menu-button/basic/DSMenuButton.basic.func.spec.js +28 -0
  129. package/ds-menu-button/multiselect/DSMenuButton.axe-core.multiselect.func.spec.js +6 -1
  130. package/ds-menu-button/singleSelect/DSMenuButton.axe-core.singleSelect.func.spec.js +6 -1
  131. package/ds-menu-button/submenu/DSMenuButton.axe-core.subMenu.func.spec.js +7 -2
  132. package/ds-menu-item/DSMenuItems.visual.spec.js +8 -32
  133. package/ds-mobile/MobileDatePicker/MobileDatePicker.visual.spec.js +0 -13
  134. package/ds-modal-slide/ModalSlideCO.js +2 -0
  135. package/ds-notification-badge/DSNotificationBadge.axe-core.func.spec.js +1 -1
  136. package/ds-pagination/DSPagination.axe-core.func.spec.js +64 -0
  137. package/ds-pagination/DSPaginationCO.js +12 -0
  138. package/ds-pills-v2/DSPills.visual.spec.js +3 -1
  139. package/ds-pills-v2/selection/DSPills.axe-core.func.spec.js +6 -1
  140. package/ds-pills-v2/selection/DSPills.func.spec.js +32 -30
  141. package/ds-progress-indicator/DSProgressIndicator.axe-core.func.spec.js +31 -0
  142. package/ds-progress-indicator/DSProgressIndicator.func.spec.js +8 -3
  143. package/ds-progress-indicator/DSProgressIndicator.visual.spec.js +12 -2
  144. package/ds-progress-indicator/DSProgressIndicatorCO.js +5 -3
  145. package/ds-query-builder/DSQueryBuilder.visual.spec.js +10 -3
  146. package/ds-read-more/DSReadMore.func.spec.js +0 -58
  147. package/ds-read-more/DSReadMore.keyboard-nav.func.spec.js +66 -0
  148. package/ds-read-more/DSReadMore.slots.func.spec.js +58 -0
  149. package/ds-read-more/DSReadMore.slots.visual.spec.js +23 -0
  150. package/ds-read-more/DSReadMore.visual.spec.js +41 -17
  151. package/ds-read-more/DSReadMore.width-change.visual.spec.js +85 -0
  152. package/ds-read-more/DSReadMore.with-tooltip.func.spec.js +63 -0
  153. package/ds-read-more/DSReadMoreCO.js +20 -0
  154. package/ds-shuttle-v2/Dnd/DSShuttleV2.DnD.visual.spec.js +3 -0
  155. package/ds-shuttle-v2/basic/DSShuttleV2.keyboard.func.spec.js +0 -79
  156. package/ds-shuttle-v2/extra/DSShuttleV2.extra.func.spec.js +6 -2
  157. package/ds-shuttle-v2/extra/DSShuttleV2.extra.visual.spec.js +21 -0
  158. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.func.spec.js +8 -3
  159. package/ds-shuttle-v2/filtering/DSShuttleV2.filter.kb.func.spec.js +43 -0
  160. package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +3 -2
  161. package/ds-shuttle-v2/items/DSShuttleV2.items.kb.func.spec.js +1 -1
  162. package/ds-shuttle-v2/load-more/DSShuttleV2.load-more.keyboard.func.spec.js +61 -0
  163. package/ds-slider-v2/DSSliderV2.extra.func.spec.js +44 -0
  164. package/ds-slider-v2/DSSliderV2.func.spec.js +98 -0
  165. package/ds-slider-v2/DSSliderV2CO.js +8 -0
  166. package/ds-svg/DSSvg.axe-core.func.spec.js +32 -0
  167. package/ds-svg/DSSvgCO.js +2 -3
  168. package/ds-tabs/DSTabs.onTabChange.func.spec.js +33 -0
  169. package/ds-tabs/DSTabsCO.js +29 -1
  170. package/ds-tabs/slots/DSTabs.slots.func.spec.js +77 -0
  171. package/ds-tabs/slots/DSTabs.slots.visual.spec.js +49 -0
  172. package/ds-tabs/with-carousel/DSTabs.with-carousel.visual.spec.js +5 -4
  173. package/ds-tooltip-v3/DSTooltipV3CO.js +6 -2
  174. package/ds-treeview/DSTreeViewCO.js +8 -0
  175. package/ds-treeview/dragAndDrop/TreeView-dnd.func.spec.js +0 -50
  176. package/ds-treeview/dragAndDrop/TreeView-dnd_mouse.func.spec.js +61 -0
  177. package/package.json +188 -187
  178. package/paths.js +17 -1
  179. package/ds-dialog/DSDialog.smoke.spec.js +0 -133
  180. package/ds-slider-v2/DSSliderV2.skipped.js +0 -46
  181. /package/ds-form-combobox-multi/iframe/{DSComboboxMulti.insideIframe.func.spec.js → DSComboboxMulti.insideIframe.visual.spec.js} +0 -0
  182. /package/{ds-controlled-form → ds-hooks}/useMask/useMaskCO.js +0 -0
  183. /package/ds-indeterminate-progress-indicator/{DSIndetermintateProgressIndicator.func.spec.js → DSIndetermintateProgressIndicator.func.spec copy.js} +0 -0
@@ -2,7 +2,7 @@
2
2
  import { Key } from 'webdriverio';
3
3
  import UseMaskCO from '../useMaskCO';
4
4
  import { type } from '../../../helpers';
5
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
5
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
6
6
 
7
7
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
8
8
  describe('PUI-8167 - useNumberMask:: Currency', () => {
@@ -101,29 +101,34 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
101
101
  const errorOnGo = await UseMaskCO.numberURL.go();
102
102
  if (errorOnGo) throw errorOnGo;
103
103
  });
104
- it('01: all initial values should be displayed', async () => {
105
- const firstInput = await DSInputTextCO.getInputTextByIndex(0);
106
- const secondInput = await DSInputTextCO.getInputTextByIndex(1);
107
- const thirdInput = await DSInputTextCO.getInputTextByIndex(2);
108
- const fourthInput = await DSInputTextCO.getInputTextByIndex(3);
109
- await expect(firstInput).toHaveValue('20,030');
104
+ it('01: all initial values should be displayed correctly', async () => {
105
+ const firstInput = await DSInputTextCO.getInputTextByIndex(0); // No decimals allowed
106
+ const secondInput = await DSInputTextCO.getInputTextByIndex(1); // Allow Negative
107
+ const thirdInput = await DSInputTextCO.getInputTextByIndex(2); // Thousands Separator Not Included
108
+ const fourthInput = await DSInputTextCO.getInputTextByIndex(3); // Decimal required - initial value '1000.0'
109
+ const tenthInput = await DSInputTextCO.getInputTextByIndex(9); // Decimal required - initial value '1000'
110
+ await expect(firstInput).toHaveValue('200');
110
111
  await expect(secondInput).toHaveValue('-0.30');
111
112
  await expect(thirdInput).toHaveValue('10000000');
112
- await expect(fourthInput).toHaveValue('1,000.0');
113
+ await expect(fourthInput).toHaveValue('1,000.000');
114
+ await expect(tenthInput).toHaveValue('1,000.000');
113
115
  });
114
116
  it('02: should correctly clear all inputs', async () => {
115
- const firstInput = await DSInputTextCO.getInputTextByIndex(0);
116
- const secondInput = await DSInputTextCO.getInputTextByIndex(1);
117
- const thirdInput = await DSInputTextCO.getInputTextByIndex(2);
118
- const fourthInput = await DSInputTextCO.getInputTextByIndex(3);
117
+ const firstInput = await DSInputTextCO.getInputTextByIndex(0); // No decimals allowed
118
+ const secondInput = await DSInputTextCO.getInputTextByIndex(1); // Allow Negative
119
+ const thirdInput = await DSInputTextCO.getInputTextByIndex(2); // Thousands Separator Not Included
120
+ const fourthInput = await DSInputTextCO.getInputTextByIndex(3); // Decimal required - initial value '1000.0'
121
+ const tenthInput = await DSInputTextCO.getInputTextByIndex(9); // Decimal required - initial value '1000'
119
122
  await UseMaskCO.clearValue(firstInput);
120
123
  await UseMaskCO.clearValue(secondInput);
121
124
  await UseMaskCO.clearValue(thirdInput);
122
125
  await UseMaskCO.clearValue(fourthInput);
126
+ await UseMaskCO.clearValue(tenthInput);
123
127
  await expect(firstInput).toHaveValue('');
124
128
  await expect(secondInput).toHaveValue('');
125
129
  await expect(thirdInput).toHaveValue('');
126
130
  await expect(fourthInput).toHaveValue('');
131
+ await expect(tenthInput).toHaveValue('');
127
132
  });
128
133
  it('03: should correctly format the No decimal allowed input', async () => {
129
134
  const firstInput = await DSInputTextCO.getInputTextByIndex(4);
@@ -149,6 +154,14 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
149
154
  await type('.323952345');
150
155
  await expect(fourthInput).toHaveValue('0.323');
151
156
  });
157
+ it('07: should correctly format the Decimal Required input accordingly to the mask', async () => {
158
+ const tenthInput = await DSInputTextCO.getInputTextByIndex(9);
159
+ await tenthInput.click();
160
+ await tenthInput.clearValue();
161
+ await type('23952345');
162
+ await browser.keys([Key.Shift, Key.Tab]);
163
+ await expect(tenthInput).toHaveValue('23,952,345.000');
164
+ });
152
165
  });
153
166
  describe('PUI-8169 - useNumberMask:: Percent', () => {
154
167
  before('loading page', async () => {
@@ -1,6 +1,6 @@
1
1
  import { type } from '../../../helpers';
2
2
  import UseMaskCO from '../useMaskCO';
3
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
3
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
4
4
 
5
5
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
6
  describe('PUI-8175: UseNumberMask - visual', () => {
@@ -28,6 +28,9 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
28
28
  const eightInput = await DSInputTextCO.getInputTextByIndex(7);
29
29
  await eightInput.click();
30
30
  await type('123a4$bb56.1');
31
+ const ninthInput = await DSInputTextCO.getInputTextByIndex(8);
32
+ await ninthInput.click();
33
+ await type('123a4$bb56.1');
31
34
  await firstInput.click();
32
35
  const snapshot = await browser.checkSnapshot(UseMaskCO.snapshotPath('useMask-numbers-all-completed'));
33
36
  await expect(snapshot).toEqual(0);
@@ -1,6 +1,6 @@
1
1
  import { type } from '../../../helpers';
2
2
  import UseMaskCO from '../useMaskCO';
3
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
3
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
4
4
 
5
5
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
6
  describe('PUI-8170 - usePhoneMask:: Phone', () => {
@@ -1,6 +1,6 @@
1
1
  import UseMaskCO from '../useMaskCO';
2
2
  import { type } from '../../../helpers';
3
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
3
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
4
4
 
5
5
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
6
  describe('PUI-10142 - usePhoneMask:: Phone - visual', () => {
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-lines */
2
2
  import { type } from '../../../helpers';
3
3
  import UseMaskCO from '../useMaskCO';
4
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
4
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
5
5
 
6
6
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
7
  describe('PUI-9283 - useRegExpMask:: With React Hook Form', () => {
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-lines */
2
2
  import { type } from '../../../helpers';
3
3
  import UseMaskCO from '../useMaskCO';
4
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
4
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
5
5
 
6
6
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
7
  describe('PUI-10170 - useRegExpMask:: With React Hook Form - visual', () => {
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-lines */
2
2
  import { type } from '../../../helpers';
3
3
  import UseMaskCO from '../useMaskCO';
4
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
4
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
5
5
 
6
6
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
7
  describe('PUI-8171 - useRegExpMask:: RegExp', () => {
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-lines */
2
2
  import { type } from '../../../helpers';
3
3
  import UseMaskCO from '../useMaskCO';
4
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
4
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
5
5
 
6
6
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
7
  describe('PUI-8172 - useSSNMask -func', () => {
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-lines */
2
2
  import { type } from '../../../helpers';
3
3
  import UseMaskCO from '../useMaskCO';
4
- import DSInputTextCO from '../../ds-input-text/DSInputTextCO';
4
+ import DSInputTextCO from '../../../ds-controlled-form/ds-input-text/DSInputTextCO';
5
5
 
6
6
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
7
  describe('PUI-8173 - useZipCodeMask:: ZipCode', () => {
@@ -0,0 +1,31 @@
1
+ import DSIndeterminateProgressIndicatorCO from './DSIndeterminateProgressIndicatorCO';
2
+ import { axeCoreCheck } from '../helpers';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-17525 - IndeterminateProgressIndicator - dynamic title', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSIndeterminateProgressIndicatorCO.basicURL.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+ it('01: should pass accessibility check', async () => {
16
+ const title = await DSIndeterminateProgressIndicatorCO.getIndeterminateProgressIndicatorTitle();
17
+ await title.waitForDisplayed();
18
+ const result = await axeCoreCheck();
19
+ expect(result.length).toBe(0);
20
+ });
21
+ it('02: should display a diferent title after 3 seconds and pass accessibility check', async () => {
22
+ const title = await DSIndeterminateProgressIndicatorCO.getIndeterminateProgressIndicatorTitle();
23
+ await title.waitForDisplayed();
24
+ // eslint-disable-next-line wdio/no-pause
25
+ await browser.pause(3000);
26
+ await expect(title).toHaveText(expect.stringContaining('Title changed'));
27
+ const result = await axeCoreCheck();
28
+ expect(result.length).toBe(0);
29
+ });
30
+ });
31
+ }
@@ -7,6 +7,8 @@ export default class DSMenuButtonCO extends PageObject {
7
7
 
8
8
  static multipleSelectMenuItem = new Urlbuilder(PATH_E2E_MENU_BUTTON, 'multiple-select-menu-item');
9
9
 
10
+ static nextTabstopTest = new Urlbuilder(PATH_E2E_MENU_BUTTON, 'next-tabstop-test');
11
+
10
12
  static singleSelectMenuItem = new Urlbuilder(PATH_E2E_MENU_BUTTON, 'single-select-menu-item');
11
13
 
12
14
  static withSubmenuMenuItem = new Urlbuilder(PATH_E2E_MENU_BUTTON, 'with-submenu-menu-item');
@@ -0,0 +1,28 @@
1
+ /* eslint-disable max-statements */
2
+ import { Key } from 'webdriverio';
3
+ import DSMenuButtonCO from '../DSMenuButtonCO';
4
+ import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
5
+
6
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
+ describe('PUI-17414 - DSMenuButton:: Tab with expanded menu - Func', () => {
8
+ before('loading page', async () => {
9
+ const errorOnGo = await DSMenuButtonCO.nextTabstopTest.go();
10
+ if (errorOnGo) throw errorOnGo;
11
+ });
12
+ it('01: should trigger menuButton and have it displayed and focused', async () => {
13
+ const menuTrigger = await DSButtonV3CO.getButtonByLabel('MenuButton');
14
+ await menuTrigger.click();
15
+ const menuFlyOut = await DSMenuButtonCO.getMenuRoot();
16
+ const menuItem1 = await DSMenuButtonCO.getMenuItemOptByIndex(1);
17
+ await expect(menuItem1).toBeFocused();
18
+ await expect(menuFlyOut).toBeDisplayed();
19
+ });
20
+ it('02: should tab and go to the next IE after trigger', async () => {
21
+ const menuFlyOut = await DSMenuButtonCO.getMenuRoot();
22
+ await browser.keys(Key.Tab);
23
+ const normalButton = await DSButtonV3CO.getButtonByIndex(1);
24
+ await expect(menuFlyOut).not.toBeDisplayed();
25
+ await expect(normalButton).toBeFocused();
26
+ });
27
+ });
28
+ }
@@ -2,7 +2,12 @@ import { axeCoreCheck } from '../../helpers';
2
2
  import DSMenuButtonCO from '../DSMenuButtonCO';
3
3
  import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
4
4
 
5
- if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ if (
6
+ (!browser.capabilities['ice:options'].isPhone &&
7
+ !browser.capabilities['ice:options'].isTablet &&
8
+ browser.capabilities.browserName === 'Chrome') ||
9
+ browser.capabilities.browserName === 'chrome'
10
+ ) {
6
11
  describe('PUI-14642 - DSMenuButton:: Multi Select Menu Item - AxeCore', () => {
7
12
  before('loading page', async () => {
8
13
  const errorOnGo = await DSMenuButtonCO.multipleSelectMenuItem.go();
@@ -2,7 +2,12 @@ import { axeCoreCheck } from '../../helpers';
2
2
  import DSMenuButtonCO from '../DSMenuButtonCO';
3
3
  import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
4
4
 
5
- if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ if (
6
+ (!browser.capabilities['ice:options'].isPhone &&
7
+ !browser.capabilities['ice:options'].isTablet &&
8
+ browser.capabilities.browserName === 'Chrome') ||
9
+ browser.capabilities.browserName === 'chrome'
10
+ ) {
6
11
  describe('PUI-14643 - DSMenuButton:: Single Select Menu Item - AxeCore', () => {
7
12
  before('loading page', async () => {
8
13
  const errorOnGo = await DSMenuButtonCO.singleSelectMenuItem.go();
@@ -3,7 +3,12 @@ import { axeCoreCheck } from '../../helpers';
3
3
  import DSMenuButtonCO from '../DSMenuButtonCO';
4
4
  import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
5
5
 
6
- if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
+ if (
7
+ (!browser.capabilities['ice:options'].isPhone &&
8
+ !browser.capabilities['ice:options'].isTablet &&
9
+ browser.capabilities.browserName === 'Chrome') ||
10
+ browser.capabilities.browserName === 'chrome'
11
+ ) {
7
12
  describe('PUI-14644 - DSMenuButton:: Submenu Menu Item && Action Menu Item - AxeCore', () => {
8
13
  before('loading page', async () => {
9
14
  const errorOnGo = await DSMenuButtonCO.withSubmenuMenuItem.go();
@@ -13,7 +18,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
13
18
  const menuTrigger = await DSButtonV3CO.getButtonByLabel('Submenus example');
14
19
  await menuTrigger.click();
15
20
  await browser.keys(Key.ArrowRight);
16
- const result = await axeCoreCheck({ selector: "[data-testid='ds-cardv3-root']" });
21
+ const result = await axeCoreCheck({ selector: "[id='ds-sb-main']" });
17
22
  expect(result.length).toBe(0);
18
23
  });
19
24
  });
@@ -10,10 +10,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
10
10
  it('01: should display action menu items correctly', async () => {
11
11
  const menuItemWrapper = await DSMenuItems.getMenuItemsWrapper();
12
12
  await menuItemWrapper.waitForDisplayed();
13
- const snapshot = await browser.checkRegionSnapshot(
14
- DSMenuItems.snapshotPath('ds-menu-items-action-menu'),
15
- menuItemWrapper,
16
- );
13
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-action-menu'));
17
14
  await expect(snapshot).toEqual(0);
18
15
  });
19
16
  it('02: should display action menu items correctly - hover and click', async () => {
@@ -25,10 +22,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
25
22
  await mouseOver(menuItem2, 40);
26
23
  // eslint-disable-next-line wdio/no-pause
27
24
  await browser.pause(300);
28
- const snapshot = await browser.checkRegionSnapshot(
29
- DSMenuItems.snapshotPath('ds-menu-items-action-menu-states'),
30
- menuItemWrapper,
31
- );
25
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-action-menu-states'));
32
26
  await expect(snapshot).toEqual(0);
33
27
  });
34
28
  });
@@ -40,10 +34,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
40
34
  it('01: should display single menu items correctly', async () => {
41
35
  const menuItemWrapper = await DSMenuItems.getMenuItemsWrapper();
42
36
  await menuItemWrapper.waitForDisplayed();
43
- const snapshot = await browser.checkRegionSnapshot(
44
- DSMenuItems.snapshotPath('ds-menu-items-single-menu'),
45
- menuItemWrapper,
46
- );
37
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-single-menu'));
47
38
  await expect(snapshot).toEqual(0);
48
39
  });
49
40
  it('02: should display single menu items correctly - hover and click', async () => {
@@ -53,10 +44,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
53
44
  const menuItem2 = await DSMenuItems.getMenuItem('2');
54
45
  await menuItem1.click();
55
46
  await mouseOver(menuItem2);
56
- const snapshot = await browser.checkRegionSnapshot(
57
- DSMenuItems.snapshotPath('ds-menu-items-single-menu-states'),
58
- menuItemWrapper,
59
- );
47
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-single-menu-states'));
60
48
  await expect(snapshot).toEqual(0);
61
49
  });
62
50
  });
@@ -68,10 +56,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
68
56
  it('01: should display action menu items correctly', async () => {
69
57
  const menuItemWrapper = await DSMenuItems.getMenuItemsWrapper();
70
58
  await menuItemWrapper.waitForDisplayed();
71
- const snapshot = await browser.checkRegionSnapshot(
72
- DSMenuItems.snapshotPath('ds-menu-items-multi-menu'),
73
- menuItemWrapper,
74
- );
59
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-multi-menu'));
75
60
  await expect(snapshot).toEqual(0);
76
61
  });
77
62
  it('02: should display action menu items correctly - hover and click', async () => {
@@ -83,10 +68,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
83
68
  await menuItem1.click();
84
69
  await menuItem3.click();
85
70
  await mouseOver(menuItem2);
86
- const snapshot = await browser.checkRegionSnapshot(
87
- DSMenuItems.snapshotPath('ds-menu-items-multi-menu-states'),
88
- menuItemWrapper,
89
- );
71
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-multi-menu-states'));
90
72
  await expect(snapshot).toEqual(0);
91
73
  });
92
74
  });
@@ -98,10 +80,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
98
80
  it('01: should display section menu items correctly', async () => {
99
81
  const menuItemWrapper = await DSMenuItems.getMenuItemsWrapper();
100
82
  await menuItemWrapper.waitForDisplayed();
101
- const snapshot = await browser.checkRegionSnapshot(
102
- DSMenuItems.snapshotPath('ds-menu-items-section-menu'),
103
- menuItemWrapper,
104
- );
83
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-section-menu'));
105
84
  await expect(snapshot).toEqual(0);
106
85
  });
107
86
  it('02: should display section menu items correctly - hover and click', async () => {
@@ -113,10 +92,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
113
92
  await menuItem1.click({ x: 50 });
114
93
  await menuItem3.click({ x: 50 });
115
94
  await mouseOver(menuItem2);
116
- const snapshot = await browser.checkRegionSnapshot(
117
- DSMenuItems.snapshotPath('ds-menu-items-section-menu-states'),
118
- menuItemWrapper,
119
- );
95
+ const snapshot = await browser.checkSnapshot(DSMenuItems.snapshotPath('ds-menu-items-section-menu-states'));
120
96
  await expect(snapshot).toEqual(0);
121
97
  });
122
98
  });
@@ -11,18 +11,5 @@ if (MobileDatePickerCO.isPhone()) {
11
11
  const snapshot = await browser.checkSnapshot(MobileDatePickerCO.snapshotPath());
12
12
  await expect(snapshot).toEqual(0);
13
13
  });
14
-
15
- // TODO uncomment when checkRegionSnapshot is ready in e2e testing library
16
- // eslint-disable-next-line jest/no-commented-out-tests
17
- // it('basic with focus', async () => {
18
- // browser.url(MobileDatePickerCO.getUrl())
19
- // MobileDatePickerCO.clickInput()
20
- // const inputSize = MobileDatePickerCO.getInput().getSize()
21
- // const inputLocation = MobileDatePickerCO.getInput().getLocation()
22
- // expect(await browser.checkRegionSnapshot('mobiledatepicker--focus', {
23
- // ...inputLocation,
24
- // ...inputSize,
25
- // })).toEqual(0)
26
- // })
27
14
  });
28
15
  }
@@ -85,6 +85,8 @@ export default class ModalSlideCO extends PageObject {
85
85
  static async openModalSlide() {
86
86
  await (await this.getOpenModalSlideBtn()).click();
87
87
  await (await this.getModalSlide()).waitForDisplayed();
88
+ // eslint-disable-next-line wdio/no-pause
89
+ await browser.pause(500); // pause to allow animation to finish
88
90
  }
89
91
 
90
92
  // Snapshots
@@ -47,7 +47,7 @@ if (
47
47
  });
48
48
  });
49
49
  // Defect PUI-14981
50
- describe('PUI-11417:: [NotificationBadge] Chip, Icon and Button integration - Axe-core Validation', () => {
50
+ describe.skip('PUI-11417:: [NotificationBadge] Chip, Icon and Button integration - Axe-core Validation', () => {
51
51
  before('loading page', async () => {
52
52
  const errorOnGo = await DSNotificationBadgeCO.componentCasesTest.go();
53
53
  if (errorOnGo) throw errorOnGo;
@@ -0,0 +1,64 @@
1
+ import DSPaginationCO from './DSPaginationCO';
2
+ import { axeCoreCheck } from '../helpers';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-17494: Pagination basic -AxeCore', () => {
11
+ beforeEach('loading page', async () => {
12
+ const errorOnGo = await DSPaginationCO.basicTest.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+ it('01: should display the basic pagination closed and pass axe-core', async () => {
16
+ const result = await axeCoreCheck();
17
+ expect(result.length).toBe(0);
18
+ });
19
+ it('02: should display the dropdown menu open and pass axe-core', async () => {
20
+ const ddMenuButton = await DSPaginationCO.getDropDownMenuBtn();
21
+ await ddMenuButton.click();
22
+ const listbox = await DSPaginationCO.getDropDownMenu();
23
+ await listbox.waitForDisplayed();
24
+ const result = await axeCoreCheck();
25
+ expect(result.length).toBe(0);
26
+ });
27
+ });
28
+ describe('PUI-17495: Pagination Segmented -AxeCore', () => {
29
+ beforeEach('loading page', async () => {
30
+ const errorOnGo = await DSPaginationCO.segmentedPaginatorTest.go();
31
+ if (errorOnGo) throw errorOnGo;
32
+ });
33
+ it('01: should display the segmented pagination closed and pass axe-core', async () => {
34
+ const result = await axeCoreCheck();
35
+ expect(result.length).toBe(0);
36
+ });
37
+ it('02: should display the dropdown menu open and pass axe-core', async () => {
38
+ const ddMenuButton = await DSPaginationCO.getDropDownMenuBtn();
39
+ await ddMenuButton.click();
40
+ const listbox = await DSPaginationCO.getDropDownMenu();
41
+ await listbox.waitForDisplayed();
42
+ const result = await axeCoreCheck();
43
+ expect(result.length).toBe(0);
44
+ });
45
+ });
46
+ describe('PUI-17496: Pagination Per Page Selector -AxeCore', () => {
47
+ beforeEach('loading page', async () => {
48
+ const errorOnGo = await DSPaginationCO.perPageSelectorWithOptionsTest.go();
49
+ if (errorOnGo) throw errorOnGo;
50
+ });
51
+ it('01: should display the per page selector pagination closed and pass axe-core', async () => {
52
+ const result = await axeCoreCheck();
53
+ expect(result.length).toBe(0);
54
+ });
55
+ it('02: should display the dropdown menu open and pass axe-core', async () => {
56
+ const ddMenuButton = await DSPaginationCO.getPerPageSelector();
57
+ await ddMenuButton.click();
58
+ const listbox = await DSPaginationCO.getDropDownMenu();
59
+ await listbox.waitForDisplayed();
60
+ const result = await axeCoreCheck();
61
+ expect(result.length).toBe(0);
62
+ });
63
+ });
64
+ }
@@ -5,6 +5,14 @@ export default class DSPaginationCO extends PageObject {
5
5
  // Desktop
6
6
  static customPageSizeComponentTest = new Urlbuilder(PATH_E2E_PAGINATION, 'custom-page-size-test');
7
7
 
8
+ static segmentedPaginatorTest = new Urlbuilder(PATH_E2E_PAGINATION, 'segmented-paginator-test');
9
+
10
+ static basicTest = new Urlbuilder(PATH_E2E_PAGINATION, 'basic-test');
11
+
12
+ static perPageSelectorWithOptionsTest = new Urlbuilder(PATH_E2E_PAGINATION, 'per-page-selector-with-options-test');
13
+
14
+ static perPageSelectorWithStepTest = new Urlbuilder(PATH_E2E_PAGINATION, 'per-page-selector-with-step-test');
15
+
8
16
  static getUrl(component = 'custom-page-size-test') {
9
17
  return PageObject.getUrl(PATH_E2E_PAGINATION, component);
10
18
  }
@@ -33,6 +41,10 @@ export default class DSPaginationCO extends PageObject {
33
41
 
34
42
  static getCustomLegend = async () => $('[data-testid="custom-legend"]');
35
43
 
44
+ static getDropDownMenuBtn = async () => $('[data-testid="ds-pagination-paginator"]');
45
+
46
+ static getPerPageSelector = async () => $('[data-testid="ds-pagination-per-page-selector"]');
47
+
36
48
  // Snapshots
37
49
  static snapshotPath(example = 'basic') {
38
50
  return PageObject.getSnapshotPathBuilder('PageNumber', example);
@@ -36,13 +36,15 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
36
36
  before('loading page', async () => {
37
37
  const errorOnGo = await DSPillsV2CO.readonlyURL.go();
38
38
  if (errorOnGo) throw errorOnGo;
39
+ await browser.maximizeWindow();
39
40
  });
40
41
  it('should correctly display the readonly pills', async () => {
42
+ await browser.eyesOpen();
41
43
  const readonlyPill = await DSPillsV2CO.getIconByIndex(0);
42
44
  const otherReadonlyPill = await DSPillsV2CO.getIconByIndex(2);
43
45
  await readonlyPill.click();
44
46
  await mouseOver(otherReadonlyPill);
45
- const snapshot = await browser.checkSnapshot(DSPillsV2CO.snapshotPath('pills-v2-readonly'));
47
+ const snapshot = await browser.eyesCheckSnapshot(DSPillsV2CO.snapshotPath('pills-v2-readonly'));
46
48
  await expect(snapshot).toEqual(0);
47
49
  });
48
50
  });
@@ -3,7 +3,12 @@ import { Key } from 'webdriverio';
3
3
  import DSPillsV2CO from '../DSPillsV2CO';
4
4
  import { axeCoreCheck } from '../../helpers';
5
5
 
6
- if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
+ if (
7
+ (!browser.capabilities['ice:options'].isPhone &&
8
+ !browser.capabilities['ice:options'].isTablet &&
9
+ browser.capabilities.browserName === 'chrome') ||
10
+ browser.capabilities.browserName === 'Chrome'
11
+ ) {
7
12
  describe('PUI-14708 - PillsV2 Selection: Single Select -AxeCore', () => {
8
13
  before('loading page', async () => {
9
14
  const errorOnGo = await DSPillsV2CO.singleSelectMB.go();
@@ -4,37 +4,39 @@ import DSPillsV2CO from '../DSPillsV2CO';
4
4
  import DSMenuButtonCO from '../../ds-menu-button/DSMenuButtonCO';
5
5
 
6
6
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
- describe('PUI-14703 - Pills v2: Selection: KB, multi', () => {
8
- before('loading page', async () => {
9
- const errorOnGo = await DSPillsV2CO.multiSelectMB.go();
10
- if (errorOnGo) throw errorOnGo;
11
- });
12
- it('01: should have multi select expanded, no selection, no minipill', async () => {
13
- await browser.keys(Key.Tab);
14
- await browser.keys(Key.Return);
15
- const pills = await DSPillsV2CO.getPills();
16
- const howManyPills = pills.length;
17
- const menu = await DSMenuButtonCO.getMenuRoot();
18
- await expect(menu).toBeDisplayedInViewport();
19
- await expect(howManyPills).toEqual(1); // The selection pill, no values pills displayed
20
- });
21
- it('02: should have multi select with two options selected, expanded, with two minipills', async () => {
22
- await browser.keys(Key.ArrowDown);
23
- await browser.keys(Key.Space);
24
- await browser.keys(Key.ArrowDown);
25
- await browser.keys(Key.Space);
26
- const pills = await DSPillsV2CO.getPills();
27
- const howManyPills = pills.length;
28
- const menu = await DSMenuButtonCO.getMenuRoot();
29
- const minipillLabel1 = await (await DSPillsV2CO.getPillsTextByIndex(1)).getText();
30
- const minipillLabel2 = await (await DSPillsV2CO.getPillsTextByIndex(2)).getText();
31
- await expect(minipillLabel1).toEqual('Bold');
32
- await expect(minipillLabel2).toEqual('Underlined');
33
- await expect(menu).toBeDisplayedInViewport();
34
- await expect(howManyPills).toEqual(3);
7
+ // PUI-14703 has wrong behaviour with automation + safari. Not reproducible/Not fixable.
8
+ if (browser.capabilities.browserName !== 'Safari') {
9
+ describe('PUI-14703 - Pills v2: Selection: KB, multi', () => {
10
+ before('loading page', async () => {
11
+ const errorOnGo = await DSPillsV2CO.multiSelectMB.go();
12
+ if (errorOnGo) throw errorOnGo;
13
+ });
14
+ it('01: should have multi select expanded, no selection, no minipill', async () => {
15
+ await browser.keys(Key.Tab);
16
+ await browser.keys(Key.Return);
17
+ const pills = await DSPillsV2CO.getPills();
18
+ const howManyPills = pills.length;
19
+ const menu = await DSMenuButtonCO.getMenuRoot();
20
+ await expect(menu).toBeDisplayedInViewport();
21
+ await expect(howManyPills).toEqual(1); // The selection pill, no values pills displayed
22
+ });
23
+ it('02: should have multi select with two options selected, expanded, with two minipills', async () => {
24
+ await browser.keys(Key.ArrowDown);
25
+ await browser.keys(Key.Space);
26
+ await browser.keys(Key.ArrowDown);
27
+ await browser.keys(Key.Space);
28
+ const pills = await DSPillsV2CO.getPills();
29
+ const howManyPills = pills.length;
30
+ const menu = await DSMenuButtonCO.getMenuRoot();
31
+ const minipillLabel1 = await (await DSPillsV2CO.getPillsTextByIndex(1)).getText();
32
+ const minipillLabel2 = await (await DSPillsV2CO.getPillsTextByIndex(2)).getText();
33
+ await expect(minipillLabel1).toEqual('Bold');
34
+ await expect(minipillLabel2).toEqual('Underlined');
35
+ await expect(menu).toBeDisplayedInViewport();
36
+ await expect(howManyPills).toEqual(3);
37
+ });
35
38
  });
36
- });
37
-
39
+ }
38
40
  describe('PUI-14702 - Pills v2: Selection: MOUSE, single', () => {
39
41
  before('loading page', async () => {
40
42
  const errorOnGo = await DSPillsV2CO.singleSelectMB.go();