dimsum-e2e-tests 1.0.35 → 1.1.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.
- package/CHANGELOG.md +18 -0
- package/ds-accordion/DSAccordion.axe-core.func.spec.js +18 -19
- package/ds-accordion/DSAccordion.func.spec.js +3 -3
- package/ds-accordion/DSAccordion.visual.spec.js +7 -0
- package/ds-accordion/DSAccordionCO.js +75 -11
- package/ds-accordion/QA_NOTES.md +105 -0
- package/ds-accordion/aria-disabled/DSAccordion.aria-disabled.axe-core.func.spec.js +25 -0
- package/ds-accordion/aria-disabled/DSAccordion.aria-disabled.visual.spec.js +23 -0
- package/ds-accordion/controlled/DSAccordion.controlled.func.spec.js +23 -0
- package/ds-accordion/header-structure/DSAccordion.header-structure.func.spec.js +65 -0
- package/ds-accordion/input-inside/DSAccordion.input-inside.func.spec.js +19 -0
- package/ds-accordion/role/DSAccordion.role-heading.func.spec.js +21 -0
- package/ds-accordion/scrollable-content/DSAccordion.scrollable-content.visual.spec.js +42 -0
- package/ds-accordion/slots/DSAccordion.slots.axe-core.func.spec.js +25 -0
- package/ds-accordion/slots/DSAccordion.slots.func.spec.js +67 -0
- package/ds-accordion/slots/DSAccordion.slots.visual.spec.js +18 -0
- package/ds-accordion/wrapLabel/DSAccordion.wrap-label.visual.spec.js +20 -0
- package/ds-autocomplete/DSAutocompleteCO.js +3 -3
- package/ds-button-v3/DSButtonV3.aria-diabled.axe-core.func.spec.js +22 -0
- package/ds-button-v3/DSButtonV3.aria-disabled-attribute.func.spec.js +33 -0
- package/ds-button-v3/DSButtonV3.aria-disabled.visual.spec.js +48 -0
- package/ds-button-v3/DSButtonV3.func.spec.js +27 -0
- package/ds-button-v3/DSButtonV3.type-submit.func.spec.js +28 -0
- package/ds-button-v3/DSButtonV3.visual.spec.js +92 -0
- package/ds-button-v3/DSButtonV3CO.js +60 -0
- package/ds-button-v3/theme-font/DSButtonV3.theme-font.func.spec.js +30 -0
- package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.axe-core.basic.func.spec.js +4 -4
- package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.basic.visual.spec.js +56 -0
- package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO.js +57 -2
- package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.axe-core.disabled.func.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.disabled.visual.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.axe-core.hasError.func.spec.js +4 -4
- package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.has-error.visual.spec.js +71 -1
- package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.axe-core.mixed.func.spec.js +4 -4
- package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.func.spec.js +19 -37
- package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.keyboard-nav.func.spec.js +51 -0
- package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.visual.spec.js +14 -16
- package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.axe-core.read-only.func.spec.js +3 -3
- package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.read-only.visual.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.axe-core.with-tooltip.func.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.with-tooltip.visual.spec.js +1 -3
- package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.axe-core.wrap-label.func.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.wrap-label.visual.spec.js +1 -1
- package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.aria-disabled.visual.spec.js +25 -0
- package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.axe-core.aria-disabled.func.spec.js +24 -0
- package/ds-controlled-form/ds-controlled-checkbox/slots/DSControlledCheckbox.slots.func.spec.js +78 -0
- package/ds-controlled-form/ds-controlled-checkbox/theme-font/DSControlledCheckbox.theme-font.func.spec.js +30 -0
- package/ds-controlled-form/ds-controlled-date-time-picker/DSControlledDateTimePickerCO.js +64 -2
- package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +7 -21
- package/ds-controlled-form/ds-controlled-inputgroup/autocomplete/DSControlledInputGroup.autocomplete.axe-core.func.spec.js +5 -6
- package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.axe-core.func.spec.js +3 -2
- package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.visual.spec.js +3 -2
- package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.axe-core.func.spec.js +2 -1
- package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.func.spec.js +3 -2
- package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.axe-core.func.spec.js +3 -2
- package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.func.spec.js +2 -1
- package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.visual.spec.js +3 -2
- package/ds-controlled-form/ds-input-text/DSInputText.clearable.keyboard.func.spec.js +2 -2
- package/ds-controlled-form/ds-input-text/DSInputText.func.spec.js +14 -12
- package/ds-controlled-form/ds-input-text/DSInputTextCO.js +31 -8
- package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.axe-core.func.spec.js +23 -0
- package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.func.spec.js +42 -0
- package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.visual.spec.js +28 -0
- package/ds-controlled-form/ds-input-text/placeholder/DSInputText.placeholder.visual.spec.js +15 -0
- package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.axe-core.func.spec.js +23 -0
- package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.func.spec.js +23 -0
- package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.visual.spec.js +28 -0
- package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.axe-core.func.spec.js +23 -0
- package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.func.spec.js +35 -0
- package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.visual.spec.js +19 -0
- package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +2 -1
- package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +2 -1
- package/ds-controlled-form/react-hook-form/ReactHookCO.js +0 -10
- package/ds-controlled-form/useMask/Number/UseNumberMask.axe-core.func.spec.js +48 -0
- package/ds-controlled-form/useMask/Number/UseNumberMask.func.spec.js +37 -36
- package/ds-controlled-form/useMask/Number/UseNumberMask.visual.spec.js +7 -6
- package/ds-controlled-form/useMask/Phone/UsePhoneMask.func.spec.js +9 -8
- package/ds-controlled-form/useMask/Phone/UsePhoneMask.visual.spec.js +4 -3
- package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +4 -3
- package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +5 -4
- package/ds-controlled-form/useMask/RegExp/UseRegExpMask.func.spec.js +6 -5
- package/ds-controlled-form/useMask/SSN/UseSsnMask.func.spec.js +7 -6
- package/ds-controlled-form/useMask/ZipCode/UseZipCodeMask.func.spec.js +6 -5
- package/ds-controlled-form/useMask/useMaskCO.js +1 -11
- package/ds-data-table-async/components/FiltersCOextra.js +1 -1
- package/ds-data-table-async/components/OnRowClickCO.js +1 -1
- package/ds-data-table-async/pagination/DSDataTable.pagination.func.spec.js +3 -2
- package/ds-dialog/components/DialogFormsCO.js +1 -1
- package/ds-dropdownmenu-v2/DSDDMenuV2.axe-core.func.spec.js +2 -15
- package/ds-dropdownmenu-v2/DSDDMenuV2.visual.spec.js +5 -5
- package/ds-dropdownmenu-v2/DSDDMenuV2CO.js +8 -2
- package/ds-dropdownmenu-v2/aria-disabled/DSDDMenuV2.aria-disabled.visual.spec.js +20 -0
- package/ds-dropdownmenu-v2/basic/DSDDMenuV2.basic.func.spec.js +27 -27
- package/ds-dropdownmenu-v2/mandatory-single/DSDDMenuV2.mandatory-single.func.spec.js +4 -4
- package/ds-dropzone/DSDropzoneCO.js +3 -1
- package/ds-floating-context/DSFloatingContext.visual.spec.js +46 -0
- package/ds-floating-context/DSFloatingContextCO.js +46 -0
- package/ds-floating-context/placement/DSFloatingContext.placement.visual.spec.js +48 -0
- package/ds-floating-context/slots/DSFloatingContext.slots.axe-core.func.spec.js +23 -0
- package/ds-floating-context/slots/DSFloatingContext.slots.func.spec.js +41 -0
- package/ds-floating-context/slots/DSFloatingContext.slots.visual.spec.js +18 -0
- package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +3 -3
- package/ds-form-layout-label/DSFormLayoutLabelCO.js +3 -1
- package/ds-hooks/DSHook.usetree.func.spec.js +3 -2
- package/ds-hooks/DSHookCO.js +1 -1
- package/ds-hooks/useFocusTrap/UseFocusTrap.func.spec.js +36 -0
- package/ds-hooks/useFocusTrap/UseFocusTrapCO.js +10 -0
- package/ds-hooks/useKeyboardNavigation/DSHook.useKeyboardNavigation.func.spec.js +145 -0
- package/ds-hooks/useKeyboardNavigation/UseKeyboardNavigationCO.js +33 -0
- package/ds-hooks/useOnBlurOut/UseOnBlurOut.axe-core.func.spec.js +29 -0
- package/ds-hooks/useOnBlurOut/UseOnBlurOut.func.spec.js +83 -0
- package/ds-hooks/useOnBlurOut/UseOnBlurOutCO.js +11 -0
- package/ds-icons/DSIcons.visual.spec.js +45 -0
- package/ds-icons/DSIconsCO.js +30 -0
- package/ds-image/DSImageCO.js +3 -1
- package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.axe-core.func.spec.js +31 -0
- package/ds-menu-item/DSMenuItems.func.spec.js +16 -16
- package/ds-menu-item/DSMenuItems.visual.spec.js +8 -32
- package/ds-menu-item/DSMenuItemsCO.js +4 -0
- package/ds-menu-item/aria-disabled/DSMenuItems.aria-disabled.axe-core.func.spec.js +35 -0
- package/ds-menu-item/aria-disabled/DSMenuItems.aria-disabled.visual.spec.js +68 -0
- package/ds-menu-item/read-only/DSMenuItems.read-only.axe-core.func.spec.js +35 -0
- package/ds-menu-item/read-only/DSMenuItems.read-only.visual.spec.js +66 -0
- package/ds-number-range-field/NumberRangeFieldCO.js +1 -1
- package/ds-page-number/DSPageNumberCO.js +1 -1
- package/ds-query-builder/DSQueryBuilderCO.js +1 -1
- package/ds-shuttle-v2/DSShuttleV2CO.js +36 -1
- package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +4 -2
- package/ds-svg/DSSvgCO.js +3 -1
- package/ds-system/DSSystem.visual.spec.js +19 -0
- package/ds-system/DSSystemCO.js +15 -0
- package/ds-typography/DSTypography.func.spec.js +5 -5
- package/ds-typography/DSTypography.visual.spec.js +50 -48
- package/ds-typography/DSTypographyCO.js +25 -5
- package/ds-typography/theme-font/DSTypography.theme-font.func.spec.js +30 -0
- package/package.json +121 -119
- package/zzz-eol/ds-date-range-selector/DSDateRangeSelectorCO.js +6 -4
- package/ds-button-v2/DSButtonV2.axe-core.func.spec.js +0 -22
- package/ds-button-v2/DSButtonV2.func.spec.js +0 -139
- package/ds-button-v2/DSButtonV2.visual.spec.js +0 -153
- package/ds-button-v2/DSButtonV2CO.js +0 -43
- package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckbox.smoke.spec.js +0 -125
- package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.func.spec.js +0 -17
- /package/ds-typography/{DSTypography.resize.visual.spec.js → DSTypography.resize.skipped.js} +0 -0
package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.axe-core.func.spec.js
ADDED
|
@@ -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).
|
|
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).
|
|
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).
|
|
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).
|
|
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).
|
|
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).
|
|
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).
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* eslint-disable wdio/no-pause */
|
|
2
|
+
import { axeCoreCheck } from '../../helpers';
|
|
3
|
+
import DSMenuItems from '../DSMenuItemsCO';
|
|
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-14414 - [MenuItems] applyAriaDisabled prop - axe-core test', () => {
|
|
12
|
+
before('loading page', async () => {
|
|
13
|
+
const errorOnGo = await DSMenuItems.applyAriaDisabled.go();
|
|
14
|
+
if (errorOnGo) throw errorOnGo;
|
|
15
|
+
});
|
|
16
|
+
it('01: should display single menu items with aria-disabled focused and pass axecore test', async () => {
|
|
17
|
+
const menuItem2 = await DSMenuItems.getMenuItem('2');
|
|
18
|
+
await menuItem2.click();
|
|
19
|
+
const result = await axeCoreCheck();
|
|
20
|
+
expect(result.length).toBe(0);
|
|
21
|
+
});
|
|
22
|
+
it('02: should display action menu items with aria-disabled focused and pass axecore test', async () => {
|
|
23
|
+
const menuItem6 = await DSMenuItems.getMenuItem('6');
|
|
24
|
+
await menuItem6.click();
|
|
25
|
+
const result = await axeCoreCheck();
|
|
26
|
+
expect(result.length).toBe(0);
|
|
27
|
+
});
|
|
28
|
+
it('03: should display multi menu items with aria-disabled focused and pass axecore test', async () => {
|
|
29
|
+
const menuItem10 = await DSMenuItems.getMenuItem('10');
|
|
30
|
+
await menuItem10.click();
|
|
31
|
+
const result = await axeCoreCheck();
|
|
32
|
+
expect(result.length).toBe(0);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Key } from 'webdriverio';
|
|
2
|
+
import DSMenuItems from '../DSMenuItemsCO';
|
|
3
|
+
|
|
4
|
+
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
5
|
+
describe('PUI-14413 - [MenuItems] applyAriaDisabled prop - visual Test', () => {
|
|
6
|
+
before('loading page', async () => {
|
|
7
|
+
const errorOnGo = await DSMenuItems.applyAriaDisabled.go();
|
|
8
|
+
if (errorOnGo) throw errorOnGo;
|
|
9
|
+
});
|
|
10
|
+
it('01: aria-disabled single menu item should be focused and not selected - mouse', async () => {
|
|
11
|
+
await browser.eyesOpen();
|
|
12
|
+
const menuItem2 = await DSMenuItems.getMenuItem('2');
|
|
13
|
+
await menuItem2.click();
|
|
14
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
15
|
+
DSMenuItems.snapshotPath('ds-menu-items-single-aria-disabled-mouse'),
|
|
16
|
+
);
|
|
17
|
+
await expect(snapshot).toEqual(0);
|
|
18
|
+
});
|
|
19
|
+
it('02: aria-disabled single menu item should be focused and not selected', async () => {
|
|
20
|
+
await browser.eyesOpen();
|
|
21
|
+
await browser.keys(Key.ArrowDown);
|
|
22
|
+
await browser.keys(Key.ArrowDown);
|
|
23
|
+
await browser.keys(Key.Space);
|
|
24
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
25
|
+
DSMenuItems.snapshotPath('ds-menu-items-single-aria-disabled-kb-nav'),
|
|
26
|
+
);
|
|
27
|
+
await expect(snapshot).toEqual(0);
|
|
28
|
+
});
|
|
29
|
+
it('03: aria-disabled action menu item should be focused and not selected - mouse', async () => {
|
|
30
|
+
await browser.eyesOpen();
|
|
31
|
+
const menuItem6 = await DSMenuItems.getMenuItem('6');
|
|
32
|
+
await menuItem6.click();
|
|
33
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
34
|
+
DSMenuItems.snapshotPath('ds-menu-items-action-aria-disabled-mouse'),
|
|
35
|
+
);
|
|
36
|
+
await expect(snapshot).toEqual(0);
|
|
37
|
+
});
|
|
38
|
+
it('04: aria-disabled action menu item should be focused and not selected', async () => {
|
|
39
|
+
await browser.eyesOpen();
|
|
40
|
+
await browser.keys(Key.Tab);
|
|
41
|
+
await browser.keys(Key.Tab);
|
|
42
|
+
await browser.keys(Key.Enter);
|
|
43
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
44
|
+
DSMenuItems.snapshotPath('ds-menu-items-action-aria-disabled-kb-nav'),
|
|
45
|
+
);
|
|
46
|
+
await expect(snapshot).toEqual(0);
|
|
47
|
+
});
|
|
48
|
+
it('05: aria-disabled multi menu item should be focused and not selected - mouse', async () => {
|
|
49
|
+
await browser.eyesOpen();
|
|
50
|
+
const menuItem10 = await DSMenuItems.getMenuItem('10');
|
|
51
|
+
await menuItem10.click();
|
|
52
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
53
|
+
DSMenuItems.snapshotPath('ds-menu-items-multi-aria-disabled-mouse'),
|
|
54
|
+
);
|
|
55
|
+
await expect(snapshot).toEqual(0);
|
|
56
|
+
});
|
|
57
|
+
it('06: aria-disabled multi menu item should be focused and not selected', async () => {
|
|
58
|
+
await browser.eyesOpen();
|
|
59
|
+
await browser.keys(Key.Tab);
|
|
60
|
+
await browser.keys(Key.Tab);
|
|
61
|
+
await browser.keys(Key.Enter);
|
|
62
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
63
|
+
DSMenuItems.snapshotPath('ds-menu-items-multi-aria-disabled-kb-nav'),
|
|
64
|
+
);
|
|
65
|
+
await expect(snapshot).toEqual(0);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* eslint-disable wdio/no-pause */
|
|
2
|
+
import { axeCoreCheck } from '../../helpers';
|
|
3
|
+
import DSMenuItems from '../DSMenuItemsCO';
|
|
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-15352 - [MenuItems] readOnly prop - axe-core test', () => {
|
|
12
|
+
before('loading page', async () => {
|
|
13
|
+
const errorOnGo = await DSMenuItems.readOnly.go();
|
|
14
|
+
if (errorOnGo) throw errorOnGo;
|
|
15
|
+
});
|
|
16
|
+
it('01: should display single menu items with readOnly focused and pass axecore test', async () => {
|
|
17
|
+
const menuItem2 = await DSMenuItems.getMenuItem('2');
|
|
18
|
+
await menuItem2.click();
|
|
19
|
+
const result = await axeCoreCheck();
|
|
20
|
+
expect(result.length).toBe(0);
|
|
21
|
+
});
|
|
22
|
+
it('02: should display action menu items with readOnly focused and pass axecore test', async () => {
|
|
23
|
+
const menuItem6 = await DSMenuItems.getMenuItem('6');
|
|
24
|
+
await menuItem6.click();
|
|
25
|
+
const result = await axeCoreCheck();
|
|
26
|
+
expect(result.length).toBe(0);
|
|
27
|
+
});
|
|
28
|
+
it('03: should display multi menu items with readOnly focused and pass axecore test', async () => {
|
|
29
|
+
const menuItem10 = await DSMenuItems.getMenuItem('10');
|
|
30
|
+
await menuItem10.click();
|
|
31
|
+
const result = await axeCoreCheck();
|
|
32
|
+
expect(result.length).toBe(0);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Key } from 'webdriverio';
|
|
2
|
+
import DSMenuItems from '../DSMenuItemsCO';
|
|
3
|
+
|
|
4
|
+
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
5
|
+
describe('PUI-15353 - [MenuItems] applyAriaDisabled prop - visual Test', () => {
|
|
6
|
+
before('loading page', async () => {
|
|
7
|
+
const errorOnGo = await DSMenuItems.readOnly.go();
|
|
8
|
+
if (errorOnGo) throw errorOnGo;
|
|
9
|
+
});
|
|
10
|
+
it('01: read-only single menu item should be focused and not selected - mouse', async () => {
|
|
11
|
+
await browser.eyesOpen();
|
|
12
|
+
const menuItem2 = await DSMenuItems.getMenuItem('2');
|
|
13
|
+
await menuItem2.click();
|
|
14
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
15
|
+
DSMenuItems.snapshotPath('ds-menu-items-single-read-only-mouse'),
|
|
16
|
+
);
|
|
17
|
+
await expect(snapshot).toEqual(0);
|
|
18
|
+
});
|
|
19
|
+
it('02: read-only single menu item should be focused and not selected', async () => {
|
|
20
|
+
await browser.eyesOpen();
|
|
21
|
+
await browser.keys(Key.ArrowDown);
|
|
22
|
+
await browser.keys(Key.ArrowDown);
|
|
23
|
+
await browser.keys(Key.Space);
|
|
24
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
25
|
+
DSMenuItems.snapshotPath('ds-menu-items-single-read-only-kb-nav'),
|
|
26
|
+
);
|
|
27
|
+
await expect(snapshot).toEqual(0);
|
|
28
|
+
});
|
|
29
|
+
it('03: read-only action menu item should be focused and not selected - mouse', async () => {
|
|
30
|
+
await browser.eyesOpen();
|
|
31
|
+
const menuItem6 = await DSMenuItems.getMenuItem('6');
|
|
32
|
+
await menuItem6.click();
|
|
33
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
34
|
+
DSMenuItems.snapshotPath('ds-menu-items-action-read-only-mouse'),
|
|
35
|
+
);
|
|
36
|
+
await expect(snapshot).toEqual(0);
|
|
37
|
+
});
|
|
38
|
+
it('04: read-only action menu item should be focused and not selected', async () => {
|
|
39
|
+
await browser.eyesOpen();
|
|
40
|
+
await browser.keys(Key.Tab);
|
|
41
|
+
await browser.keys(Key.Tab);
|
|
42
|
+
await browser.keys(Key.Space);
|
|
43
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
44
|
+
DSMenuItems.snapshotPath('ds-menu-items-action-read-only-kb-nav'),
|
|
45
|
+
);
|
|
46
|
+
await expect(snapshot).toEqual(0);
|
|
47
|
+
});
|
|
48
|
+
it('05: read-only multi menu item should be focused and not selected - mouse', async () => {
|
|
49
|
+
await browser.eyesOpen();
|
|
50
|
+
const menuItem10 = await DSMenuItems.getMenuItem('10');
|
|
51
|
+
await menuItem10.click();
|
|
52
|
+
const snapshot = await browser.eyesCheckSnapshot(DSMenuItems.snapshotPath('ds-menu-items-multi-read-only-mouse'));
|
|
53
|
+
await expect(snapshot).toEqual(0);
|
|
54
|
+
});
|
|
55
|
+
it('06: read-only multi menu item should be focused and not selected', async () => {
|
|
56
|
+
await browser.eyesOpen();
|
|
57
|
+
await browser.keys(Key.Tab);
|
|
58
|
+
await browser.keys(Key.Tab);
|
|
59
|
+
await browser.keys(Key.Enter);
|
|
60
|
+
const snapshot = await browser.eyesCheckSnapshot(
|
|
61
|
+
DSMenuItems.snapshotPath('ds-menu-items-multi-read-only-kb-nav'),
|
|
62
|
+
);
|
|
63
|
+
await expect(snapshot).toEqual(0);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
@@ -8,7 +8,7 @@ export const knobs = {
|
|
|
8
8
|
maxTo: 'knob-maxTo',
|
|
9
9
|
};
|
|
10
10
|
export default class NumberRangeField extends PageObject {
|
|
11
|
-
static basicURL = new Urlbuilder(PATH_NUMBER_RANGE_FIELD, '
|
|
11
|
+
static basicURL = new Urlbuilder(PATH_NUMBER_RANGE_FIELD, 'widget-usage');
|
|
12
12
|
|
|
13
13
|
static async getFromInput() {
|
|
14
14
|
return $('[data-testid="ds-number-range-field__from-input"]');
|
|
@@ -3,7 +3,7 @@ import { PageObject, Urlbuilder } from '../helpers';
|
|
|
3
3
|
|
|
4
4
|
export default class DSPageNumberCO extends PageObject {
|
|
5
5
|
// Desktop
|
|
6
|
-
static basicURL = new Urlbuilder(PATH_PAGE_NUMBER, '
|
|
6
|
+
static basicURL = new Urlbuilder(PATH_PAGE_NUMBER, 'widget-usage');
|
|
7
7
|
|
|
8
8
|
static getUrl(component = 'basic') {
|
|
9
9
|
return PageObject.getUrl(PATH_PAGE_NUMBER, component);
|
|
@@ -119,7 +119,7 @@ export default class DSQueryBuilderCO extends PageObject {
|
|
|
119
119
|
static async getTextBox(tbNumber) {
|
|
120
120
|
return browser.waitUntil(
|
|
121
121
|
async () => {
|
|
122
|
-
const tb = await $$('[data-testid="ds-
|
|
122
|
+
const tb = await $$('[data-testid="ds-inputtext-input"]');
|
|
123
123
|
return tb.length > tbNumber ? tb[tbNumber] : false;
|
|
124
124
|
},
|
|
125
125
|
{
|
|
@@ -1,6 +1,41 @@
|
|
|
1
1
|
import { PATH_E2E_SHUTTLE_V2 } from '../../environments/storybook/paths';
|
|
2
2
|
import { PageObject, Urlbuilder } from '../helpers';
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
// Literal on purpose: importing the package runtime here loads its CJS graph inside the wdio (node) process.
|
|
5
|
+
const DSShuttleV2DataTestIds = {
|
|
6
|
+
HEADER_SEARCH_ICON: 'ds-shuttle-v2-header-search-icon',
|
|
7
|
+
WRAPPER: 'ds-shuttle-v2-wrapper',
|
|
8
|
+
PANEL_WRAPPER: 'ds-shuttle-v2-panel-wrapper',
|
|
9
|
+
LIST_WRAPPER: 'ds-shuttle-v2-list-wrapper',
|
|
10
|
+
ITEM_WRAPPER: 'ds-shuttle-v2-item-wrapper',
|
|
11
|
+
ITEM_CHECKBOX: 'ds-shuttle-v2-item-checkbox',
|
|
12
|
+
ITEM_ICON_WRAPPER: 'ds-shuttle-v2-item-icon-wrapper',
|
|
13
|
+
ITEM_LABEL_WRAPPER: 'ds-shuttle-v2-item-label-wrapper',
|
|
14
|
+
ITEM_MIDSECTION_WRAPPER: 'ds-shuttle-v2-item-midsection-wrapper',
|
|
15
|
+
ITEM_SELECTION: 'ds-shuttle-v2-item-selection',
|
|
16
|
+
ITEM_ACTIONS_WRAPPER: 'ds-shuttle-v2-item-actions-wrapper',
|
|
17
|
+
ITEM_ACTION_WRAPPER: 'ds-shuttle-v2-item-action-wrapper',
|
|
18
|
+
ITEM_ACTION_BTN: 'ds-shuttle-v2-item-action-btn',
|
|
19
|
+
ITEM_ACTION_BTN_DRILLDOWN_ICON: 'ds-shuttle-v2-item-action-btn-drilldown-icon',
|
|
20
|
+
ITEM_ACTION_BTN_TO_SOURCE_ICON: 'ds-shuttle-v2-item-action-btn-to-source-icon',
|
|
21
|
+
ITEM_ACTION_BTN_TO_DESTINATION_ICON: 'ds-shuttle-v2-item-action-btn-to-destination-icon',
|
|
22
|
+
LIST_BOTTOM_LOADING_MORE: 'ds-shuttle-v2-list-bottom-loading-more',
|
|
23
|
+
LIST_BOTTOM_LOAD_MORE_BTN: 'ds-shuttle-v2-list-bottom-load-more-btn',
|
|
24
|
+
LIST_WRAPPER_BOTTOM: 'ds-shuttle-v2-list-wrapper-bottom',
|
|
25
|
+
EMPTY_LIST_WRAPPER: 'ds-shuttle-v2-empty-list-wrapper',
|
|
26
|
+
ITEMS_WRAPPER: 'ds-shuttle-v2-items-wrapper',
|
|
27
|
+
LOADING_LIST_WRAPPER: 'ds-shuttle-v2-loading-list-wrapper',
|
|
28
|
+
MOVE_MULTIPLE_WRAPPER: 'ds-shuttle-v2-move-multiple-wrapper',
|
|
29
|
+
MOVE_MULTIPLE_BTN: 'ds-shuttle-v2-move-multiple-btn',
|
|
30
|
+
LIST_WRAPPER_MID: 'ds-shuttle-v2-list-wrapper-mid',
|
|
31
|
+
LIST_WRAPPER_MID_SCROLLER: 'ds-shuttle-v2-list-wrapper-mid-scroller',
|
|
32
|
+
LIST_WRAPPER_TOP: 'ds-shuttle-v2-list-wrapper-top',
|
|
33
|
+
AREA_SEARCH_WRAPPER: 'ds-shuttle-v2-area-search-wrapper',
|
|
34
|
+
AREA_SEARCH_BAR: 'ds-shuttle-v2-area-search-bar',
|
|
35
|
+
AREA_SELECTION_HEADER: 'ds-shuttle-v2-area-selection-header',
|
|
36
|
+
AREA_SELECTION_HEADER_COUNT_LABEL: 'ds-shuttle-v2-area-selection-header-count-label',
|
|
37
|
+
DRAG_AND_DROP_HANDLE: 'ds-shuttle-v2-drag-and-drop-handle',
|
|
38
|
+
};
|
|
4
39
|
|
|
5
40
|
export default class DSShuttleV2CO extends PageObject {
|
|
6
41
|
// URL's
|
|
@@ -70,11 +70,13 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
70
70
|
it('01: should not move the item when the disabled move action button is clicked', async () => {
|
|
71
71
|
const testItem = await DSShuttleV2CO.getItemWrapper(1);
|
|
72
72
|
const testItemMoveBtn = await DSShuttleV2CO.getActionButtonByItemAndIndex(testItem, 1);
|
|
73
|
-
const testItemMoveBtnDisabled = await testItemMoveBtn.getAttribute('aria-disabled');
|
|
74
73
|
const testItemText = await testItem.getText();
|
|
75
74
|
await testItemMoveBtn.click();
|
|
76
75
|
await expect(testItemText).toBe('Source 0.1');
|
|
77
|
-
|
|
76
|
+
// PUI-17909: a natively disabled DSButton emits the native `disabled` attribute and
|
|
77
|
+
// intentionally omits aria-disabled (that is reserved for applyAriaDisabled). Assert the
|
|
78
|
+
// native disabled state instead of the now-absent aria-disabled.
|
|
79
|
+
await expect(testItemMoveBtn).toBeDisabled();
|
|
78
80
|
});
|
|
79
81
|
it('02: should not display the BAB when a disabled item is clicked', async () => {
|
|
80
82
|
const testItem = await DSShuttleV2CO.getItemWrapper(1);
|
package/ds-svg/DSSvgCO.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { SVG_DATA_TESTID } from '@elliemae/ds-legacy-svg';
|
|
2
1
|
import { PATH_E2E_SVG } from '../../environments/storybook/paths';
|
|
3
2
|
import { PageObject, Urlbuilder } from '../helpers';
|
|
4
3
|
|
|
4
|
+
// Literal on purpose: importing the package runtime here loads its CJS graph inside the wdio (node) process.
|
|
5
|
+
const SVG_DATA_TESTID = { ROOT: 'ds-svg-root' };
|
|
6
|
+
|
|
5
7
|
export default class DSSvgCO extends PageObject {
|
|
6
8
|
static basic = new Urlbuilder(PATH_E2E_SVG, 'basic');
|
|
7
9
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import DSSystemCO from './DSSystemCO';
|
|
2
|
+
|
|
3
|
+
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
4
|
+
describe('PUI-12550 [DSSystem] Html Elements - visual', () => {
|
|
5
|
+
before(async () => {
|
|
6
|
+
const errorOnGo = await DSSystemCO.htmlElements.go();
|
|
7
|
+
if (errorOnGo) throw errorOnGo;
|
|
8
|
+
});
|
|
9
|
+
it('01: should display stlyling of html elements correctly', async () => {
|
|
10
|
+
// This test also verifies the functionality of the `innerRef` prop.
|
|
11
|
+
// It confirms that the `innerRef` prop is correctly implemented by
|
|
12
|
+
// capturing and asserting the message "The Div element is successfully referenced."
|
|
13
|
+
const div = await DSSystemCO.getDiv();
|
|
14
|
+
await div.waitForDisplayed();
|
|
15
|
+
const snapshot = await browser.checkSnapshot(DSSystemCO.snapshotPath('html-elements-innerRef'));
|
|
16
|
+
await expect(snapshot).toEqual(0);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PATH_E2E_SYSTEM } from '../../environments/storybook/paths';
|
|
2
|
+
import { PageObject, Urlbuilder } from '../helpers';
|
|
3
|
+
|
|
4
|
+
export default class DSSystemCO extends PageObject {
|
|
5
|
+
static htmlElements = new Urlbuilder(PATH_E2E_SYSTEM, 'html-elements-test');
|
|
6
|
+
|
|
7
|
+
static async getDiv() {
|
|
8
|
+
return $('//div[@data-testid="custom-data-testid"]');
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Snapshots
|
|
12
|
+
static snapshotPath(example = 'basic') {
|
|
13
|
+
return PageObject.getSnapshotPathBuilder('System', example, 'ds-system');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -6,17 +6,17 @@ import DSTypographyCO from './DSTypographyCO';
|
|
|
6
6
|
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
7
7
|
describe('PUI-11020 - Typography, tabStop for link/btn -Func', () => {
|
|
8
8
|
before('loading page', async () => {
|
|
9
|
-
const errorOnGo = await DSTypographyCO.
|
|
9
|
+
const errorOnGo = await DSTypographyCO.interactiveURL.go();
|
|
10
10
|
if (errorOnGo) throw errorOnGo;
|
|
11
11
|
});
|
|
12
|
-
it('should tab to first Button typography', async () => {
|
|
12
|
+
it('01: should tab to first Button typography', async () => {
|
|
13
13
|
await browser.keys(Key.Tab);
|
|
14
|
-
const buttonTypo = await DSTypographyCO.
|
|
14
|
+
const buttonTypo = await DSTypographyCO.getTypographyByVariant('button');
|
|
15
15
|
await expect(buttonTypo).toBeFocused();
|
|
16
16
|
});
|
|
17
|
-
it('should tab to first LINK typography', async () => {
|
|
17
|
+
it('02: should tab to first LINK typography', async () => {
|
|
18
18
|
await browser.keys(Key.Tab);
|
|
19
|
-
const linkTypo = await DSTypographyCO.
|
|
19
|
+
const linkTypo = await DSTypographyCO.getTypographyByVariant('a');
|
|
20
20
|
await expect(linkTypo).toBeFocused();
|
|
21
21
|
});
|
|
22
22
|
});
|