dimsum-e2e-tests 1.0.36 → 1.2.0

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 (134) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/ds-accordion/DSAccordion.axe-core.func.spec.js +18 -19
  3. package/ds-accordion/DSAccordion.func.spec.js +3 -3
  4. package/ds-accordion/DSAccordion.visual.spec.js +7 -0
  5. package/ds-accordion/DSAccordionCO.js +75 -11
  6. package/ds-accordion/QA_NOTES.md +105 -0
  7. package/ds-accordion/aria-disabled/DSAccordion.aria-disabled.axe-core.func.spec.js +25 -0
  8. package/ds-accordion/aria-disabled/DSAccordion.aria-disabled.visual.spec.js +23 -0
  9. package/ds-accordion/controlled/DSAccordion.controlled.func.spec.js +23 -0
  10. package/ds-accordion/header-structure/DSAccordion.header-structure.func.spec.js +65 -0
  11. package/ds-accordion/input-inside/DSAccordion.input-inside.func.spec.js +19 -0
  12. package/ds-accordion/role/DSAccordion.role-heading.func.spec.js +21 -0
  13. package/ds-accordion/scrollable-content/DSAccordion.scrollable-content.visual.spec.js +42 -0
  14. package/ds-accordion/slots/DSAccordion.slots.axe-core.func.spec.js +25 -0
  15. package/ds-accordion/slots/DSAccordion.slots.func.spec.js +67 -0
  16. package/ds-accordion/slots/DSAccordion.slots.visual.spec.js +18 -0
  17. package/ds-accordion/wrapLabel/DSAccordion.wrap-label.visual.spec.js +20 -0
  18. package/ds-autocomplete/DSAutocompleteCO.js +3 -3
  19. package/ds-button-v3/DSButtonV3.aria-diabled.axe-core.func.spec.js +22 -0
  20. package/ds-button-v3/DSButtonV3.aria-disabled-attribute.func.spec.js +33 -0
  21. package/ds-button-v3/DSButtonV3.aria-disabled.visual.spec.js +48 -0
  22. package/ds-button-v3/DSButtonV3.func.spec.js +27 -0
  23. package/ds-button-v3/DSButtonV3.type-submit.func.spec.js +28 -0
  24. package/ds-button-v3/DSButtonV3.visual.spec.js +92 -0
  25. package/ds-button-v3/DSButtonV3CO.js +60 -0
  26. package/ds-button-v3/theme-font/DSButtonV3.theme-font.func.spec.js +30 -0
  27. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.axe-core.basic.func.spec.js +4 -4
  28. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.basic.visual.spec.js +56 -0
  29. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO.js +57 -2
  30. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.axe-core.disabled.func.spec.js +1 -1
  31. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.disabled.visual.spec.js +1 -1
  32. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.axe-core.hasError.func.spec.js +4 -4
  33. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.has-error.visual.spec.js +71 -1
  34. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.axe-core.mixed.func.spec.js +4 -4
  35. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.func.spec.js +19 -37
  36. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.keyboard-nav.func.spec.js +51 -0
  37. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.visual.spec.js +14 -16
  38. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.axe-core.read-only.func.spec.js +3 -3
  39. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.read-only.visual.spec.js +1 -1
  40. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.axe-core.with-tooltip.func.spec.js +1 -1
  41. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.with-tooltip.visual.spec.js +1 -3
  42. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.axe-core.wrap-label.func.spec.js +1 -1
  43. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.wrap-label.visual.spec.js +1 -1
  44. package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.aria-disabled.visual.spec.js +25 -0
  45. package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.axe-core.aria-disabled.func.spec.js +24 -0
  46. package/ds-controlled-form/ds-controlled-checkbox/slots/DSControlledCheckbox.slots.func.spec.js +78 -0
  47. package/ds-controlled-form/ds-controlled-checkbox/theme-font/DSControlledCheckbox.theme-font.func.spec.js +30 -0
  48. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +7 -21
  49. package/ds-controlled-form/ds-controlled-inputgroup/autocomplete/DSControlledInputGroup.autocomplete.axe-core.func.spec.js +5 -6
  50. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.axe-core.func.spec.js +3 -2
  51. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.visual.spec.js +3 -2
  52. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.axe-core.func.spec.js +2 -1
  53. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.func.spec.js +3 -2
  54. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.axe-core.func.spec.js +3 -2
  55. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.func.spec.js +2 -1
  56. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.visual.spec.js +2 -1
  57. package/ds-controlled-form/ds-input-text/DSInputText.clearable.keyboard.func.spec.js +2 -2
  58. package/ds-controlled-form/ds-input-text/DSInputText.func.spec.js +14 -12
  59. package/ds-controlled-form/ds-input-text/DSInputTextCO.js +31 -8
  60. package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.axe-core.func.spec.js +23 -0
  61. package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.func.spec.js +42 -0
  62. package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.visual.spec.js +28 -0
  63. package/ds-controlled-form/ds-input-text/placeholder/DSInputText.placeholder.visual.spec.js +15 -0
  64. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.axe-core.func.spec.js +23 -0
  65. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.func.spec.js +23 -0
  66. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.visual.spec.js +28 -0
  67. package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.axe-core.func.spec.js +23 -0
  68. package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.func.spec.js +35 -0
  69. package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.visual.spec.js +19 -0
  70. package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +2 -1
  71. package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +2 -1
  72. package/ds-controlled-form/react-hook-form/ReactHookCO.js +0 -10
  73. package/ds-controlled-form/useMask/Number/UseNumberMask.axe-core.func.spec.js +48 -0
  74. package/ds-controlled-form/useMask/Number/UseNumberMask.func.spec.js +37 -36
  75. package/ds-controlled-form/useMask/Number/UseNumberMask.visual.spec.js +7 -6
  76. package/ds-controlled-form/useMask/Phone/UsePhoneMask.func.spec.js +9 -8
  77. package/ds-controlled-form/useMask/Phone/UsePhoneMask.visual.spec.js +4 -3
  78. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +4 -3
  79. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +5 -4
  80. package/ds-controlled-form/useMask/RegExp/UseRegExpMask.func.spec.js +6 -5
  81. package/ds-controlled-form/useMask/SSN/UseSsnMask.func.spec.js +7 -6
  82. package/ds-controlled-form/useMask/ZipCode/UseZipCodeMask.func.spec.js +6 -5
  83. package/ds-controlled-form/useMask/useMaskCO.js +1 -11
  84. package/ds-data-table-async/components/FiltersCOextra.js +1 -1
  85. package/ds-data-table-async/components/OnRowClickCO.js +1 -1
  86. package/ds-data-table-async/pagination/DSDataTable.pagination.func.spec.js +3 -2
  87. package/ds-dialog/components/DialogFormsCO.js +1 -1
  88. package/ds-dropdownmenu-v2/DSDDMenuV2.axe-core.func.spec.js +2 -15
  89. package/ds-dropdownmenu-v2/DSDDMenuV2.visual.spec.js +5 -5
  90. package/ds-dropdownmenu-v2/DSDDMenuV2CO.js +8 -2
  91. package/ds-dropdownmenu-v2/aria-disabled/DSDDMenuV2.aria-disabled.visual.spec.js +20 -0
  92. package/ds-dropdownmenu-v2/basic/DSDDMenuV2.basic.func.spec.js +27 -27
  93. package/ds-dropdownmenu-v2/mandatory-single/DSDDMenuV2.mandatory-single.func.spec.js +4 -4
  94. package/ds-floating-context/DSFloatingContext.visual.spec.js +46 -0
  95. package/ds-floating-context/DSFloatingContextCO.js +46 -0
  96. package/ds-floating-context/placement/DSFloatingContext.placement.visual.spec.js +48 -0
  97. package/ds-floating-context/slots/DSFloatingContext.slots.axe-core.func.spec.js +23 -0
  98. package/ds-floating-context/slots/DSFloatingContext.slots.func.spec.js +41 -0
  99. package/ds-floating-context/slots/DSFloatingContext.slots.visual.spec.js +18 -0
  100. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +3 -3
  101. package/ds-hooks/DSHook.usetree.func.spec.js +3 -2
  102. package/ds-hooks/useFocusTrap/UseFocusTrap.func.spec.js +36 -0
  103. package/ds-hooks/useFocusTrap/UseFocusTrapCO.js +10 -0
  104. package/ds-hooks/useKeyboardNavigation/DSHook.useKeyboardNavigation.func.spec.js +145 -0
  105. package/ds-hooks/useKeyboardNavigation/UseKeyboardNavigationCO.js +33 -0
  106. package/ds-hooks/useOnBlurOut/UseOnBlurOut.axe-core.func.spec.js +29 -0
  107. package/ds-hooks/useOnBlurOut/UseOnBlurOut.func.spec.js +83 -0
  108. package/ds-hooks/useOnBlurOut/UseOnBlurOutCO.js +11 -0
  109. package/ds-icons/DSIcons.visual.spec.js +45 -0
  110. package/ds-icons/DSIconsCO.js +30 -0
  111. package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.axe-core.func.spec.js +31 -0
  112. package/ds-menu-item/DSMenuItems.func.spec.js +16 -16
  113. package/ds-menu-item/DSMenuItems.visual.spec.js +8 -32
  114. package/ds-menu-item/DSMenuItemsCO.js +4 -0
  115. package/ds-menu-item/aria-disabled/DSMenuItems.aria-disabled.axe-core.func.spec.js +35 -0
  116. package/ds-menu-item/aria-disabled/DSMenuItems.aria-disabled.visual.spec.js +68 -0
  117. package/ds-menu-item/read-only/DSMenuItems.read-only.axe-core.func.spec.js +35 -0
  118. package/ds-menu-item/read-only/DSMenuItems.read-only.visual.spec.js +66 -0
  119. package/ds-query-builder/DSQueryBuilderCO.js +1 -1
  120. package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +4 -2
  121. package/ds-system/DSSystem.visual.spec.js +19 -0
  122. package/ds-system/DSSystemCO.js +15 -0
  123. package/ds-typography/DSTypography.func.spec.js +5 -5
  124. package/ds-typography/DSTypography.visual.spec.js +50 -48
  125. package/ds-typography/DSTypographyCO.js +25 -5
  126. package/ds-typography/theme-font/DSTypography.theme-font.func.spec.js +30 -0
  127. package/package.json +121 -119
  128. package/ds-button-v2/DSButtonV2.axe-core.func.spec.js +0 -22
  129. package/ds-button-v2/DSButtonV2.func.spec.js +0 -139
  130. package/ds-button-v2/DSButtonV2.visual.spec.js +0 -153
  131. package/ds-button-v2/DSButtonV2CO.js +0 -43
  132. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckbox.smoke.spec.js +0 -125
  133. package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.func.spec.js +0 -17
  134. /package/ds-typography/{DSTypography.resize.visual.spec.js → DSTypography.resize.skipped.js} +0 -0
@@ -0,0 +1,36 @@
1
+ /* eslint-disable max-len */
2
+ import { Key } from 'webdriverio';
3
+ import UseFocusTrapCO from './UseFocusTrapCO';
4
+ import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
5
+
6
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
+ describe('PUI-12975, useFocusTrap hook -Func', () => {
8
+ before(async () => {
9
+ const errorOnGo = await UseFocusTrapCO.basicTest.go();
10
+ if (errorOnGo) throw errorOnGo;
11
+ });
12
+ it('01: should normally tab to third item', async () => {
13
+ await browser.keys(Key.Tab);
14
+ await browser.keys(Key.Tab);
15
+ await browser.keys(Key.Tab);
16
+ const button = await DSButtonV3CO.getButtonByIndex(2);
17
+ await expect(button).toBeFocused();
18
+ });
19
+ it('02: should tab and cycle back to second item (instead of the fourth)', async () => {
20
+ await browser.keys(Key.Tab);
21
+ const button = await DSButtonV3CO.getButtonByIndex(1);
22
+ await expect(button).toBeFocused();
23
+ });
24
+ it('03: should shif+tab and cycle back to third item (instead of the first)', async () => {
25
+ await browser.keys([Key.Shift, Key.Tab]);
26
+ const button = await DSButtonV3CO.getButtonByIndex(2);
27
+ await expect(button).toBeFocused();
28
+ });
29
+ it('04: should tab x2 and reach the same item (third)', async () => {
30
+ await browser.keys(Key.Tab);
31
+ await browser.keys(Key.Tab);
32
+ const button = await DSButtonV3CO.getButtonByIndex(2);
33
+ await expect(button).toBeFocused();
34
+ });
35
+ });
36
+ }
@@ -0,0 +1,10 @@
1
+ /* eslint-disable import/no-relative-packages */
2
+ import { PATH_E2E_USE_FOCUS_TRAP } from '../../environments/storybook/paths';
3
+ import { PageObject, Urlbuilder } from '../../helpers';
4
+
5
+ export default class UseFocusTrapCO extends PageObject {
6
+ // Desktop
7
+ static basicTest = new Urlbuilder(PATH_E2E_USE_FOCUS_TRAP, 'basic-test');
8
+
9
+ static toggleTest = new Urlbuilder(PATH_E2E_USE_FOCUS_TRAP, 'toggle-test');
10
+ }
@@ -0,0 +1,145 @@
1
+ /* eslint-disable max-len */
2
+ import { Key } from 'webdriverio';
3
+ import UseKeyboardNavCO from './UseKeyboardNavigationCO';
4
+ // import DSCardV3CO from '../../ds-card-v3/DSCardV3CO';
5
+ import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
6
+ import DSMenuItemsCO from '../../ds-menu-item/DSMenuItemsCO';
7
+ import { tabStops } from '../../helpers';
8
+
9
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
10
+ // Uncomment after CardV3 is completely released
11
+ // describe('PUI-12538 [useKeyboardNav] Card Select:: DisableRoving true + agnostic direction', () => {
12
+ // before(async () => {
13
+ // const errorOnGo = await UseKeyboardNavCO.cardSelect.go();
14
+ // if (errorOnGo) throw errorOnGo;
15
+ // });
16
+ // it('01: should focus on the 4th card after 3 tab stops', async () => {
17
+ // await tabStops(3);
18
+ // const card4 = await DSCardV3CO.getActionAreaByIndex(3);
19
+ // await expect(card4).toBeFocused();
20
+ // });
21
+ // it('02: should focus on the 2nd card after moving up with ArrowUp', async () => {
22
+ // await browser.keys(Key.ArrowUp);
23
+ // const card2 = await DSCardV3CO.getActionAreaByIndex(1);
24
+ // await expect(card2).toBeFocused();
25
+ // });
26
+ // it('03: should focus on the 1st card after moving up with ArrowLeft', async () => {
27
+ // await browser.keys(Key.ArrowLeft);
28
+ // const card1 = await DSCardV3CO.getActionAreaByIndex(0);
29
+ // await expect(card1).toBeFocused();
30
+ // });
31
+ // it('04: should focus on the 2nd card after moving down with ArrowDown', async () => {
32
+ // await browser.keys(Key.ArrowDown);
33
+ // const card2 = await DSCardV3CO.getActionAreaByIndex(1);
34
+ // await expect(card2).toBeFocused();
35
+ // });
36
+ // it('05: should focus on the 4th card after moving down with ArrowRight', async () => {
37
+ // await browser.keys(Key.ArrowRight);
38
+ // const card4 = await DSCardV3CO.getActionAreaByIndex(3);
39
+ // await expect(card4).toBeFocused();
40
+ // });
41
+ // });
42
+ describe('PUI-12539 [useKeyboardNav] disabledRovingTab:: DisableRoving true + horizontal direction', () => {
43
+ before(async () => {
44
+ const errorOnGo = await UseKeyboardNavCO.disabledRovingTab.go();
45
+ if (errorOnGo) throw errorOnGo;
46
+ });
47
+ it('01: should focus on 4th item after 3 tab stops', async () => {
48
+ await tabStops(3);
49
+ const item4 = await DSButtonV3CO.getButtonByIndex(3);
50
+ await expect(item4).toBeFocused();
51
+ });
52
+ it('02: should not move to the previous item when using ArrowUp', async () => {
53
+ await browser.keys(Key.ArrowUp);
54
+ const item4 = await DSButtonV3CO.getButtonByIndex(3);
55
+ await expect(item4).toBeFocused();
56
+ });
57
+ it('03: should focus on the 2nd item after moving to the previous item using ArrowLeft', async () => {
58
+ await browser.keys(Key.ArrowLeft);
59
+ const item2 = await DSButtonV3CO.getButtonByIndex(1);
60
+ await expect(item2).toBeFocused();
61
+ });
62
+ it('04: should not move to the next item when using ArrowDown', async () => {
63
+ await browser.keys(Key.ArrowDown);
64
+ const item2 = await DSButtonV3CO.getButtonByIndex(1);
65
+ await expect(item2).toBeFocused();
66
+ });
67
+ it('05: should focus on the 4th item after moving to the next item using ArrowRight', async () => {
68
+ await browser.keys(Key.ArrowRight);
69
+ const item4 = await DSButtonV3CO.getButtonByIndex(3);
70
+ await expect(item4).toBeFocused();
71
+ });
72
+ });
73
+ describe('PUI-12540 [useKeyboardNav] focusCriteria:: DisableRoving false + vertical direction', () => {
74
+ before(async () => {
75
+ const errorOnGo = await UseKeyboardNavCO.focusCriteria.go();
76
+ if (errorOnGo) throw errorOnGo;
77
+ });
78
+ it('01: should focus on the inputText after 2 tab stops', async () => {
79
+ await tabStops(2);
80
+ const inputText = await UseKeyboardNavCO.getInputText();
81
+ await expect(inputText).toBeFocused();
82
+ });
83
+ it('02: should focus on the first item after Shift+Tab', async () => {
84
+ await browser.keys([Key.Shift, Key.Tab]);
85
+ const item1 = await DSButtonV3CO.getButtonByIndex(0);
86
+ await expect(item1).toBeFocused();
87
+ });
88
+ it('03: should move to the next item when using ArrowDown', async () => {
89
+ await browser.keys(Key.ArrowRight);
90
+ const item3 = await DSButtonV3CO.getButtonByIndex(2);
91
+ await expect(item3).toBeFocused();
92
+ });
93
+ it('04: should not focus on the next item when using ArrowDown', async () => {
94
+ await browser.keys(Key.ArrowDown);
95
+ const item3 = await DSButtonV3CO.getButtonByIndex(2);
96
+ await expect(item3).toBeFocused();
97
+ });
98
+ it('05: should not focus on the prev item when using ArrowUp', async () => {
99
+ await browser.keys(Key.ArrowUp);
100
+ const item3 = await DSButtonV3CO.getButtonByIndex(2);
101
+ await expect(item3).toBeFocused();
102
+ });
103
+ it('06: should move to the prev item when using ArrowLeft', async () => {
104
+ await browser.keys(Key.ArrowLeft);
105
+ const item1 = await DSButtonV3CO.getButtonByIndex(0);
106
+ await expect(item1).toBeFocused();
107
+ });
108
+ });
109
+ describe('PUI-12541 [useKeyboardNav] menuItems:: DisableRoving false + agnostic direction', () => {
110
+ before(async () => {
111
+ const errorOnGo = await UseKeyboardNavCO.menuItems.go();
112
+ if (errorOnGo) throw errorOnGo;
113
+ });
114
+ it('01: should focus on the inputText after 2 tab stops', async () => {
115
+ await tabStops(2);
116
+ const inputText = await UseKeyboardNavCO.getInputText();
117
+ await expect(inputText).toBeFocused();
118
+ });
119
+ it('02: should focus on the first item after Shift+Tab', async () => {
120
+ await browser.keys([Key.Shift, Key.Tab]);
121
+ const menuItem1 = await DSMenuItemsCO.getMenuItem('1');
122
+ await expect(menuItem1).toBeFocused();
123
+ });
124
+ it('03: should move to the prev item when using ArrowUp', async () => {
125
+ await browser.keys(Key.ArrowUp);
126
+ const menuItem4 = await DSMenuItemsCO.getMenuItem('4');
127
+ await expect(menuItem4).toBeFocused();
128
+ });
129
+ it('04: should move to the prev item when using ArrowLeft', async () => {
130
+ await browser.keys(Key.ArrowLeft);
131
+ const menuItem3 = await DSMenuItemsCO.getMenuItem('3');
132
+ await expect(menuItem3).toBeFocused();
133
+ });
134
+ it('05: should move to the next item when using ArrowRight', async () => {
135
+ await browser.keys(Key.ArrowRight);
136
+ const menuItem4 = await DSMenuItemsCO.getMenuItem('4');
137
+ await expect(menuItem4).toBeFocused();
138
+ });
139
+ it('06: should move to the next item when using ArrowDown', async () => {
140
+ await browser.keys(Key.ArrowDown);
141
+ const menuItem1 = await DSMenuItemsCO.getMenuItem('1');
142
+ await expect(menuItem1).toBeFocused();
143
+ });
144
+ });
145
+ }
@@ -0,0 +1,33 @@
1
+ /* eslint-disable import/no-relative-packages */
2
+ import { PATH_E2E_USE_KEYBOARD_NAVIGATION } from '../../../environments/storybook/paths';
3
+ import { PageObject, Urlbuilder, getElementByIndex } from '../../helpers';
4
+
5
+ export default class UseKeyboardNavCO extends PageObject {
6
+ // direction: agnostic -- disabledRoving: true -- focusCriteria: undefined
7
+ static cardSelect = new Urlbuilder(PATH_E2E_USE_KEYBOARD_NAVIGATION, 'card-select-test');
8
+
9
+ // direction: horizontal -- disabledRoving: true -- focusCriteria: defined
10
+ static disabledRovingTab = new Urlbuilder(PATH_E2E_USE_KEYBOARD_NAVIGATION, 'disable-roving-tab-index-test');
11
+
12
+ // direction: vertical -- disabledRoving: false -- focusCriteria: defined
13
+ static focusCriteria = new Urlbuilder(PATH_E2E_USE_KEYBOARD_NAVIGATION, 'focus-criteria-test');
14
+
15
+ // direction: agnostic -- disabledRoving: false -- focusCriteria: undefined
16
+ static menuItems = new Urlbuilder(PATH_E2E_USE_KEYBOARD_NAVIGATION, 'menu-items-test');
17
+
18
+ static async getBtns() {
19
+ return $$('[data-testid="ds-button"]');
20
+ }
21
+
22
+ static getBtnByIndex = async (index) => getElementByIndex(this.getBtns, index);
23
+
24
+ static async getInputText() {
25
+ return $('[data-testid="input-text"]');
26
+ }
27
+
28
+ // mostly used
29
+ static getInfo = async () => getElementByIndex(this.getH3s, 3);
30
+
31
+ // used for first focus in story
32
+ static getInfo2 = async () => getElementByIndex(this.getH3s, 4);
33
+ }
@@ -0,0 +1,29 @@
1
+ /* eslint-disable max-len */
2
+ import { Key } from 'webdriverio';
3
+ import useOnBlurOutCO from './UseOnBlurOutCO';
4
+ import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
5
+ import { axeCoreCheck } from '../../helpers';
6
+
7
+ if (
8
+ !browser.capabilities['ice:options'].isPhone &&
9
+ !browser.capabilities['ice:options'].isTablet &&
10
+ browser.capabilities.browserName !== 'Safari'
11
+ ) {
12
+ describe('PUI-12892 - UseOnBlurOut, Basic -AxeCore', () => {
13
+ before(async () => {
14
+ const errorOnGo = await useOnBlurOutCO.basicTest.go();
15
+ if (errorOnGo) throw errorOnGo;
16
+ });
17
+ it('01: should trigger useOnBlurOut and pass axe-core scan', async () => {
18
+ const childButton1 = await DSButtonV3CO.getButtonByIndex(0);
19
+ await childButton1.waitForDisplayed();
20
+ await browser.keys(Key.Tab);
21
+ await browser.keys(Key.Tab);
22
+ await browser.keys(Key.Tab);
23
+ const onBlurData = await useOnBlurOutCO.getOnBlurData();
24
+ await onBlurData.waitForDisplayed();
25
+ const result = await axeCoreCheck();
26
+ await expect(result.length).toBe(0);
27
+ });
28
+ });
29
+ }
@@ -0,0 +1,83 @@
1
+ /* eslint-disable max-len */
2
+ import { Key } from 'webdriverio';
3
+ import useOnBlurOutCO from './UseOnBlurOutCO';
4
+ import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
5
+
6
+ if (
7
+ !browser.capabilities['ice:options'].isPhone &&
8
+ !browser.capabilities['ice:options'].isTablet &&
9
+ browser.capabilities.browserName !== 'Safari'
10
+ ) {
11
+ // Unskip for safari after PUI12887 is fixed
12
+ describe('PUI-12891 - UseOnBlurOut, Basic Mouse -Func', () => {
13
+ before(async () => {
14
+ const errorOnGo = await useOnBlurOutCO.basicTest.go();
15
+ if (errorOnGo) throw errorOnGo;
16
+ });
17
+ it('01: click child should not trigger useOnBlurOut', async () => {
18
+ const childButton1 = await DSButtonV3CO.getButtonByIndex(0);
19
+ await childButton1.waitForDisplayed();
20
+ await childButton1.click();
21
+ await childButton1.click();
22
+ const onBlurData = await useOnBlurOutCO.getOnBlurData();
23
+ await expect(onBlurData).not.toBeDisplayed();
24
+ });
25
+ it('02: click different child (of same parent) should not trigger useOnBlurOut', async () => {
26
+ const childButton2 = await DSButtonV3CO.getButtonByIndex(1);
27
+ await childButton2.click();
28
+ const onBlurData = await useOnBlurOutCO.getOnBlurData();
29
+ await expect(onBlurData).not.toBeDisplayed();
30
+ });
31
+ it('03: click parent (of focused child) should trigger useOnBlurOut', async () => {
32
+ const childButton1 = await DSButtonV3CO.getButtonByIndex(0);
33
+ await childButton1.click({ x: 120 }); // clicks outside button
34
+ const onBlurData = await (await useOnBlurOutCO.getOnBlurData()).getText();
35
+ await expect(onBlurData).toEqual('Parent 1, Child 2');
36
+ });
37
+ it('04: click different parent should trigger useOnBlurOut', async () => {
38
+ const childButton2 = await DSButtonV3CO.getButtonByIndex(0);
39
+ await childButton2.click();
40
+ const childButton3 = await DSButtonV3CO.getButtonByIndex(2);
41
+ await childButton3.click({ x: 120 }); // clicks outside button
42
+ const onBlurData = await (await useOnBlurOutCO.getOnBlurData()).getText();
43
+ await expect(onBlurData).toEqual('Parent 1, Child 1');
44
+ });
45
+ it('05: click children of different parent should trigger useOnBlurOut', async () => {
46
+ const childButton2 = await DSButtonV3CO.getButtonByIndex(1);
47
+ await childButton2.click();
48
+ const childButton3 = await DSButtonV3CO.getButtonByIndex(2);
49
+ await childButton3.click();
50
+ const onBlurData = await (await useOnBlurOutCO.getOnBlurData()).getText();
51
+ await expect(onBlurData).toEqual('Parent 1, Child 2');
52
+ });
53
+ });
54
+
55
+ describe('PUI-12892 - UseOnBlurOut, Basic KB -Func', () => {
56
+ before(async () => {
57
+ const errorOnGo = await useOnBlurOutCO.basicTest.go();
58
+ if (errorOnGo) throw errorOnGo;
59
+ });
60
+ it('01: focusing child should not trigger useOnBlurOut', async () => {
61
+ const childButton1 = await DSButtonV3CO.getButtonByIndex(0);
62
+ await childButton1.waitForDisplayed();
63
+ await browser.keys(Key.Tab);
64
+ const onBlurData = await useOnBlurOutCO.getOnBlurData();
65
+ await expect(onBlurData).not.toBeDisplayed();
66
+ });
67
+ it('02: tabbing to differet child should not trigger useOnBlurOut', async () => {
68
+ await browser.keys(Key.Tab);
69
+ const onBlurData = await useOnBlurOutCO.getOnBlurData();
70
+ await expect(onBlurData).not.toBeDisplayed();
71
+ });
72
+ it('03: leaving parent with tab should trigger useOnBlurOut', async () => {
73
+ await browser.keys(Key.Tab);
74
+ const onBlurData = await (await useOnBlurOutCO.getOnBlurData()).getText();
75
+ await expect(onBlurData).toEqual('Parent 1, Child 2');
76
+ });
77
+ it('04: leaving parent with shift+tab should trigger useOnBlurOut', async () => {
78
+ await browser.keys([Key.Shift, Key.Tab]);
79
+ const onBlurData = await (await useOnBlurOutCO.getOnBlurData()).getText();
80
+ await expect(onBlurData).toEqual('Parent 2, Child 1');
81
+ });
82
+ });
83
+ }
@@ -0,0 +1,11 @@
1
+ /* eslint-disable import/no-relative-packages */
2
+ import { PATH_E2E_USE_ON_BLUR_OUT } from '../../../environments/storybook/paths';
3
+ import { PageObject, Urlbuilder } from '../../helpers';
4
+
5
+ export default class UseKeyboardNavCO extends PageObject {
6
+ static basicTest = new Urlbuilder(PATH_E2E_USE_ON_BLUR_OUT, 'basic-test');
7
+
8
+ static async getOnBlurData() {
9
+ return $('[data-testid="onblurdata"]');
10
+ }
11
+ }
@@ -0,0 +1,45 @@
1
+ import DSIconsCO from './DSIconsCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-8715 :: Icons, Showcase -Visual Test', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSIconsCO.showCaseTest.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('01: should display icons correctly', async () => {
10
+ await browser.eyesOpen();
11
+ const anyIcon = await DSIconsCO.getIconsByIndex(1);
12
+ await anyIcon.waitForDisplayed();
13
+ const snapshot = await browser.eyesCheckSnapshot(DSIconsCO.snapshotPath('icons-showcase-test'));
14
+ await expect(snapshot).toEqual(0);
15
+ });
16
+ });
17
+
18
+ describe('PUI-4223 :: Icons, Showcase ICE -Visual Test', () => {
19
+ before('loading page', async () => {
20
+ const errorOnGo = await DSIconsCO.showCaseICETest.go();
21
+ if (errorOnGo) throw errorOnGo;
22
+ });
23
+ it('01: should display icons correctly', async () => {
24
+ await browser.eyesOpen();
25
+ const anyIcon = await DSIconsCO.getSVGByIndex(0);
26
+ await anyIcon.waitForDisplayed();
27
+ const snapshot = await browser.eyesCheckSnapshot(DSIconsCO.snapshotPath('icons-showcase-test'));
28
+ await expect(snapshot).toEqual(0);
29
+ });
30
+ });
31
+
32
+ describe('01: PUI-6400 :: Icons, Showcase Products -Visual Test', () => {
33
+ before('loading page', async () => {
34
+ const errorOnGo = await DSIconsCO.showCaseProductsTest.go();
35
+ if (errorOnGo) throw errorOnGo;
36
+ });
37
+ it('should display icons correctly', async () => {
38
+ await browser.eyesOpen();
39
+ const anyIcon = await DSIconsCO.getIconsByIndex(1);
40
+ await anyIcon.waitForDisplayed();
41
+ const snapshot = await browser.eyesCheckSnapshot(DSIconsCO.snapshotPath('icons-showcase-test'));
42
+ await expect(snapshot).toEqual(0);
43
+ });
44
+ });
45
+ }
@@ -0,0 +1,30 @@
1
+ /* eslint-disable import/no-relative-packages */
2
+ import { PATH_E2E_ICONS } from '../../environments/storybook/paths';
3
+ import { PageObject, Urlbuilder } from '../helpers';
4
+
5
+ export default class DSIconsCO extends PageObject {
6
+ // URL's
7
+ static showCaseTest = new Urlbuilder(PATH_E2E_ICONS, 'show-case-test');
8
+
9
+ static showCaseICETest = new Urlbuilder(PATH_E2E_ICONS, 'show-case-ice-test');
10
+
11
+ static showCaseProductsTest = new Urlbuilder(PATH_E2E_ICONS, 'show-case-products-test');
12
+
13
+ // Get's
14
+ static async getIconsByIndex(index = 0) {
15
+ return $$(`[data-testid="ds-icon-root"]`)[index];
16
+ }
17
+
18
+ static async getSVGByIndex(index = 0) {
19
+ return $$(`[data-testid="ds-icon-svg"]`)[index];
20
+ }
21
+
22
+ // Snapshots
23
+ static snapshotPath(example = 'basic') {
24
+ return PageObject.getSnapshotPathBuilder('Icons', example);
25
+ }
26
+
27
+ static getUrl(component = 'basic') {
28
+ return PageObject.getUrl(PATH_E2E_ICONS, component);
29
+ }
30
+ }
@@ -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
+ }
@@ -12,14 +12,14 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
12
12
  await menuItemWrapper.waitForDisplayed();
13
13
  const menuItem2 = await DSMenuItems.getMenuItem('2');
14
14
  await menuItem2.click();
15
- const actionTriggered = DSMenuItems.getActionTriggered();
16
- await expect(actionTriggered).toHaveTextContaining('option id #2 triggered');
15
+ const actionTriggered = await DSMenuItems.getActionTriggered();
16
+ await expect(actionTriggered).toHaveText(expect.stringContaining('option id #2 triggered'));
17
17
  });
18
18
  it('02: should trigger the action onKeyDown - Space', async () => {
19
19
  await browser.keys(Key.Tab);
20
20
  await browser.keys(Key.Space);
21
- const actionTriggered = DSMenuItems.getActionTriggered();
22
- await expect(actionTriggered).toHaveTextContaining('option id #3 triggered');
21
+ const actionTriggered = await DSMenuItems.getActionTriggered();
22
+ await expect(actionTriggered).toHaveText(expect.stringContaining('option id #3 triggered'));
23
23
  });
24
24
  });
25
25
  describe('PUI-11567 - DSMenuItems:: Single Menu Item - func', () => {
@@ -32,16 +32,16 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
32
32
  await menuItemWrapper.waitForDisplayed();
33
33
  const menuItem3 = await DSMenuItems.getMenuItem('3');
34
34
  await menuItem3.click();
35
- const innerRef = DSMenuItems.getInnerRef();
36
- await expect(innerRef).toHaveTextContaining('Single menu item 3');
35
+ const innerRef = await DSMenuItems.getInnerRef();
36
+ await expect(innerRef).toHaveText(expect.stringContaining('Single menu item 3'));
37
37
  await expect(menuItem3).toHaveAttribute('aria-selected', 'true');
38
38
  });
39
39
  it('02: innerRef test: onKeyDown should display option label', async () => {
40
40
  await browser.keys(Key.Tab);
41
41
  await browser.keys(Key.Space);
42
- const innerRef = DSMenuItems.getInnerRef();
42
+ const innerRef = await DSMenuItems.getInnerRef();
43
43
  const menuItem4 = await DSMenuItems.getMenuItem('4');
44
- await expect(innerRef).toHaveTextContaining('Single menu item 4');
44
+ await expect(innerRef).toHaveText(expect.stringContaining('Single menu item 4'));
45
45
  await expect(menuItem4).toHaveAttribute('aria-selected', 'true');
46
46
  });
47
47
  });
@@ -55,16 +55,16 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
55
55
  await menuItemWrapper.waitForDisplayed();
56
56
  const menuItem3 = await DSMenuItems.getMenuItem('3');
57
57
  await menuItem3.click();
58
- const innerRef = DSMenuItems.getInnerRef();
59
- await expect(innerRef).toHaveTextContaining('multi menu item 3');
58
+ const innerRef = await DSMenuItems.getInnerRef();
59
+ await expect(innerRef).toHaveText(expect.stringContaining('multi menu item 3'));
60
60
  await expect(menuItem3).toHaveAttribute('aria-selected', 'false');
61
61
  });
62
62
  it('02: innerRef test: onKeyDown should display option label', async () => {
63
63
  await browser.keys(Key.Tab);
64
64
  await browser.keys(Key.Space);
65
65
  const menuItem4 = await DSMenuItems.getMenuItem('4');
66
- const innerRef = DSMenuItems.getInnerRef();
67
- await expect(innerRef).toHaveTextContaining('multi menu item 4');
66
+ const innerRef = await DSMenuItems.getInnerRef();
67
+ await expect(innerRef).toHaveText(expect.stringContaining('multi menu item 4'));
68
68
  await expect(menuItem4).toHaveAttribute('aria-selected', 'true');
69
69
  });
70
70
  });
@@ -78,16 +78,16 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
78
78
  await menuItemWrapper.waitForDisplayed();
79
79
  const menuItem3 = await DSMenuItems.getMenuItem('3');
80
80
  await menuItem3.click({ x: 50 });
81
- const innerRef = DSMenuItems.getInnerRef();
82
- await expect(innerRef).toHaveTextContaining('section menu item 3');
81
+ const innerRef = await DSMenuItems.getInnerRef();
82
+ await expect(innerRef).toHaveText(expect.stringContaining('section menu item 3'));
83
83
  await expect(menuItem3).toHaveAttribute('aria-selected', 'true');
84
84
  });
85
85
  it('02: innerRef test: onKeyDown should display option label', async () => {
86
86
  await browser.keys(Key.Tab);
87
87
  await browser.keys(Key.Space);
88
88
  const menuItem4 = await DSMenuItems.getMenuItem('4');
89
- const innerRef = DSMenuItems.getInnerRef();
90
- await expect(innerRef).toHaveTextContaining('section menu item 4');
89
+ const innerRef = await DSMenuItems.getInnerRef();
90
+ await expect(innerRef).toHaveText(expect.stringContaining('section menu item 4'));
91
91
  await expect(menuItem4).toHaveAttribute('aria-selected', 'true');
92
92
  });
93
93
  });
@@ -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
  });
@@ -12,6 +12,10 @@ export default class DSMenuItemsCO extends PageObject {
12
12
 
13
13
  static skeletonMenuItem = new Urlbuilder(PATH_E2E_MENU_ITEMS, 'skeleton-menu-item-test');
14
14
 
15
+ static applyAriaDisabled = new Urlbuilder(PATH_E2E_MENU_ITEMS, 'apply-aria-disabled-test');
16
+
17
+ static readOnly = new Urlbuilder(PATH_E2E_MENU_ITEMS, 'read-only-test');
18
+
15
19
  static async getMenuItemsWrapper() {
16
20
  return $('[data-testid="menu-items-wrapper"]');
17
21
  }