dimsum-e2e-tests 3.70.0-next.4 → 3.70.0-next.40

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 (123) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/ds-accordion/DSAccordion.visual.spec.js +6 -0
  3. package/ds-accordion/DSAccordionCO.js +11 -3
  4. package/ds-accordion/controlled/DSAccordion.controlled.func.spec.js +23 -0
  5. package/ds-accordion/header-structure/DSAccordion.header-structure.func.spec.js +49 -0
  6. package/ds-accordion/input-inside/DSAccordion.input-inside.func.spec.js +17 -0
  7. package/ds-accordion-native/DSAccordionNative.axe-core.func.spec.js +135 -0
  8. package/ds-accordion-native/DSAccordionNative.func.spec.js +200 -0
  9. package/ds-accordion-native/DSAccordionNative.visual.spec.js +158 -0
  10. package/ds-accordion-native/DSAccordionNativeCO.js +161 -0
  11. package/ds-accordion-native/QA_NOTES.md +88 -0
  12. package/ds-accordion-native/aria-disabled/DSAccordionNative.aria-disabled.axe-core.func.spec.js +25 -0
  13. package/ds-accordion-native/aria-disabled/DSAccordionNative.aria-disabled.visual.spec.js +28 -0
  14. package/ds-accordion-native/controlled/DSAccordionNative.controlled.func.spec.js +22 -0
  15. package/ds-accordion-native/header-structure/DSAccordionNative.header-structure.func.spec.js +53 -0
  16. package/ds-accordion-native/input-inside/DSAccordionNative.input-inside.func.spec.js +16 -0
  17. package/ds-accordion-native/role/DSAccordionNative.role-heading.func.spec.js +27 -0
  18. package/ds-accordion-native/scrollable-content/DSAccordionNative.scrollable-content.visual.spec.js +49 -0
  19. package/ds-accordion-native/slots/DSAccordionNative.slots.axe-core.func.spec.js +25 -0
  20. package/ds-accordion-native/slots/DSAccordionNative.slots.func.spec.js +73 -0
  21. package/ds-accordion-native/slots/DSAccordionNative.slots.visual.spec.js +21 -0
  22. package/ds-accordion-native/wrapLabel/DSAccordionNative.wrap-label.visual.spec.js +21 -0
  23. package/ds-apppicker/DSAppPickerCO.js +1 -1
  24. package/ds-autocomplete/DSAutocomplete.visual.spec.js +34 -0
  25. package/ds-autocomplete/DSAutocompleteCO.js +2 -0
  26. package/ds-card-v3/DSCardV3CO.js +14 -0
  27. package/ds-card-v3/accordion/DSCardV3.accordion-aria-structure.func.spec.js +41 -0
  28. package/ds-card-v3/disabled/DSCardV3.disabled-non-interactive.func.spec.js +25 -0
  29. package/ds-card-v3/multi-select/DSCardV3.multi-select.aria-grouping.func.spec.js +24 -0
  30. package/ds-card-v3/single-select/DSCardV3.single-select.aria-grouping.func.spec.js +24 -0
  31. package/ds-chat/DSChat.axe-core.func.spec.js +2 -2
  32. package/ds-chat/DSChat.visual.spec.js +3 -3
  33. package/ds-chat/DSChatCO.js +17 -23
  34. package/ds-chat/bubbles/slots/DSChatBubble.slots.axe-core.func.spec.js +24 -0
  35. package/ds-chat/bubbles/slots/DSChatBubble.slots.func.spec.js +49 -0
  36. package/ds-chat/bubbles/slots/DSChatBubble.slots.visual.spec.js +25 -0
  37. package/ds-chat/card/slots/DSChatCard.slots.axe-core.func.spec.js +24 -0
  38. package/ds-chat/card/slots/DSChatCard.slots.func.spec.js +47 -0
  39. package/ds-chat/card/slots/DSChatCard.slots.visual.spec.js +18 -0
  40. package/ds-chat/card/truncated-text/DSChatCard.truncated-text.func.spec.js +32 -0
  41. package/ds-chat/card/truncated-text/DSChatCard.truncated-text.visual.spec.js +26 -0
  42. package/ds-chat/card/with-notification-badges/DSChatCard.with-notification-badges.axe-core.func.spec.js +23 -0
  43. package/ds-chat/card/with-notification-badges/DSChatCard.with-notification-badges.visual.spec.js +17 -0
  44. package/ds-chat/components/BubbleCO.js +46 -3
  45. package/ds-chat/components/CardCO.js +77 -0
  46. package/ds-chat/components/ComposerCO.js +6 -6
  47. package/ds-chat/components/FloatingButtonCO.js +2 -2
  48. package/ds-chat/components/HeaderCO.js +2 -2
  49. package/ds-chat/components/TileCO.js +82 -0
  50. package/ds-chat/components/index.js +3 -2
  51. package/ds-chat/loadmore/DSChat-loadmore.func.spec.js +1 -1
  52. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.axe-core.func.spec.js +2 -2
  53. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.func.spec.js +1 -1
  54. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.visual.spec.js +2 -2
  55. package/{ds-chat-tile → ds-chat/tile}/aria-disabled/DSChat-tile.aria-disabled.axe-core.func.spec.js +2 -2
  56. package/{ds-chat-tile → ds-chat/tile}/aria-disabled/DSChat-tile.aria-disabled.visual.spec.js +1 -1
  57. package/ds-chat/tile/slots/DSChatTile.slots.func.spec.js +53 -0
  58. package/ds-chat/tile/slots/DSChatTile.slots.visual.spec.js +18 -0
  59. package/ds-controlled-form/ds-combobox/DSComboboxCO.js +2 -2
  60. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO.js +1 -1
  61. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +1 -1
  62. package/ds-data-table-async/DSDataTableCO.js +14 -12
  63. package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +1 -1
  64. package/ds-data-table-async/components/FiltersCO.js +1 -1
  65. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.keyboard.func.spec.js +8 -7
  66. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.mouse.func.spec.js +6 -7
  67. package/ds-floating-context/DSFloatingContextCO.js +10 -0
  68. package/ds-floating-context/placement/DSFloatingContext.placement.visual.spec.js +48 -0
  69. package/ds-form-combobox-multi/DSComboboxMultiCO.js +11 -3
  70. package/ds-form-combobox-multi/aria-busy-loading/DSComboboxMulti.aria-busy-loading.axe-core.func.spec.js +55 -0
  71. package/ds-form-combobox-multi/aria-busy-loading/DSComboboxMulti.aria-busy-loading.func.spec.js +57 -0
  72. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +15 -0
  73. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.axe-core.func.spec.js +24 -0
  74. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.visual.spec.js +22 -0
  75. package/ds-form-combobox-multi/grouped/DSComboboxMulti.grouped.visual.spec.js +42 -0
  76. package/ds-form-combobox-multi/inline/DSComboboxMulti.inline.visual.spec.js +21 -0
  77. package/ds-form-combobox-multi/skeleton/DSComboboxMulti.skeleton.visual.spec.js +25 -0
  78. package/ds-form-combobox-single/DSComboboxSingleCO.js +11 -3
  79. package/ds-form-combobox-single/aria-busy-loading/DSComboboxSingle.aria-busy-loading.axe-core.func.spec.js +49 -0
  80. package/ds-form-combobox-single/aria-busy-loading/DSComboboxSingle.aria-busy-loading.func.spec.js +54 -0
  81. package/ds-form-combobox-single/aria-disabled/DSComboboxSingle.aria-disabled.visual.spec.js +18 -0
  82. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.axe-core.func.spec.js +24 -0
  83. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.visual.spec.js +22 -0
  84. package/ds-form-combobox-single/grouped/DSComboboxSingle.grouped.visual.spec.js +45 -0
  85. package/ds-form-combobox-single/inline/DSComboboxSingle.inline.visual.spec.js +23 -0
  86. package/ds-form-combobox-single/skeleton/DSComboboxSingle.skeleton.visual.spec.js +25 -0
  87. package/ds-form-date-range-picker/date-segment-aria-labels/DateRangePicker.date-segment-aria-labels.func.spec.js +64 -0
  88. package/ds-form-native-select/NativeSelect.axe-core.func.spec.js +39 -0
  89. package/ds-form-native-select/NativeSelect.visual.spec.js +33 -0
  90. package/ds-form-native-select/NativeSelectCO.js +6 -0
  91. package/ds-form-native-select/option-selection/NativeSelect.option-selection.func.spec.js +25 -0
  92. package/ds-leftnavigation/LeftNavigationCO.js +2 -2
  93. package/ds-menu-button/DSMenuButtonCO.js +23 -0
  94. package/ds-menu-button/slots/DSMenuButton.slots.func.spec.js +40 -0
  95. package/ds-menu-button/slots/DSMenuButton.slots.visual.spec.js +26 -0
  96. package/ds-modal-slide/ModalSlideCO.js +39 -0
  97. package/ds-modal-slide/custom-header/ModalSlide.customHeader.focusRing.visual.spec.js +2 -1
  98. package/ds-modal-slide/slots/ModalSlide.slots.func.spec.js +74 -0
  99. package/ds-modal-slide/slots/ModalSlide.slots.visual.spec.js +27 -0
  100. package/ds-notification-badge/DSNotificationBadge.visual.spec.js +17 -20
  101. package/ds-page-layout/PageLayoutCO.js +4 -4
  102. package/ds-progress-indicator/DSProgressIndicator.axe-core.func.spec.js +2 -0
  103. package/ds-progress-indicator/DSProgressIndicatorCO.js +1 -1
  104. package/ds-shuttle-v2/DSShuttleV2CO.js +11 -1
  105. package/ds-shuttle-v2/explicit-selection-ui/DSShuttleV2.explicit-selection-ui.func.spec.js +37 -0
  106. package/ds-shuttle-v2/explicit-selection-ui/DSShuttleV2.explicit-selection-ui.visual.spec.js +27 -0
  107. package/ds-shuttle-v2/skipped/DSShuttleV2.extra.axe-core.skipped.js +1 -1
  108. package/ds-shuttle-v2/skipped/DSShuttleV2.filter.axe-core.skipped.js +1 -1
  109. package/ds-shuttle-v2/skipped/DSShuttleV2.globalcheckbox.axe-core.skipped.js +1 -1
  110. package/ds-shuttle-v2/skipped/DSShuttleV2.items.axe-core.skipped.js +3 -3
  111. package/ds-shuttle-v2/skipped/DSShuttleV2.skipped.js +5 -5
  112. package/ds-tab-button/DSTabButton.func.spec.js +1 -1
  113. package/ds-tooltip-v3/DSTooltipV3CO.js +21 -0
  114. package/ds-tooltip-v3/aria-tooltip-pattern/DSTooltipV3.aria-tooltip-pattern.axe-core.func.spec.js +23 -0
  115. package/ds-tooltip-v3/aria-tooltip-pattern/DSTooltipV3.aria-tooltip-pattern.func.spec.js +29 -0
  116. package/ds-tooltip-v3/dialog/DSTooltipV3.dialog.func.spec.js +45 -0
  117. package/ds-tooltip-v3/dialog/DSTooltipV3.dialog.visual.spec.js +29 -0
  118. package/ds-treeview/DSTreeViewCO.js +25 -2
  119. package/ds-treeview/dragAndDrop/TreeView-dnd_keyboard.func.spec.js +96 -0
  120. package/package.json +150 -152
  121. package/paths.js +9 -1
  122. package/ds-chat-tile/TileCO.js +0 -35
  123. package/ds-treeview/dragAndDrop/TreeView-dnd_mouse.func.spec.js +0 -61
@@ -21,6 +21,8 @@ export default class DSMenuButtonCO extends PageObject {
21
21
 
22
22
  static skeletonMenuItem = new Urlbuilder(PATH_E2E_MENU_BUTTON, 'skeleton-menu-item-test');
23
23
 
24
+ static slotsTest = new Urlbuilder(PATH_E2E_MENU_BUTTON, 'slots-test');
25
+
24
26
  // UseCases (E2E simplified versions)
25
27
  static cardExample = new Urlbuilder(PATH_MENU_BUTTON_USECASES, 'card-example-test');
26
28
 
@@ -85,6 +87,27 @@ export default class DSMenuButtonCO extends PageObject {
85
87
  return $(`${item} div span`);
86
88
  }
87
89
 
90
+ // Slots test selectors (by data-dimsum-slot)
91
+ static async getSlotsOpinionatedButtonRoot() {
92
+ return $('[data-dimsum-parent-slot="dsOpinionatedbuttonRoot"');
93
+ }
94
+
95
+ static async getSlotsFloatingWrapper() {
96
+ return $('[data-dimsum-parent-slot="dsFlyoutmenuFloatingWrapper"');
97
+ }
98
+
99
+ static async getSlotsFlyoutMenuRoot() {
100
+ return $('[data-dimsum-slot="dsFlyoutmenuRoot"]');
101
+ }
102
+
103
+ static async getSlotsListWrapper() {
104
+ return $('[data-dimsum-slot="dsFlyoutmenuListWrapper"]');
105
+ }
106
+
107
+ static async getSlotsMenuItemWrappers(index = 0) {
108
+ return $$('[data-dimsum-slot="dsMenuitemMenuItemWrapper"]')[index];
109
+ }
110
+
88
111
  // Snapshots
89
112
  static snapshotPath(example = 'basic') {
90
113
  return PageObject.getSnapshotPathBuilder('DSMenuItems', example, 'ds-menu-items');
@@ -0,0 +1,40 @@
1
+ import DSMenuButtonCO from '../DSMenuButtonCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-18356 - DSMenuButton:: Slots - Func', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSMenuButtonCO.slotsTest.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+
10
+ it('01: should have custom aria-label to each slot', async () => {
11
+ const triggerBtn = await DSMenuButtonCO.getSlotsOpinionatedButtonRoot();
12
+ await expect(triggerBtn).toHaveAttribute('aria-label', 'im dsOpinionatedbuttonRoot aria');
13
+ await triggerBtn.click();
14
+
15
+ const flyoutRoot = await DSMenuButtonCO.getSlotsFlyoutMenuRoot();
16
+ await flyoutRoot.waitForDisplayed();
17
+ const listWrapper = await DSMenuButtonCO.getSlotsListWrapper();
18
+ const floatingWrapper = await DSMenuButtonCO.getSlotsFloatingWrapper();
19
+ const menuItem = await DSMenuButtonCO.getSlotsMenuItemWrappers();
20
+ await expect(listWrapper).toHaveAttribute('aria-label', 'im dsFlyoutmenuListWrapper aria');
21
+ await expect(flyoutRoot).toHaveAttribute('aria-label', 'im dsFlyoutmenuRoot aria');
22
+ await expect(floatingWrapper).toHaveAttribute('aria-label', 'im dsFlyoutmenuFloatingWrapper aria');
23
+ await expect(menuItem).toHaveAttribute('aria-label', 'im dsMenuitemMenuItemWrapper aria');
24
+ });
25
+
26
+ it('02: should apply custom data-testid to each slot', async () => {
27
+ const triggerBtn = await DSMenuButtonCO.getSlotsOpinionatedButtonRoot();
28
+ const flyoutRoot = await DSMenuButtonCO.getSlotsFlyoutMenuRoot();
29
+ const listWrapper = await DSMenuButtonCO.getSlotsListWrapper();
30
+ const floatingWrapper = await DSMenuButtonCO.getSlotsFloatingWrapper();
31
+ const menuItem = await DSMenuButtonCO.getSlotsMenuItemWrappers();
32
+
33
+ await expect(triggerBtn).toHaveAttribute('data-testid', 'im dsOpinionatedbuttonRoot data');
34
+ await expect(flyoutRoot).toHaveAttribute('data-testid', 'im dsFlyoutmenuRoot data');
35
+ await expect(listWrapper).toHaveAttribute('data-testid', 'im dsFlyoutmenuListWrapper data');
36
+ await expect(floatingWrapper).toHaveAttribute('data-testid', 'im dsFlyoutmenuFloatingWrapper data');
37
+ await expect(menuItem).toHaveAttribute('data-testid', 'im dsMenuitemMenuItemWrapper data');
38
+ });
39
+ });
40
+ }
@@ -0,0 +1,26 @@
1
+ import DSMenuButtonCO from '../DSMenuButtonCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-18357 - DSMenuButton:: Slots - Visual', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSMenuButtonCO.slotsTest.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+
10
+ it('01: should display slots story in dark theme default state correctly', async () => {
11
+ const triggerBtn = await DSMenuButtonCO.getSlotsOpinionatedButtonRoot();
12
+ await triggerBtn.waitForDisplayed();
13
+ const snapshot = await browser.percyCheckScreenshot(DSMenuButtonCO.snapshotPath('slots-default'));
14
+ await expect(snapshot).toEqual(0);
15
+ });
16
+
17
+ it('02: should display slots story with menu open in dark theme correctly', async () => {
18
+ const triggerBtn = await DSMenuButtonCO.getSlotsOpinionatedButtonRoot();
19
+ await triggerBtn.click();
20
+ const flyoutRoot = await DSMenuButtonCO.getSlotsFlyoutMenuRoot();
21
+ await flyoutRoot.waitForDisplayed();
22
+ const snapshot = await browser.percyCheckScreenshot(DSMenuButtonCO.snapshotPath('slots-open'));
23
+ await expect(snapshot).toEqual(0);
24
+ });
25
+ });
26
+ }
@@ -31,6 +31,8 @@ export default class ModalSlideCO extends PageObject {
31
31
 
32
32
  static applyAriaDisabledFooterURL = new Urlbuilder(PATH_E2E_MODALSLIDE, 'apply-aria-disabled-footer-test');
33
33
 
34
+ static slotsTest = new Urlbuilder(PATH_E2E_MODALSLIDE, 'slots-test');
35
+
34
36
  static async getModalSlide() {
35
37
  return $('[data-testid="ds-modal-slide"]');
36
38
  }
@@ -95,6 +97,43 @@ export default class ModalSlideCO extends PageObject {
95
97
  await browser.pause(500); // pause to allow animation to finish
96
98
  }
97
99
 
100
+ // Slots
101
+ static async getSlotActualContent() {
102
+ return $('[data-dimsum-slot="dsModalslideActualContent"]');
103
+ }
104
+
105
+ static async getSlotContent() {
106
+ return $('[data-dimsum-slot="dsModalslideContent"]');
107
+ }
108
+
109
+ static async getSlotContentWrapper() {
110
+ return $('[data-dimsum-slot="dsModalslideContentWrapper"]');
111
+ }
112
+
113
+ static async getSlotFooterSeparator() {
114
+ return $('[data-dimsum-slot="dsModalslideFooterSeparator"]');
115
+ }
116
+
117
+ static async getSlotGridContent() {
118
+ return $('[data-dimsum-slot="dsModalslideGridContent"]');
119
+ }
120
+
121
+ static async getSlotHeaderSeparator() {
122
+ return $('[data-dimsum-slot="dsModalslideHeaderSeparator"]');
123
+ }
124
+
125
+ static async getSlotOverlay() {
126
+ return $('[data-dimsum-slot="dsModalslideOverlay"]');
127
+ }
128
+
129
+ static async getSlotRoot() {
130
+ return $('[data-dimsum-slot="dsModalslideRoot"]');
131
+ }
132
+
133
+ static async getSlotHeader() {
134
+ return $('[data-dimsum-parent-slot="dsModalslideTitle"]');
135
+ }
136
+
98
137
  // Snapshots
99
138
  static snapshotPath(example = 'basic') {
100
139
  return PageObject.getSnapshotPathBuilder('ModalSlide', example, 'ds-modal-slide');
@@ -10,7 +10,8 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
10
10
  });
11
11
 
12
12
  it('01: should show consistent focus ring on modal body (5th tab stop)', async () => {
13
- await ModalSlideCO.openModalSlide();
13
+ const trigger = await ModalSlideCO.getOpenModalSlideBtn();
14
+ await trigger.click();
14
15
  // Tab through CustomHeader: backarrow(1) -> breadcrumb items(2,3,4) -> body(5)
15
16
  await browser.keys(Key.Tab);
16
17
  await browser.keys(Key.Tab);
@@ -0,0 +1,74 @@
1
+ /* eslint-disable max-lines */
2
+ import { Key } from 'webdriverio';
3
+ import ModalSlideCO from '../ModalSlideCO';
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-18428 - SquareIndicator: Slots - Func Test', () => {
12
+ before('loading page', async () => {
13
+ const errorOnGo = await ModalSlideCO.slotsTest.go();
14
+ if (errorOnGo) throw errorOnGo;
15
+ });
16
+ it('01: each SquareIndicator slot to have custom aria-* attribute', async () => {
17
+ await browser.keys(Key.Tab);
18
+ await browser.keys(Key.Tab);
19
+ await browser.keys(Key.Return);
20
+ const actualContent = await ModalSlideCO.getSlotActualContent();
21
+ const content = await ModalSlideCO.getSlotContent();
22
+ const contentWrapper = await ModalSlideCO.getSlotContentWrapper();
23
+ const footerSeparator = await ModalSlideCO.getSlotFooterSeparator();
24
+ const gridContent = await ModalSlideCO.getSlotGridContent();
25
+ const headerSeparator = await ModalSlideCO.getSlotHeaderSeparator();
26
+ const overlay = await ModalSlideCO.getSlotOverlay();
27
+ const root = await ModalSlideCO.getSlotRoot();
28
+ await expect(actualContent).toHaveAttribute('aria-label', 'actual content aria');
29
+ await expect(content).toHaveAttribute('aria-label', 'content aria');
30
+ await expect(contentWrapper).toHaveAttribute('aria-label', 'content wrapper aria');
31
+ await expect(footerSeparator).toHaveAttribute('aria-label', 'footer separator aria');
32
+ await expect(gridContent).toHaveAttribute('aria-label', 'grid content aria');
33
+ await expect(headerSeparator).toHaveAttribute('aria-label', 'header separator aria');
34
+ await expect(overlay).toHaveAttribute('aria-label', 'overlay aria');
35
+ await expect(root).toHaveAttribute('aria-label', 'root aria');
36
+ });
37
+ it('02: each SquareIndicator slot to have custom data-* attribute', async () => {
38
+ const actualContent = await ModalSlideCO.getSlotActualContent();
39
+ const content = await ModalSlideCO.getSlotContent();
40
+ const contentWrapper = await ModalSlideCO.getSlotContentWrapper();
41
+ const footerSeparator = await ModalSlideCO.getSlotFooterSeparator();
42
+ const gridContent = await ModalSlideCO.getSlotGridContent();
43
+ const headerSeparator = await ModalSlideCO.getSlotHeaderSeparator();
44
+ const overlay = await ModalSlideCO.getSlotOverlay();
45
+ const root = await ModalSlideCO.getSlotRoot();
46
+ await expect(actualContent).toHaveAttribute('data-testid', 'actual content data');
47
+ await expect(content).toHaveAttribute('data-testid', 'content data');
48
+ await expect(contentWrapper).toHaveAttribute('data-testid', 'content wrapper data');
49
+ await expect(footerSeparator).toHaveAttribute('data-testid', 'footer separator data');
50
+ await expect(gridContent).toHaveAttribute('data-testid', 'grid content data');
51
+ await expect(headerSeparator).toHaveAttribute('data-testid', 'header separator data');
52
+ await expect(overlay).toHaveAttribute('data-testid', 'overlay data');
53
+ await expect(root).toHaveAttribute('data-testid', 'root data');
54
+ });
55
+ it('03: each ModalSlide slot to have custom lang attribute', async () => {
56
+ const actualContent = await ModalSlideCO.getSlotActualContent();
57
+ const content = await ModalSlideCO.getSlotContent();
58
+ const contentWrapper = await ModalSlideCO.getSlotContentWrapper();
59
+ const footerSeparator = await ModalSlideCO.getSlotFooterSeparator();
60
+ const gridContent = await ModalSlideCO.getSlotGridContent();
61
+ const headerSeparator = await ModalSlideCO.getSlotHeaderSeparator();
62
+ const overlay = await ModalSlideCO.getSlotOverlay();
63
+ const root = await ModalSlideCO.getSlotRoot();
64
+ await expect(actualContent).toHaveAttribute('lang', 'en');
65
+ await expect(content).toHaveAttribute('lang', 'es');
66
+ await expect(contentWrapper).toHaveAttribute('lang', 'fr');
67
+ await expect(footerSeparator).toHaveAttribute('lang', 'de');
68
+ await expect(gridContent).toHaveAttribute('lang', 'it');
69
+ await expect(headerSeparator).toHaveAttribute('lang', 'pt');
70
+ await expect(overlay).toHaveAttribute('lang', 'ja');
71
+ await expect(root).toHaveAttribute('lang', 'zh');
72
+ });
73
+ });
74
+ }
@@ -0,0 +1,27 @@
1
+ /* eslint-disable max-lines */
2
+ import { Key } from 'webdriverio';
3
+ import ModalSlideCO from '../ModalSlideCO';
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-18429 - ModalSlide: Slots Test - Visual', () => {
12
+ before('loading page', async () => {
13
+ const errorOnGo = await ModalSlideCO.slotsTest.go();
14
+ if (errorOnGo) throw errorOnGo;
15
+ });
16
+ it('01: should display ModalSlide with customized slots', async () => {
17
+ await browser.eyesOpen();
18
+ await browser.keys(Key.Tab);
19
+ await browser.keys(Key.Tab);
20
+ await browser.keys(Key.Return);
21
+ const root = await ModalSlideCO.getSlotRoot();
22
+ await root.waitForDisplayed();
23
+ const snapshot = await browser.eyesCheckSnapshot(ModalSlideCO.snapshotPath('modal-slide-slots'));
24
+ await expect(snapshot).toEqual(0);
25
+ });
26
+ });
27
+ }
@@ -7,8 +7,8 @@ describe('PUI-9354:: Notification Badge: Relate to component', () => {
7
7
  if (errorOnGo) throw errorOnGo;
8
8
  });
9
9
  it('01: Should display relate to component', async () => {
10
- await browser.eyesOpen();
11
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-relate-to-component'));
10
+ await DSNotificationBadgeCO.getNotificationBadgeByIndex(0).waitForDisplayed();
11
+ const snapshot = await browser.percyCheckScreenshot();
12
12
  await expect(snapshot).toEqual(0);
13
13
  });
14
14
  });
@@ -19,8 +19,8 @@ describe('PUI-9353:: Notification Badge: Disabled', () => {
19
19
  if (errorOnGo) throw errorOnGo;
20
20
  });
21
21
  it('01: Should display disabled badge', async () => {
22
- await browser.eyesOpen();
23
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-disabled'));
22
+ await DSNotificationBadgeCO.getNotificationBadgeByIndex(0).waitForDisplayed();
23
+ const snapshot = await browser.percyCheckScreenshot();
24
24
  await expect(snapshot).toEqual(0);
25
25
  });
26
26
  });
@@ -31,8 +31,8 @@ describe('PUI-9352:: Notification Badge: Background color', () => {
31
31
  if (errorOnGo) throw errorOnGo;
32
32
  });
33
33
  it('01: Should display custom background color badges', async () => {
34
- await browser.eyesOpen();
35
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-background-color'));
34
+ await DSNotificationBadgeCO.getNotificationBadgeByIndex(0).waitForDisplayed();
35
+ const snapshot = await browser.percyCheckScreenshot();
36
36
  await expect(snapshot).toEqual(0);
37
37
  });
38
38
  });
@@ -43,8 +43,8 @@ describe('PUI-9355:: Notification Badge: Alphanumerical', () => {
43
43
  if (errorOnGo) throw errorOnGo;
44
44
  });
45
45
  it('01: Should display custom background color badges', async () => {
46
- await browser.eyesOpen();
47
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-alpha-chars'));
46
+ await DSNotificationBadgeCO.getNotificationBadgeByIndex(0).waitForDisplayed();
47
+ const snapshot = await browser.percyCheckScreenshot();
48
48
  await expect(snapshot).toEqual(0);
49
49
  });
50
50
  });
@@ -55,8 +55,8 @@ describe('PUI-11412:: Notification Badge: Chip, Icon and Button integration -Vis
55
55
  if (errorOnGo) throw errorOnGo;
56
56
  });
57
57
  it('01: Should display integration with Chips and Button components correctly', async () => {
58
- await browser.eyesOpen();
59
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-chip-default'));
58
+ await DSNotificationBadgeCO.getNotificationBadgeByIndex(0).waitForDisplayed();
59
+ const snapshot = await browser.percyCheckScreenshot();
60
60
  await expect(snapshot).toEqual(0);
61
61
  });
62
62
  });
@@ -66,8 +66,8 @@ describe('PUI-11413:: Notification Badge: Custom Component Integration -Visual T
66
66
  if (errorOnGo) throw errorOnGo;
67
67
  });
68
68
  it('01: Should display integration with custom components correctly', async () => {
69
- await browser.eyesOpen();
70
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-custom-component'));
69
+ await DSNotificationBadgeCO.getNotificationBadgeByIndex(0).waitForDisplayed();
70
+ const snapshot = await browser.percyCheckScreenshot();
71
71
  await expect(snapshot).toEqual(0);
72
72
  });
73
73
  });
@@ -81,7 +81,7 @@ describe('PUI-11817:: NotificationBadge: with LeftNavigation example -Visual', (
81
81
  await browser.eyesOpen();
82
82
  const notification = await DSNotificationBadgeCO.getNotificationBadgeByIndex(1);
83
83
  await notification.waitForDisplayed();
84
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-leftnav-default'));
84
+ const snapshot = await browser.percyCheckScreenshot();
85
85
  await expect(snapshot).toEqual(0);
86
86
  });
87
87
  it('02: should display left nav with badged items selected, one focused correctly', async () => {
@@ -89,7 +89,7 @@ describe('PUI-11817:: NotificationBadge: with LeftNavigation example -Visual', (
89
89
 
90
90
  const item = await DSNotificationBadgeCO.getIconByIndex(2);
91
91
  await item.click();
92
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-leftnav-selected'));
92
+ const snapshot = await browser.percyCheckScreenshot();
93
93
  await expect(snapshot).toEqual(0);
94
94
  });
95
95
  });
@@ -99,10 +99,8 @@ describe('PUI-14185:: NotificationBadge: textColor prop - Visual Test ', () => {
99
99
  if (errorOnGo) throw errorOnGo;
100
100
  });
101
101
  it('01: should display notification badge with custom textColor', async () => {
102
- await browser.eyesOpen();
103
- const notification = await DSNotificationBadgeCO.getNotificationBadgeByIndex(1);
104
- await notification.waitForDisplayed();
105
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-with-custom-textColor'));
102
+ await DSNotificationBadgeCO.getNotificationBadgeByIndex(1).waitForDisplayed();
103
+ const snapshot = await browser.percyCheckScreenshot();
106
104
  await expect(snapshot).toEqual(0);
107
105
  });
108
106
  });
@@ -114,12 +112,11 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
114
112
  if (errorOnGo) throw errorOnGo;
115
113
  });
116
114
  it('01: should display toolbar with toolbar correctly', async () => {
117
- await browser.eyesOpen();
118
115
  const notification = await DSNotificationBadgeCO.getNotificationBadgeByIndex(1);
119
116
  await notification.waitForDisplayed();
120
117
  await browser.keys(Key.Tab);
121
118
  await browser.keys(Key.ArrowRight);
122
- const snapshot = await browser.eyesCheckSnapshot(DSNotificationBadgeCO.snapshotPath('badge-with-toolbar'));
119
+ const snapshot = await browser.percyCheckScreenshot();
123
120
  await expect(snapshot).toEqual(0);
124
121
  });
125
122
  });
@@ -1,12 +1,12 @@
1
- import { PATH_PAGE_LAYOUT_TEMPLATE } from '../paths';
1
+ import { PATH_E2E_PAGE_LAYOUT } from '../paths';
2
2
  import { PageObject, Urlbuilder } from '../helpers';
3
3
 
4
4
  export default class PageLayoutCO extends PageObject {
5
- static basicURL = new Urlbuilder(PATH_PAGE_LAYOUT_TEMPLATE, 'basic');
5
+ static basicURL = new Urlbuilder(PATH_E2E_PAGE_LAYOUT, 'basic-test');
6
6
 
7
- static complexURL = new Urlbuilder(PATH_PAGE_LAYOUT_TEMPLATE, 'complex-page');
7
+ static complexURL = new Urlbuilder(PATH_E2E_PAGE_LAYOUT, 'complex-page-test');
8
8
 
9
- static integratedURL = new Urlbuilder(PATH_PAGE_LAYOUT_TEMPLATE, 'integrated-example');
9
+ static integratedURL = new Urlbuilder(PATH_E2E_PAGE_LAYOUT, 'integrated-example-test');
10
10
 
11
11
  // Snapshots
12
12
  static snapshotPath(example = 'basic') {
@@ -1,3 +1,4 @@
1
+ /* eslint-disable wdio/no-pause */
1
2
  import DSProgressIndicatorCO from './DSProgressIndicatorCO';
2
3
  import { axeCoreCheck } from '../helpers';
3
4
 
@@ -14,6 +15,7 @@ if (
14
15
  });
15
16
  it('01: should display basic progress indicator and pass axe-core', async () => {
16
17
  await (await DSProgressIndicatorCO.getUploadLabel()).waitForDisplayed();
18
+ await browser.pause(500);
17
19
  const result = await axeCoreCheck();
18
20
  expect(result.length).toBe(0);
19
21
  });
@@ -12,7 +12,7 @@ export default class DSProgressIndicatorCO extends PageObject {
12
12
  }
13
13
 
14
14
  static async getUploadLabel() {
15
- return $('//div[contains(text(), "upload")]');
15
+ return $('//span[contains(text(), "upload")]');
16
16
  }
17
17
 
18
18
  // Snapshots
@@ -12,6 +12,7 @@ const DSShuttleV2DataTestIds = {
12
12
  ITEM_LABEL_WRAPPER: 'ds-shuttlev2-item-label-wrapper',
13
13
  ITEM_MIDSECTION_WRAPPER: 'ds-shuttlev2-item-midsection-wrapper',
14
14
  ITEM_SELECTION: 'ds-shuttlev2-item-selection',
15
+ ITEM_SELECTION_CHECKBOX_UI: 'ds-shuttlev2-item-selection-checkbox-ui',
15
16
  ITEM_ACTIONS_WRAPPER: 'ds-shuttlev2-item-actions-wrapper',
16
17
  ITEM_ACTION_WRAPPER: 'ds-shuttlev2-item-action-wrapper',
17
18
  ITEM_ACTION_BTN: 'ds-shuttlev2-item-action-btn',
@@ -27,7 +28,6 @@ const DSShuttleV2DataTestIds = {
27
28
  MOVE_MULTIPLE_WRAPPER: 'ds-shuttlev2-move-multiple-wrapper',
28
29
  MOVE_MULTIPLE_BTN: 'ds-shuttlev2-move-multiple-btn',
29
30
  LIST_WRAPPER_MID: 'ds-shuttlev2-list-wrapper-mid',
30
- LIST_WRAPPER_MID_SCROLLER: 'ds-shuttlev2-list-wrapper-mid-scroller',
31
31
  LIST_WRAPPER_TOP: 'ds-shuttlev2-list-wrapper-top',
32
32
  AREA_SEARCH_WRAPPER: 'ds-shuttlev2-area-search-wrapper',
33
33
  AREA_SEARCH_BAR: 'ds-shuttlev2-area-search-bar',
@@ -78,6 +78,8 @@ export default class DSShuttleV2CO extends PageObject {
78
78
 
79
79
  static insideDialogURL = new Urlbuilder(PATH_E2E_SHUTTLE_V2, 'inside-dialog-test');
80
80
 
81
+ static explicitSelectionUIURL = new Urlbuilder(PATH_E2E_SHUTTLE_V2, 'explicit-selection-ui-test');
82
+
81
83
  // Getter's
82
84
 
83
85
  static getHeaderSearchIcon = async (index = 0) =>
@@ -104,6 +106,14 @@ export default class DSShuttleV2CO extends PageObject {
104
106
 
105
107
  static getItemSelection = async (index = 0) => $$(`[data-testid=${DSShuttleV2DataTestIds.ITEM_SELECTION}]`)[index];
106
108
 
109
+ static getItemSelectionCheckboxUI = async (index = 0) =>
110
+ $$(`[data-testid=${DSShuttleV2DataTestIds.ITEM_SELECTION_CHECKBOX_UI}]`)[index];
111
+
112
+ static getItemSelections = async () => $$(`[data-testid=${DSShuttleV2DataTestIds.ITEM_SELECTION}]`);
113
+
114
+ static getItemSelectionCheckboxUIs = async () =>
115
+ $$(`[data-testid=${DSShuttleV2DataTestIds.ITEM_SELECTION_CHECKBOX_UI}]`);
116
+
107
117
  static getItemsActionsWrapper = async (index = 0) =>
108
118
  $$(`[data-testid=${DSShuttleV2DataTestIds.ITEM_ACTIONS_WRAPPER}]`)[index];
109
119
 
@@ -0,0 +1,37 @@
1
+ import DSShuttleV2CO from '../DSShuttleV2CO';
2
+
3
+ // Tests for the WCAG 1.4.1 "Use of Color" fix introduced in PUI-15539:
4
+ // the `explicitSelectionUI` flag swaps the color-only vertical bar for an
5
+ // explicit checkbox as the per-item selection indicator.
6
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
+ describe('PUI-18638 - DSShuttleV2:: explicitSelectionUI checkbox indicator - func', () => {
8
+ before(async () => {
9
+ const errorOnGo = await DSShuttleV2CO.explicitSelectionUIURL.go();
10
+ if (errorOnGo) throw errorOnGo;
11
+ });
12
+
13
+ it('01: should render an explicit checkbox indicator per item and no color-only vertical bar', async () => {
14
+ const verticalBars = await DSShuttleV2CO.getItemSelections();
15
+ const checkboxUIs = await DSShuttleV2CO.getItemSelectionCheckboxUIs();
16
+ await expect(verticalBars.length).toBe(0);
17
+ await expect(checkboxUIs.length).toBeGreaterThan(0);
18
+ await expect(await DSShuttleV2CO.getItemSelectionCheckboxUI(0)).toBeExisting();
19
+ });
20
+
21
+ it('02: should check the selection indicator after selecting a selectable item', async () => {
22
+ const selectableItem = await DSShuttleV2CO.getItemWrapper(0); // "Source 0.0" — even index, selectable
23
+ const selectableCheckbox = await DSShuttleV2CO.getItemCheckboxByIndex(0);
24
+ await expect(await selectableCheckbox.getAttribute('aria-checked')).toBe('false');
25
+ await selectableItem.click();
26
+ await expect(await selectableCheckbox.getAttribute('aria-checked')).toBe('true');
27
+ });
28
+
29
+ it('03: should keep the selection-prevented item disabled and unchecked after click', async () => {
30
+ const preventedItem = await DSShuttleV2CO.getItemWrapper(1); // "Source 0.1" — odd index, prevented
31
+ const preventedCheckbox = await DSShuttleV2CO.getItemCheckboxByIndex(1);
32
+ await expect(await preventedCheckbox.getAttribute('aria-disabled')).toBe('true');
33
+ await preventedItem.click();
34
+ await expect(await preventedCheckbox.getAttribute('aria-checked')).toBe('false');
35
+ });
36
+ });
37
+ }
@@ -0,0 +1,27 @@
1
+ import DSShuttleV2CO from '../DSShuttleV2CO';
2
+
3
+ // Visual coverage for the WCAG 1.4.1 "Use of Color" fix (PUI-15539): with
4
+ // `explicitSelectionUI`, items expose unselected, selected and disabled
5
+ // checkbox states as a non-color selection indicator.
6
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
+ describe('PUI-18639 - DSShuttleV2:: explicitSelectionUI checkbox indicators - visual', () => {
8
+ before(async () => {
9
+ const errorOnGo = await DSShuttleV2CO.explicitSelectionUIURL.go();
10
+ if (errorOnGo) throw errorOnGo;
11
+ });
12
+
13
+ it('01: should display unselected checkboxes and disabled checkboxes on prevented items', async () => {
14
+ const snapshot = await browser.percyCheckScreenshot();
15
+ await expect(snapshot).toEqual(0);
16
+ });
17
+
18
+ it('02: should display checked checkboxes and the BAB after selecting selectable items', async () => {
19
+ const firstSelectable = await DSShuttleV2CO.getItemWrapper(0); // "Source 0.0" — selectable
20
+ await firstSelectable.click();
21
+ const secondSelectable = await DSShuttleV2CO.getItemWrapper(2); // "Source 0.2" — selectable
22
+ await secondSelectable.click();
23
+ const snapshot = await browser.percyCheckScreenshot();
24
+ await expect(snapshot).toEqual(0);
25
+ });
26
+ });
27
+ }
@@ -7,7 +7,7 @@ if (
7
7
  browser.capabilities.browserName === 'Chrome') ||
8
8
  browser.capabilities.browserName === 'chrome'
9
9
  ) {
10
- // to be unskiped after PUI-10785 is fixed
10
+ // to be unskiped after PUI-18632 is fixed
11
11
  describe.skip('PUI-10774 - Shuttle V2, Load More -AxeCore.', () => {
12
12
  before(async () => {
13
13
  const errorOnGo = await DSShuttleV2CO.loadMoreURL.go();
@@ -7,7 +7,7 @@ if (
7
7
  browser.capabilities.browserName === 'Chrome') ||
8
8
  browser.capabilities.browserName === 'chrome'
9
9
  ) {
10
- // to be unskiped after PUI-11211 is fixed
10
+ // to be unskiped after PUI-18632 is fixed
11
11
  describe.skip('PUI-10775 - Shuttle V2, Filter axe-core -Func.', () => {
12
12
  before(async () => {
13
13
  const errorOnGo = await DSShuttleV2CO.filterURL.go();
@@ -7,7 +7,7 @@ if (
7
7
  browser.capabilities.browserName === 'Chrome') ||
8
8
  browser.capabilities.browserName === 'chrome'
9
9
  ) {
10
- // to be unskiped after PUI-10785 is fixed
10
+ // to be unskiped after PUI-18632 is fixed
11
11
  describe.skip('PUI-10776 - Shuttle V2, Select/deselect with disabled items -AxeCore.', () => {
12
12
  before(async () => {
13
13
  const errorOnGo = await DSShuttleV2CO.disabledItemsURL.go();
@@ -7,7 +7,7 @@ if (
7
7
  browser.capabilities.browserName === 'Chrome') ||
8
8
  browser.capabilities.browserName === 'chrome'
9
9
  ) {
10
- // to be unskiped after PUI-10785 is fixed
10
+ // to be unskiped after PUI-18632 is fixed
11
11
  describe.skip('PUI-10777 - Shuttle V2, Soft delete -AxeCore.', () => {
12
12
  before(async () => {
13
13
  const errorOnGo = await DSShuttleV2CO.softDeleteURL.go();
@@ -28,7 +28,7 @@ if (
28
28
  expect(result.length).toBe(0);
29
29
  });
30
30
  });
31
- // to be unskiped after PUI-10785 is fixed
31
+ // to be unskiped after PUI-18632 is fixed
32
32
  describe.skip('PUI-10778 - Shuttle V2, Subtitle -AxeCore.', () => {
33
33
  before(async () => {
34
34
  const errorOnGo = await DSShuttleV2CO.subtitleURL.go();
@@ -46,7 +46,7 @@ if (
46
46
  expect(result.length).toBe(0);
47
47
  });
48
48
  });
49
- // to be unskiped after PUI-10785 is fixed
49
+ // to be unskiped after PUI-18632 is fixed
50
50
  describe.skip('PUI-10779 - Shuttle V2, Max selected items -AxeCore.', () => {
51
51
  before(async () => {
52
52
  const errorOnGo = await DSShuttleV2CO.maxSelectedURL.go();
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable max-statements */
2
2
  /* eslint-disable max-lines */
3
- // to be unskiped after PUI-11211 is fixed
3
+ // to be unskiped after PUI-18632 is fixed
4
4
  describe.skip('PUI-10768 - Shuttle V2, Basic -AxeCore.', () => {
5
5
  before(async () => {
6
6
  const errorOnGo = await DSShuttleV2CO.basicURL.go();
@@ -25,7 +25,7 @@ describe.skip('PUI-10768 - Shuttle V2, Basic -AxeCore.', () => {
25
25
  });
26
26
  });
27
27
 
28
- // to be unskiped after PUI-10785 is fixed
28
+ // to be unskiped after PUI-18632 is fixed
29
29
  describe.skip('PUI-10770 - Shuttle V2, Tooltip with keyboard -AxeCore.', () => {
30
30
  before(async () => {
31
31
  const errorOnGo = await DSShuttleV2CO.customRendererURL.go();
@@ -46,7 +46,7 @@ describe.skip('PUI-10770 - Shuttle V2, Tooltip with keyboard -AxeCore.', () =>
46
46
 
47
47
  // From drilldown
48
48
 
49
- // to be unskiped after PUI-11211 is fixed
49
+ // to be unskiped after PUI-18632 is fixed
50
50
  describe.skip('PUI-10771 - Shuttle V2, Drill Down and NOT Keep parent -AxeCore.', () => {
51
51
  before(async () => {
52
52
  const errorOnGo = await DSShuttleV2CO.basicURL.go();
@@ -72,7 +72,7 @@ describe.skip('PUI-10771 - Shuttle V2, Drill Down and NOT Keep parent -AxeCore.'
72
72
  expect(result.length).toBe(0);
73
73
  });
74
74
  });
75
- // to be unskiped after PUI-11211 is fixed
75
+ // to be unskiped after PUI-18632 is fixed
76
76
  describe.skip('PUI-10772 - Shuttle V2, Drill down and keep parent -AxeCore.', () => {
77
77
  before(async () => {
78
78
  const errorOnGo = await DSShuttleV2CO.basicKeepParentURL.go();
@@ -92,7 +92,7 @@ describe.skip('PUI-10772 - Shuttle V2, Drill down and keep parent -AxeCore.', (
92
92
 
93
93
  // From drilldown KB
94
94
 
95
- // To be unskipped and steps to be added after 11211 is fixed
95
+ // To be unskipped and steps to be added after PUI-18632 is fixed
96
96
  describe.skip('PUI-10109 - Shuttle V2, Drill down and keep parent, KB -Func.', () => {
97
97
  before(async () => {
98
98
  const errorOnGo = await DSShuttleV2CO.basicKeepParentURL.go();
@@ -12,7 +12,7 @@ import DSTabButtonCO from './DSTabButtonCO';
12
12
  });
13
13
  }
14
14
  */
15
- describe('PUI-XXXX - TabButton:: example test - data-testid exists', () => {
15
+ describe.skip('PUI-XXXX - TabButton:: example test - data-testid exists', () => {
16
16
  before('loading page', async () => {
17
17
  const errorOnGo = await DSTabButtonCO.basic.go();
18
18
  if (errorOnGo) throw errorOnGo;