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
@@ -5,7 +5,7 @@ import { type } from '../../helpers';
5
5
  import DateRangePickerCO from '../DateRangePickerCO';
6
6
 
7
7
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
8
- describe('PUI-15593 - DateTimePicker:: ApplyAriaDisabled: keyboard navigation', () => {
8
+ describe('PUI-16204 - DateTimePicker:: ApplyAriaDisabled: keyboard navigation', () => {
9
9
  before('loading page', async () => {
10
10
  const errorOnGo = await DateRangePickerCO.applyAriaDisabled.go();
11
11
  if (errorOnGo) throw errorOnGo;
@@ -75,17 +75,43 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
75
75
  const picker = await DateRangePickerCO.getPickerBtn();
76
76
  await expect(picker).toBeFocused();
77
77
  });
78
- it('14: should not open the calendar - "Enter"', async () => {
78
+ it('14: should open the calendar - "Enter"', async () => {
79
79
  await browser.keys(Key.Enter);
80
80
  const calendar = await DateRangePickerCO.getControllerCalendar();
81
+ await expect(calendar).toBeDisplayed();
82
+ });
83
+ it('15: should close the calendar - "Escape"', async () => {
84
+ await browser.keys(Key.Escape);
85
+ const calendar = await DateRangePickerCO.getControllerCalendar();
81
86
  await expect(calendar).not.toBeDisplayed();
82
87
  });
83
- it('15: should not open the calendar - "Space"', async () => {
88
+ it('16: should open the calendar - "Space"', async () => {
84
89
  await browser.keys(Key.Space);
85
90
  const calendar = await DateRangePickerCO.getControllerCalendar();
86
- await expect(calendar).not.toBeDisplayed();
91
+ await expect(calendar).toBeDisplayed();
87
92
  });
88
- it('16: should return to month input - "Shift+Tab"', async () => {
93
+ it('17: should not change "from" and "to" dates', async () => {
94
+ await browser.keys(Key.ArrowDown);
95
+ await browser.keys(Key.ArrowDown);
96
+ await browser.keys(Key.ArrowDown);
97
+ await browser.keys(Key.Enter);
98
+
99
+ const fromMonth = await DateRangePickerCO.getMonthInputByIndex(0);
100
+ const fromDay = await DateRangePickerCO.getDayInputByIndex(0);
101
+ const fromYear = await DateRangePickerCO.getYearInputByIndex(0);
102
+ const toMonth = await DateRangePickerCO.getMonthInputByIndex(1);
103
+ const toDay = await DateRangePickerCO.getDayInputByIndex(1);
104
+ const toYear = await DateRangePickerCO.getYearInputByIndex(1);
105
+
106
+ await expect(fromMonth).toHaveValue('12');
107
+ await expect(fromDay).toHaveValue('04');
108
+ await expect(fromYear).toHaveValue('2024');
109
+ await expect(toMonth).toHaveValue('12');
110
+ await expect(toDay).toHaveValue('19');
111
+ await expect(toYear).toHaveValue('2024');
112
+ });
113
+ it('18: should return to month input - "Shift+Tab"', async () => {
114
+ await browser.keys(Key.Escape);
89
115
  await browser.keys([Key.Shift, Key.Tab]);
90
116
  await browser.keys([Key.Shift, Key.Tab]);
91
117
  await browser.keys([Key.Shift, Key.Tab]);
@@ -29,15 +29,17 @@ export default class DSDateTimePickerCO extends PageObject {
29
29
 
30
30
  static dateAndDatePicker = new Urlbuilder(PATH_E2E_FORM_DATE, 'date-and-date-picker-test');
31
31
 
32
- static basic = new Urlbuilder(PATH_E2E_FORM_DATE, 'basic-test');
33
-
34
32
  // date-time
33
+ static basic = new Urlbuilder(PATH_E2E_FORM_DATE_TIME, 'basic-test');
34
+
35
35
  static invalidSelectionDateTime = new Urlbuilder(PATH_E2E_FORM_DATE_TIME, 'invalid-selection-date-time-test');
36
36
 
37
37
  static dateTimeFull = new Urlbuilder(PATH_E2E_FORM_DATE_TIME, 'date-time-full');
38
38
 
39
39
  static dateTimeOnly = new Urlbuilder(PATH_E2E_FORM_DATE_TIME, 'date-time-only-test');
40
40
 
41
+ static PUI17084updatingValues = new Urlbuilder(PATH_E2E_FORM_DATE_TIME, 'pui-17084-updatingvalues');
42
+
41
43
  static dateTimePickerControlledOnly = new Urlbuilder(
42
44
  PATH_E2E_FORM_DATE_TIME,
43
45
  'date-time-picker-controller-only-test',
@@ -193,7 +195,7 @@ export default class DSDateTimePickerCO extends PageObject {
193
195
  }
194
196
 
195
197
  static getYearInputByIndex = async (index = 0) =>
196
- $(`[data-testid="ds-controlled-date-time-picker-year-input"]`)[index];
198
+ $$(`[data-testid="ds-controlled-date-time-picker-year-input"]`)[index];
197
199
 
198
200
  // TIME INPUTS
199
201
  static async getHourInput(testId) {
@@ -279,10 +281,10 @@ export default class DSDateTimePickerCO extends PageObject {
279
281
  static getTimeWheelPrevMinute = async () => $(`[data-testid="ds-controlled-date-time-picker-timewheel-prev-minute"]`);
280
282
 
281
283
  static getTimeWheelMinute = async (value) =>
282
- $(`//button[@data-testid="ds-controlled-date-time-picker-timewheel-minute"][text()="${value}"]`);
284
+ $(`[data-testid="ds-controlled-date-time-picker-timewheel-minute"]*=${value}`);
283
285
 
284
286
  static getTimeWheelMeridiemByValue = async (value) =>
285
- $(`//button[@data-testid="ds-controlled-date-time-picker-timewheel-meridiem"][text()="${value}"]`);
287
+ $(`[data-testid="ds-controlled-date-time-picker-timewheel-meridiem"]*=${value}`);
286
288
 
287
289
  static getTimeWheelCurrentMinute = async () =>
288
290
  $(`[data-testid="ds-controlled-date-time-picker-timewheel-current-minute"]`);
@@ -131,7 +131,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
131
131
  });
132
132
  });
133
133
  describe('PUI-9614 - DSControlledDateTimePicker:: DateInput: keyboard nav - Regressive Backspace', () => {
134
- beforeEach('loading page', async () => {
134
+ before('loading page', async () => {
135
135
  const errorOnGo = await DateTimePickerCO.dateShowcase.go();
136
136
  if (errorOnGo) throw errorOnGo;
137
137
  });
@@ -145,7 +145,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
145
145
  await expect(month).toHaveValue(expect.stringContaining('01'));
146
146
  await expect(day).toHaveValue(expect.stringContaining('02'));
147
147
  await expect(year).toHaveValue(expect.stringContaining('0732'));
148
- await DateTimePickerCO.pressBackspace(8);
148
+ await DateTimePickerCO.pressBackspace(10);
149
149
  await expect(month).toHaveValue(expect.stringContaining(''));
150
150
  await expect(day).toHaveValue(expect.stringContaining(''));
151
151
  await expect(year).toHaveValue(expect.stringContaining(''));
@@ -10,7 +10,7 @@ if (
10
10
  browser.capabilities.browserName === 'chrome') ||
11
11
  browser.capabilities.browserName === 'Chrome'
12
12
  ) {
13
- describe('PUI-15586 - DateTimeFull:: applyAriaDisabled - AxeCore', () => {
13
+ describe('PUI-16974 - DateTimeFull:: applyAriaDisabled - AxeCore', () => {
14
14
  before('loading page', async () => {
15
15
  const errorOnGo = await DateTimePickerCO.dateTimeFullApplyAriaDisabled.go();
16
16
  if (errorOnGo) throw errorOnGo;
@@ -0,0 +1,25 @@
1
+ /* eslint-disable prettier/prettier */
2
+ /* eslint-disable max-len */
3
+ /* eslint-disable max-lines */
4
+ import { axeCoreCheck } from '../../helpers';
5
+ import DateTimePickerCO from '../DSControlledDateTimePickerCO';
6
+
7
+ if (
8
+ (!browser.capabilities['ice:options'].isPhone &&
9
+ !browser.capabilities['ice:options'].isTablet &&
10
+ browser.capabilities.browserName === 'chrome') ||
11
+ browser.capabilities.browserName === 'Chrome'
12
+ ) {
13
+ describe('PUI-16975 - DateTimeFull:: basic - AxeCore', () => {
14
+ before('loading page', async () => {
15
+ const errorOnGo = await DateTimePickerCO.dateTimeFull.go();
16
+ if (errorOnGo) throw errorOnGo;
17
+ });
18
+ it('01: should display a date time full and pass axe-core scan', async () => {
19
+ const picker = await DateTimePickerCO.getCalendarTimeWheelPickerBtn();
20
+ await picker.click();
21
+ const result = await axeCoreCheck();
22
+ expect(result.length).toBe(0);
23
+ });
24
+ });
25
+ }
@@ -138,7 +138,12 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
138
138
  const hourBtn = await DateTimePickerCO.getTimeWheelCurrentHour();
139
139
  await expect(hourBtn).toBeFocused();
140
140
  });
141
- it('25: should close calendar - Escape', async () => {
141
+ it('25: should focus selected day - Shift+Tab', async () => {
142
+ await browser.keys([Key.Shift, Key.Tab]);
143
+ const selectedDay = await DateTimePickerCO.getCalendarFocusedDay();
144
+ await expect(selectedDay).toBeFocused();
145
+ });
146
+ it('26: should close calendar - Escape', async () => {
142
147
  await browser.keys(Key.Escape);
143
148
  const calendar = await DateTimePickerCO.getControllerCalendarTimeWheel();
144
149
  const picker = await DateTimePickerCO.getCalendarTimeWheelPickerBtn();
@@ -85,16 +85,46 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
85
85
  });
86
86
  });
87
87
  describe('PUI-16076 - DateTimePicker:: focus current day -Func', () => {
88
- before('loading page', async () => {
88
+ beforeEach('loading page', async () => {
89
89
  const errorOnGo = await DateTimePickerCO.basic.go();
90
90
  if (errorOnGo) throw errorOnGo;
91
91
  });
92
92
  it('01: should focus current day when openend calendar', async () => {
93
93
  const currentDay = await new Date().getDate().toString();
94
- const dateTrigger = await DateTimePickerCO.getCalendarTimeWheelPickerBtn();
94
+ const dateTrigger = await DateTimePickerCO.getCalendarTimeWheelPickerBtnByIndex(0);
95
95
  await dateTrigger.click();
96
96
  const focusedDay = await DateTimePickerCO.getCalendarFocusedDay();
97
97
  await expect(await focusedDay.getText()).toBe(currentDay);
98
98
  });
99
+ it('02: should focus selected day when openend calendar', async () => {
100
+ const dateTrigger = await DateTimePickerCO.getCalendarTimeWheelPickerBtnByIndex(1);
101
+ await dateTrigger.click();
102
+ const focusedDay = await DateTimePickerCO.getCalendarSelectedFocusedDay();
103
+ await expect(await focusedDay.getText()).toBe('3');
104
+ });
105
+ });
106
+
107
+ describe('PUI-17240 - DateTimePicker:: Not to remove prepopulated values when changing time -Func', () => {
108
+ before('loading page', async () => {
109
+ const errorOnGo = await DateTimePickerCO.PUI17084updatingValues.go();
110
+ if (errorOnGo) throw errorOnGo;
111
+ });
112
+ it('01: should change the time and the date should be maintained', async () => {
113
+ const defaultDayInput = await (await DateTimePickerCO.getDayInputByIndex()).getAttribute('value'); // 19
114
+ const dateTrigger = await DateTimePickerCO.getCalendarTimeWheelPickerBtnByIndex(0);
115
+ await dateTrigger.click();
116
+ const nextHour = await DateTimePickerCO.getTimeWheelNextHour();
117
+ await nextHour.click(); // This sets time at 06
118
+ const focusedDay = await (await DateTimePickerCO.getCalendarSelectedFocusedDay()).getAttribute('aria-label');
119
+ const dayInput = await (await DateTimePickerCO.getDayInputByIndex()).getAttribute('value');
120
+ const monthInput = await (await DateTimePickerCO.getMonthInputByIndex()).getAttribute('value');
121
+ const yearInput = await (await DateTimePickerCO.getYearInputByIndex()).getAttribute('value');
122
+ const hourInput = await (await DateTimePickerCO.getHourInput()).getAttribute('value');
123
+ await expect(focusedDay).toEqual('August ninteenth 2025, Tuesday');
124
+ await expect(dayInput).toEqual(defaultDayInput);
125
+ await expect(hourInput).toEqual('06');
126
+ await expect(monthInput).toEqual('08');
127
+ await expect(yearInput).toEqual('2025');
128
+ });
99
129
  });
100
130
  }
@@ -137,7 +137,12 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
137
137
  const hourBtn = await DateTimePickerCO.getTimeWheelCurrentHour();
138
138
  await expect(hourBtn).toBeFocused();
139
139
  });
140
- it('25: should close calendar - Escape', async () => {
140
+ it('25: should focus selected day - Shift+Tab', async () => {
141
+ await browser.keys([Key.Shift, Key.Tab]);
142
+ const selectedDay = await DateTimePickerCO.getCalendarSelectedFocusedDay();
143
+ await expect(selectedDay).toBeFocused();
144
+ });
145
+ it('26: should close calendar - Escape', async () => {
141
146
  await browser.keys(Key.Escape);
142
147
  const calendar = await DateTimePickerCO.getControllerCalendarTimeWheel();
143
148
  const picker = await DateTimePickerCO.getCalendarTimeWheelPickerBtn();
@@ -138,7 +138,12 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
138
138
  const hourBtn = await DateTimePickerCO.getTimeWheelCurrentHour();
139
139
  await expect(hourBtn).toBeFocused();
140
140
  });
141
- it('25: should close calendar - Escape', async () => {
141
+ it('25: should focus selected day - Shift+Tab', async () => {
142
+ await browser.keys([Key.Shift, Key.Tab]);
143
+ const selectedDay = await DateTimePickerCO.getCalendarFocusedDay();
144
+ await expect(selectedDay).toBeFocused();
145
+ });
146
+ it('26: should close calendar - Escape', async () => {
142
147
  await browser.keys(Key.Escape);
143
148
  const calendar = await DateTimePickerCO.getControllerCalendarTimeWheel();
144
149
  const picker = await DateTimePickerCO.getCalendarTimeWheelPickerBtn();
@@ -75,17 +75,53 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
75
75
  const picker = await DateTimePickerCO.getCalendarTimeWheelPickerBtn();
76
76
  await expect(picker).toBeFocused();
77
77
  });
78
- it('14: should not open the calendar - "Enter"', async () => {
78
+ it('14: should open the calendar - "Enter"', async () => {
79
79
  await browser.keys(Key.Enter);
80
80
  const calendar = await DateTimePickerCO.getControllerCalendar();
81
+ await expect(calendar).toBeDisplayed();
82
+ });
83
+ it('15: should close the calendar - "Escape"', async () => {
84
+ await browser.keys(Key.Escape);
85
+ const calendar = await DateTimePickerCO.getControllerCalendar();
81
86
  await expect(calendar).not.toBeDisplayed();
82
87
  });
83
- it('15: should not open the calendar - "Space"', async () => {
88
+ it('16: should open the calendar - "Space"', async () => {
84
89
  await browser.keys(Key.Space);
85
90
  const calendar = await DateTimePickerCO.getControllerCalendar();
86
- await expect(calendar).not.toBeDisplayed();
91
+ await expect(calendar).toBeDisplayed();
92
+ });
93
+ it('17: should not change de day', async () => {
94
+ await browser.keys(Key.ArrowDown);
95
+ await browser.keys(Key.Enter);
96
+ const day = await DateTimePickerCO.getDayInput();
97
+ await expect(day).toHaveValue('15');
98
+ });
99
+ it('18: should not change the month and year', async () => {
100
+ await browser.keys(Key.ArrowDown);
101
+ await browser.keys(Key.ArrowDown);
102
+ await browser.keys(Key.ArrowDown);
103
+ await browser.keys(Key.Enter);
104
+ const month = await DateTimePickerCO.getMonthInput();
105
+ const year = await DateTimePickerCO.getYearInput();
106
+ await expect(month).toHaveValue('12');
107
+ await expect(year).toHaveValue('2024');
108
+ });
109
+ it('19: should not change hour/min/meridiem', async () => {
110
+ await browser.keys(Key.Tab);
111
+ await browser.keys(Key.ArrowDown);
112
+ await browser.keys(Key.Tab);
113
+ await browser.keys(Key.ArrowDown);
114
+ await browser.keys(Key.Tab);
115
+ await browser.keys(Key.ArrowDown);
116
+ const hour = await DateTimePickerCO.getHourInput();
117
+ const min = await DateTimePickerCO.getMinutesInput();
118
+ const meridiem = await DateTimePickerCO.getMeridiemInput();
119
+ await expect(hour).toHaveValue('10');
120
+ await expect(min).toHaveValue('30');
121
+ await expect(meridiem).toHaveValue('PM');
87
122
  });
88
- it('16: should return to month input - "Shift+Tab"', async () => {
123
+ it('20: should return to month input - "Shift+Tab"', async () => {
124
+ await browser.keys(Key.Escape);
89
125
  await browser.keys([Key.Shift, Key.Tab]);
90
126
  await browser.keys([Key.Shift, Key.Tab]);
91
127
  await browser.keys([Key.Shift, Key.Tab]);
@@ -9,9 +9,9 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
9
9
  if (errorOnGo) throw errorOnGo;
10
10
  });
11
11
  it('01: should display the showcase of all the variants in ApplyAriaDisabled state', async () => {
12
- const day8 = await DateTimePickerCO.getCalendarDay(8);
12
+ const selectedDay = await DateTimePickerCO.getCalendarSelectedDay();
13
13
  const day10 = await DateTimePickerCO.getCalendarDay(10);
14
- await day8.click();
14
+ await selectedDay.click();
15
15
  await mouseOver(day10);
16
16
  const snapshot = await browser.checkSnapshot(DateTimePickerCO.snapshotPath('applyAriaDisabled-showcase'));
17
17
  await expect(snapshot).toEqual(0);
@@ -9,9 +9,9 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
9
9
  if (errorOnGo) throw errorOnGo;
10
10
  });
11
11
  it('01: should display the showcase of all the variants in readOnly state', async () => {
12
- const day15 = await DateTimePickerCO.getCalendarDay(15);
12
+ const selectedDay = await DateTimePickerCO.getCalendarSelectedDay();
13
13
  const day10 = await DateTimePickerCO.getCalendarDay(10);
14
- await day15.click();
14
+ await selectedDay.click();
15
15
  await mouseOver(day10);
16
16
  const snapshot = await browser.checkSnapshot(DateTimePickerCO.snapshotPath('readOnly-showcase'));
17
17
  await expect(snapshot).toEqual(0);
@@ -142,10 +142,13 @@ if (
142
142
  const result = await axeCoreCheck();
143
143
  expect(result.length).toBe(0);
144
144
  });
145
- it('02: should have required attribute for required formLayoutBlock label', async () => {
145
+ it('02: should have required attribute and aria-hidden for required formLayoutBlock label', async () => {
146
146
  const formLayout = await DSFormLayoutBlockItemCO.getBlockContainersByIndex(0);
147
147
  await formLayout.waitForDisplayed();
148
+ const star = await DSFormLayoutBlockItemCO.getRequiredStarFromIndex();
149
+ const ariaHidden = await star.getAttribute('aria-hidden');
148
150
  const isRequired = await formLayout.getAttribute('required');
151
+ expect(ariaHidden).toEqual('true');
149
152
  expect(isRequired).toBe('true');
150
153
  });
151
154
  });
@@ -43,6 +43,10 @@ export default class DSFormLayoutBlockItemCO extends PageObject {
43
43
  return $$('[data-testid="ds-inputtext-input"]')[index];
44
44
  }
45
45
 
46
+ static async getRequiredStarFromIndex(index = 0) {
47
+ return $$('[data-testid="ds-formlayoutblockitem-mark"]')[index];
48
+ }
49
+
46
50
  static async getTextFocuseableByIndex(index = 0) {
47
51
  return $$(`[data-testid="ds-input-text-root"]`)[index];
48
52
  }
@@ -0,0 +1,57 @@
1
+ import { Key } from 'webdriverio';
2
+ import { axeCoreCheck } from '../helpers';
3
+ import NativeSelect from './NativeSelectCO';
4
+
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
+ ) {
11
+ describe('PUI-17516 - NativeSelect: Basic -AxeCore', () => {
12
+ before(async () => {
13
+ const errorOnGo = await NativeSelect.controlledURL.go();
14
+ if (errorOnGo) throw errorOnGo;
15
+ });
16
+ it('01: should have empty controlled native select and pass axe-core scan', async () => {
17
+ const nativeSelect = await NativeSelect.getRootByIndex(0);
18
+ await nativeSelect.waitForDisplayed();
19
+ const result = await axeCoreCheck();
20
+ expect(result.length).toBe(0);
21
+ });
22
+ it('02: should have pupulated controlled native select and pass axe-core scan', async () => {
23
+ await browser.keys(Key.Tab);
24
+ await browser.keys(Key.ArrowDown);
25
+ await browser.keys(Key.ArrowDown);
26
+ await browser.keys(Key.Space);
27
+ const result = await axeCoreCheck();
28
+ expect(result.length).toBe(0);
29
+ });
30
+ });
31
+
32
+ describe('PUI-17517 - NativeSelect: Disabled -AxeCore', () => {
33
+ before(async () => {
34
+ const errorOnGo = await NativeSelect.disabledURL.go();
35
+ if (errorOnGo) throw errorOnGo;
36
+ });
37
+ it('01: should have disabled native select and pass axe-core scan', async () => {
38
+ const nativeSelect = await NativeSelect.getRootByIndex(0);
39
+ await nativeSelect.waitForDisplayed();
40
+ const result = await axeCoreCheck();
41
+ expect(result.length).toBe(0);
42
+ });
43
+ });
44
+
45
+ describe('PUI-17518 - NativeSelect: Errored -AxeCore', () => {
46
+ before(async () => {
47
+ const errorOnGo = await NativeSelect.errorURL.go();
48
+ if (errorOnGo) throw errorOnGo;
49
+ });
50
+ it('01: should have errored native select and pass axe-core scan', async () => {
51
+ const nativeSelect = await NativeSelect.getRootByIndex(0);
52
+ await nativeSelect.waitForDisplayed();
53
+ const result = await axeCoreCheck();
54
+ expect(result.length).toBe(0);
55
+ });
56
+ });
57
+ }
@@ -0,0 +1,35 @@
1
+ /* eslint-disable import/no-relative-packages */
2
+ import { PATH_E2E_NATIVE_SELECT } from '../paths';
3
+ import { PageObject, Urlbuilder } from '../helpers';
4
+
5
+ export default class NativeSelect extends PageObject {
6
+ static controlledURL = new Urlbuilder(PATH_E2E_NATIVE_SELECT, 'controlled-test');
7
+
8
+ static uncontrolledURL = new Urlbuilder(PATH_E2E_NATIVE_SELECT, 'uncontrolled-test');
9
+
10
+ static errorURL = new Urlbuilder(PATH_E2E_NATIVE_SELECT, 'error-test');
11
+
12
+ static disabledURL = new Urlbuilder(PATH_E2E_NATIVE_SELECT, 'disabled-test');
13
+
14
+ // Selectors
15
+ static async getInputSlotByIndex(index = 0) {
16
+ return $$(`[data-dimsum-slot="dsNativeselectInput"]`)[index];
17
+ }
18
+
19
+ static async getRootByIndex(index = 0) {
20
+ return $$('[data-testid="ds-nativeselect-root"]')[index];
21
+ }
22
+
23
+ static async getDropindicatorByIndex(index = 0) {
24
+ return $$('[data-testid="ds-nativeselect-drop-indicator"]')[index];
25
+ }
26
+
27
+ static async getOptionByIndex(index) {
28
+ return $$('//option')[index];
29
+ }
30
+
31
+ // Snapshots
32
+ static snapshotPath(example = 'basic') {
33
+ return PageObject.getSnapshotPathBuilder('NativeSelect', example, 'ds-native-select');
34
+ }
35
+ }
@@ -13,7 +13,7 @@ if (
13
13
  ) {
14
14
  describe('PUI-11929 - DSControlledToggle - Axe-Core - showcase', () => {
15
15
  before('loading page', async () => {
16
- const errorOnGo = await DSToggleCO.showOffURL.go();
16
+ const errorOnGo = await DSToggleCO.fullShowcase.go();
17
17
  if (errorOnGo) throw errorOnGo;
18
18
  });
19
19
  it('01: should pass axe-core check for showcase example', async () => {
@@ -27,10 +27,14 @@ if (
27
27
  expect(result.length).toBe(0);
28
28
  });
29
29
  it('03: should pass axe-core check for showcase example - readOnly interaction', async () => {
30
- await tabStops(6);
30
+ await tabStops(3);
31
31
  const result = await axeCoreCheck();
32
32
  expect(result.length).toBe(0);
33
33
  });
34
+ it('04: all toggles should have role switch', async () => {
35
+ const toggleRoles = await $$('button[role="switch"]');
36
+ expect(toggleRoles.length).toBe(32);
37
+ });
34
38
  });
35
39
  describe('PUI-14182 - [Toggle] applyAriaDisabled prop - axe-core test', () => {
36
40
  before('loading page', async () => {
@@ -100,23 +100,28 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
100
100
  });
101
101
  describe('PUI-8814 - DSControlledToggle:: Tabbing', () => {
102
102
  before('loading page', async () => {
103
- const errorOnGo = await DSToggleCO.showOffURL.go();
103
+ const errorOnGo = await DSToggleCO.fullShowcase.go();
104
104
  if (errorOnGo) throw errorOnGo;
105
105
  await (await DSToggleCO.getToggle()).waitForExist();
106
106
  });
107
107
  it('01: should tab through the basic toggles to the last basic toggle', async () => {
108
- await tabStops(6);
109
- const toggle = await DSToggleCO.getToggleFocuseableByIndex(4);
108
+ await tabStops(2);
109
+ const toggle = await DSToggleCO.getToggleFocuseableByIndex(1);
110
110
  await expect(toggle).toBeFocused();
111
111
  });
112
- it('02: should tab and skip all three disabled toggles to the first enabled toggle, next row', async () => {
113
- await browser.keys(Key.Tab);
114
- const toggle = await DSToggleCO.getToggleFocuseableByIndex(11);
112
+ it('02: should tab and skip all disabled toggles to the first enabled toggle, next row', async () => {
113
+ await tabStops(5);
114
+ const toggle = await DSToggleCO.getToggleFocuseableByIndex(8);
115
115
  await expect(toggle).toBeFocused();
116
116
  });
117
117
  it('03: should tab through the readonly toggles to the last readonly toggle', async () => {
118
- await tabStops(5);
119
- const toggle = await DSToggleCO.getToggleFocuseableByIndex(16);
118
+ await tabStops(3);
119
+ const toggle = await DSToggleCO.getToggleFocuseableByIndex(11);
120
+ await expect(toggle).toBeFocused();
121
+ });
122
+ it('04: should tab through the aria-disabled toggles to the last aria-disabled toggle', async () => {
123
+ await tabStops(2);
124
+ const toggle = await DSToggleCO.getToggleFocuseableByIndex(13);
120
125
  await expect(toggle).toBeFocused();
121
126
  });
122
127
  });
@@ -4,12 +4,12 @@ import DSToggleCO from './DSToggleCO';
4
4
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
5
  describe('PUI-6757 - DSControlledToggle - Visual Test - showcase', () => {
6
6
  before('loading page', async () => {
7
- const errorOnGo = await DSToggleCO.showOffURL.go();
7
+ const errorOnGo = await DSToggleCO.fullShowcase.go();
8
8
  if (errorOnGo) throw errorOnGo;
9
9
  });
10
10
  it('01: should display all DSControlledToggle styles correctly', async () => {
11
11
  await (await DSToggleCO.getToggleByIndex(0)).waitForExist();
12
- const snapshot = await browser.checkSnapshot(DSToggleCO.snapshotPath('show-off'));
12
+ const snapshot = await browser.checkSnapshot(DSToggleCO.snapshotPath('full-showcase'));
13
13
  await expect(snapshot).toEqual(0);
14
14
  });
15
15
  });
@@ -2,7 +2,7 @@ import { PATH_E2E_TOGGLE } from '../paths';
2
2
  import { PageObject, Urlbuilder } from '../helpers';
3
3
 
4
4
  export default class DSToggleCO extends PageObject {
5
- static showOffURL = new Urlbuilder(PATH_E2E_TOGGLE, 'show-off-test');
5
+ static fullShowcase = new Urlbuilder(PATH_E2E_TOGGLE, 'full-showcase-test');
6
6
 
7
7
  static basicURL = new Urlbuilder(PATH_E2E_TOGGLE, 'basic-test');
8
8
 
@@ -88,4 +88,17 @@ if (
88
88
  expect(result.length).toBe(0);
89
89
  });
90
90
  });
91
+
92
+ describe('PUI-16270 - GlobalHeader: Controled with Iframe -AxeCore', () => {
93
+ before(async () => {
94
+ const errorOnGo = await GlobalHeaderCO.iframeURL.go();
95
+ if (errorOnGo) throw errorOnGo;
96
+ });
97
+ it('01: should have global header within iframe and pass axe-core scan', async () => {
98
+ const globalHeader = await GlobalHeaderCO.getGlobalHeader();
99
+ await globalHeader.waitForDisplayed();
100
+ const result = await axeCoreCheck({ extraDisabledRules: ['landmark-one-main'] });
101
+ expect(result.length).toBe(0);
102
+ });
103
+ });
91
104
  }
@@ -7,6 +7,8 @@ export default class GlobalHeader extends PageObject {
7
7
 
8
8
  static oneTab = new Urlbuilder(PATH_E2E_GLOBAL_HEADER, 'one-tab');
9
9
 
10
+ static iframeURL = new Urlbuilder(PATH_E2E_GLOBAL_HEADER, 'controlled-and-with-iframe-test');
11
+
10
12
  static slotsTest = new Urlbuilder(PATH_E2E_GLOBAL_HEADER, 'slots-test');
11
13
 
12
14
  static noToolbarTest = new Urlbuilder(PATH_E2E_GLOBAL_HEADER, 'no-toolbar-test');