dimsum-e2e-tests 3.60.0-next.2 → 3.60.0-next.20
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 +104 -0
- package/ds-apppicker/DSAppPickerCO.js +10 -0
- package/ds-apppicker/reflow/DSAppPicker.reflow.visual.spec.js +36 -0
- package/ds-apppicker/slots/DSAppPicker.slots.func.spec.js +13 -0
- package/ds-chip/DSChip.visual.spec.js +18 -1
- package/ds-chip/DSChipCO.js +2 -0
- package/ds-chip/slots/DSChip.slots.func.spec.js +25 -0
- package/ds-controlled-form/ds-controlled-large-input-text/dialog/DSLargeInputText.dialog.visual.spec.js +1 -2
- package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +1 -1
- package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.visual.spec.js +1 -4
- package/ds-form-date-time-picker/date-time-full/DateTimePicker.func.spec.js +1 -1
- package/ds-global-header/GlobalHeaderCO.js +3 -3
- package/ds-global-header/slots/GlobalHeader.slots.func.spec.js +39 -39
- package/ds-leftnavigation/LeftNavigation.slots.func.spec.js +104 -104
- package/ds-leftnavigation/LeftNavigationCO.js +8 -0
- package/ds-notification-badge/DSNotificationBadge.axe-core.func.spec.js +1 -1
- package/ds-notification-badge/DSNotificationBadge.global-attributes.func.spec.js +23 -0
- package/ds-notification-badge/DSNotificationBadgeCO.js +10 -4
- package/ds-shuttle-v2/DSShuttleV2CO.js +6 -0
- package/ds-shuttle-v2/extra/DSShuttleV2.extra.func.spec.js +49 -0
- package/ds-shuttle-v2/extra/DSShuttleV2.extra.visual.spec.js +27 -0
- package/ds-tab-button/DSTabButton.func.spec.js +24 -0
- package/ds-tab-button/DSTabButtonCO.js +16 -0
- package/ds-tabs/DSTabs.axe-core.func.spec.js +0 -54
- package/ds-tabs/DSTabs.func.spec.js +1 -167
- package/ds-tabs/DSTabs.visual.spec.js +13 -69
- package/ds-tabs/DSTabsCO.js +2 -36
- package/ds-tabs/aria-disabled/DSTabs.aria-disabled.visual.spec.js +2 -2
- package/ds-tabs/disabled/DSTabs.disabled.axe-core.func.spec.js +22 -0
- package/ds-tabs/disabled/DSTabs.disabled.func.spec.js +28 -0
- package/ds-tabs/disabled/DSTabs.disabled.visual.spec.js +58 -0
- package/ds-tabs/nested/DSTabs.nested.axe-core.func.spec.js +31 -0
- package/ds-tabs/nested/DSTabs.nested.func.spec.js +22 -0
- package/ds-tabs/nested/DSTabs.nested.visual.spec.js +30 -0
- package/ds-tabs/slots/DSTabs.slots.func.spec.js +47 -15
- package/ds-tabs/with-carousel/DSTabs.with-carousel.axe-core.func.spec.js +32 -0
- package/ds-tabs/with-carousel/DSTabs.with-carousel.func.spec.js +306 -0
- package/ds-tabs/with-carousel/DSTabs.with-carousel.visual.spec.js +212 -28
- package/helpers.js +4 -1
- package/package.json +189 -190
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,110 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 3.60.0-next.20 (2026-02-13)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- ds-chip:: update E2E test selectors and chip XPath queries [PUI-17896](https://jira.elliemae.io/browse/PUI-17896) ([#7875](https://git.elliemae.io/platform-ui/dimsum/issues/7875)) ([f682a0a](https://git.elliemae.io/platform-ui/dimsum/commit/f682a0a99c8b01ed886f13d1f5835f10c9e8ae44))
|
|
11
|
+
|
|
12
|
+
## 3.60.0-next.19 (2026-02-12)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- ds-ribbon:: typescript fixes by dimsum alignment [PUI-17478](https://jira.elliemae.io/browse/PUI-17478)([#7870](https://git.elliemae.io/platform-ui/dimsum/issues/7870)) ([6dcb730](https://git.elliemae.io/platform-ui/dimsum/commit/6dcb730e31dcb4cfab2e863db38c01de894a7af9))
|
|
17
|
+
|
|
18
|
+
## 3.60.0-next.18 (2026-02-09)
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- ds-left-navigation:: e2e story for detected missing slots [PUI-15560](https://jira.elliemae.io/browse/PUI-15560) ([#7864](https://git.elliemae.io/platform-ui/dimsum/issues/7864)) ([37e630b](https://git.elliemae.io/platform-ui/dimsum/commit/37e630be9e1023dee24e17a3e49da1d53d351060))
|
|
23
|
+
|
|
24
|
+
## 3.60.0-next.17 (2026-02-06)
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
- ds-global-header:: search toggle example improve [PUI-17487](https://jira.elliemae.io/browse/PUI-17487) ([#7862](https://git.elliemae.io/platform-ui/dimsum/issues/7862)) ([8d268f8](https://git.elliemae.io/platform-ui/dimsum/commit/8d268f8fa3a8e4a065b1897128a866eb2af1c050))
|
|
29
|
+
|
|
30
|
+
## 3.60.0-next.16 (2026-02-06)
|
|
31
|
+
|
|
32
|
+
### Features
|
|
33
|
+
|
|
34
|
+
- ds-global-header:: search toggle tests [PUI-17487](https://jira.elliemae.io/browse/PUI-17487) ([#7861](https://git.elliemae.io/platform-ui/dimsum/issues/7861)) ([039b36d](https://git.elliemae.io/platform-ui/dimsum/commit/039b36dd5bf53053cf5d7e636ba0f7dbd17bff11))
|
|
35
|
+
|
|
36
|
+
## 3.60.0-next.15 (2026-01-29)
|
|
37
|
+
|
|
38
|
+
### Features
|
|
39
|
+
|
|
40
|
+
- dimsum:: upgraded third party libraries [PUI-17276](https://jira.elliemae.io/browse/PUI-17276) ([#7833](https://git.elliemae.io/platform-ui/dimsum/issues/7833)) ([361aafb](https://git.elliemae.io/platform-ui/dimsum/commit/361aafb523a55187f0951f4a2b338458f8198c97))
|
|
41
|
+
|
|
42
|
+
## 3.60.0-next.14 (2026-01-26)
|
|
43
|
+
|
|
44
|
+
### Features
|
|
45
|
+
|
|
46
|
+
- ds-menu-button:: slots and unit tests support [PUI-17708](https://jira.elliemae.io/browse/PUI-17708) ([#7822](https://git.elliemae.io/platform-ui/dimsum/issues/7822)) ([211afa4](https://git.elliemae.io/platform-ui/dimsum/commit/211afa4b48182892a8945e08c69d693021684986))
|
|
47
|
+
|
|
48
|
+
## 3.60.0-next.13 (2026-01-20)
|
|
49
|
+
|
|
50
|
+
### Bug Fixes
|
|
51
|
+
|
|
52
|
+
- ds-dialog:: raise condition caused by layout effect [PUI-17804](https://jira.elliemae.io/browse/PUI-17804)([#7826](https://git.elliemae.io/platform-ui/dimsum/issues/7826)) ([c07f693](https://git.elliemae.io/platform-ui/dimsum/commit/c07f69337344e77e0b3bfb0974b171c410972a06))
|
|
53
|
+
|
|
54
|
+
## 3.60.0-next.12 (2026-01-16)
|
|
55
|
+
|
|
56
|
+
### Features
|
|
57
|
+
|
|
58
|
+
- dimsum:: fixed dependencies and added knip for reports [PUI-17275](https://jira.elliemae.io/browse/PUI-17275) ([#7824](https://git.elliemae.io/platform-ui/dimsum/issues/7824)) ([65b7cf4](https://git.elliemae.io/platform-ui/dimsum/commit/65b7cf4e3558d20957adc405bd91ea9370b11589))
|
|
59
|
+
|
|
60
|
+
## 3.60.0-next.11 (2026-01-14)
|
|
61
|
+
|
|
62
|
+
### Features
|
|
63
|
+
|
|
64
|
+
- ds-tabs:: update carousel to horizontal scroll [PUI-17483](https://jira.elliemae.io/browse/PUI-17483) ([#7821](https://git.elliemae.io/platform-ui/dimsum/issues/7821)) ([9cfe8a5](https://git.elliemae.io/platform-ui/dimsum/commit/9cfe8a56d6277fe4fc9ffcf9c9dfb97dff7adfbf))
|
|
65
|
+
|
|
66
|
+
## 3.60.0-next.10 (2026-01-14)
|
|
67
|
+
|
|
68
|
+
### Bug Fixes
|
|
69
|
+
|
|
70
|
+
- ds-app-picker:: support global attributes [PUI-17246](https://jira.elliemae.io/browse/PUI-17246) ([#7820](https://git.elliemae.io/platform-ui/dimsum/issues/7820)) ([1b2a2ea](https://git.elliemae.io/platform-ui/dimsum/commit/1b2a2ea55ca4ea19386e891be939c3615a244468))
|
|
71
|
+
|
|
72
|
+
## [3.60.0-next.9](https://git.elliemae.io/platform-ui/dimsum/compare/v3.60.0-next.8...v3.60.0-next.9) (2026-01-13)
|
|
73
|
+
|
|
74
|
+
**Note:** Version bump only for package dimsum-e2e-tests
|
|
75
|
+
|
|
76
|
+
## 3.60.0-next.8 (2026-01-13)
|
|
77
|
+
|
|
78
|
+
**Note:** Version bump only for package dimsum-e2e-tests
|
|
79
|
+
|
|
80
|
+
## 3.60.0-next.7 (2026-01-12)
|
|
81
|
+
|
|
82
|
+
### Bug Fixes
|
|
83
|
+
|
|
84
|
+
- ds-chip:: custom attributes and folder organization [PUI-14876] (https://jira.elliemae.io/browse/PUI-14876) ([#7819](https://git.elliemae.io/platform-ui/dimsum/issues/7819)) ([7025b86](https://git.elliemae.io/platform-ui/dimsum/commit/7025b865a1d0ca1cdc02aa07353a79eab3910356))
|
|
85
|
+
|
|
86
|
+
## 3.60.0-next.6 (2026-01-12)
|
|
87
|
+
|
|
88
|
+
### Bug Fixes
|
|
89
|
+
|
|
90
|
+
- ds-floating-context:: remove console error when main is not defined [PUI-17776](https://jira.elliemae.io/browse/PUI-17776) ([#7814](https://git.elliemae.io/platform-ui/dimsum/issues/7814)) ([1084971](https://git.elliemae.io/platform-ui/dimsum/commit/1084971375947009d2497e10237d015100543887))
|
|
91
|
+
|
|
92
|
+
## 3.60.0-next.5 (2026-01-09)
|
|
93
|
+
|
|
94
|
+
### Features
|
|
95
|
+
|
|
96
|
+
- dimsum:: update percy and pui-e2e-test-sdk dependencies [PUI-17773](https://jira.elliemae.io/browse/PUI-17773) ([#7815](https://git.elliemae.io/platform-ui/dimsum/issues/7815)) ([0aa68b6](https://git.elliemae.io/platform-ui/dimsum/commit/0aa68b6031f7e88526ce0b04581cf0134bc6d216))
|
|
97
|
+
|
|
98
|
+
## 3.60.0-next.4 (2026-01-09)
|
|
99
|
+
|
|
100
|
+
### Bug Fixes
|
|
101
|
+
|
|
102
|
+
- ds-chip:: custom attributes and folder organization [PUI-14876] (https://jira.elliemae.io/browse/PUI-14876) ([#7813](https://git.elliemae.io/platform-ui/dimsum/issues/7813)) ([d0b0611](https://git.elliemae.io/platform-ui/dimsum/commit/d0b06110fae419827497f7ef1b66879ba1897ffd))
|
|
103
|
+
|
|
104
|
+
## 3.60.0-next.3 (2026-01-08)
|
|
105
|
+
|
|
106
|
+
### Features
|
|
107
|
+
|
|
108
|
+
- ds-menu-button:: add props table in storybook [PUI-17708](https://jira.elliemae.io/browse/PUI-17708) ([5074f31](https://git.elliemae.io/platform-ui/dimsum/commit/5074f31500fe824671861a9527525e45f5ddbb47))
|
|
109
|
+
|
|
6
110
|
## 3.60.0-next.2 (2026-01-05)
|
|
7
111
|
|
|
8
112
|
### Features
|
|
@@ -16,6 +16,8 @@ export default class DSAppPickerCO extends PageObject {
|
|
|
16
16
|
|
|
17
17
|
static applyAriaDisabledURL = new Urlbuilder(`${PATH_E2E_APP_PICKER}`, 'apply-aria-disabled-test');
|
|
18
18
|
|
|
19
|
+
static reflowURL = new Urlbuilder(`${PATH_E2E_APP_PICKER}`, 'reflow-test');
|
|
20
|
+
|
|
19
21
|
// Snapshots
|
|
20
22
|
static snapshotPath(example = 'basic') {
|
|
21
23
|
return PageObject.getSnapshotPathBuilder('AppPicker', example);
|
|
@@ -37,6 +39,14 @@ export default class DSAppPickerCO extends PageObject {
|
|
|
37
39
|
static getChipByLabel = async (label) =>
|
|
38
40
|
$(`//button[@data-testid="app-picker__chip"]/div/span[contains(text(),"${label}")]//ancestor::button`);
|
|
39
41
|
|
|
42
|
+
static getChipsByLabel = async (label) =>
|
|
43
|
+
$$(`//button[@data-testid="app-picker__chip"]/div/span[contains(text(),"${label}")]//ancestor::button`);
|
|
44
|
+
|
|
45
|
+
static getChipByLabelAndIndex = async (label, index) => {
|
|
46
|
+
const chips = await DSAppPickerCO.getChipsByLabel(label);
|
|
47
|
+
return chips[index];
|
|
48
|
+
};
|
|
49
|
+
|
|
40
50
|
static async getAppPickerRoot() {
|
|
41
51
|
return $('[data-testid="ds-apppicker-root"]');
|
|
42
52
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* eslint-disable wdio/no-pause */
|
|
2
|
+
import DSAppPickerCO from '../DSAppPickerCO';
|
|
3
|
+
|
|
4
|
+
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
5
|
+
describe('PUI-17867 - AppPicker:: Reflow test -visual', () => {
|
|
6
|
+
before('loading page', async () => {
|
|
7
|
+
const errorOnGo = await DSAppPickerCO.reflowURL.go();
|
|
8
|
+
if (errorOnGo) throw errorOnGo;
|
|
9
|
+
await browser.maximizeWindow();
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it('01: should show appPicker open', async () => {
|
|
13
|
+
const openAppPickerBtn = await DSAppPickerCO.getOpenAppPicker();
|
|
14
|
+
await openAppPickerBtn.click();
|
|
15
|
+
const snapshot = await browser.percyCheckScreenshot(DSAppPickerCO.snapshotPath('reflow-appPicker-open'));
|
|
16
|
+
await expect(snapshot).toEqual(0);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('02: should scroll to the 2nd Pipeline chip', async () => {
|
|
20
|
+
const secondPipelineChip = await DSAppPickerCO.getChipByLabelAndIndex('Pipeline', 1);
|
|
21
|
+
await secondPipelineChip.scrollIntoView();
|
|
22
|
+
await browser.pause(300);
|
|
23
|
+
const snapshot = await browser.percyCheckScreenshot(DSAppPickerCO.snapshotPath('reflow-appPicker-scrolled'));
|
|
24
|
+
await expect(snapshot).toEqual(0);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('03: should select the 2nd Pipeline chip', async () => {
|
|
28
|
+
const secondPipelineChip = await DSAppPickerCO.getChipByLabelAndIndex('Pipeline', 1);
|
|
29
|
+
await secondPipelineChip.click();
|
|
30
|
+
const snapshot = await browser.percyCheckScreenshot(
|
|
31
|
+
DSAppPickerCO.snapshotPath('reflow-appPicker-pipeline-selected'),
|
|
32
|
+
);
|
|
33
|
+
await expect(snapshot).toEqual(0);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -39,5 +39,18 @@ if (
|
|
|
39
39
|
await expect(titleSlot).toHaveAttribute('aria-label', 'im title aria');
|
|
40
40
|
await expect(separatorSlot).toHaveAttribute('aria-label', 'im separator aria');
|
|
41
41
|
});
|
|
42
|
+
it('03: should have custom data-public for each slot', async () => {
|
|
43
|
+
const itemSlot = await DSAppPickerCO.getItemSlotByIndex();
|
|
44
|
+
const rowSlot = await DSAppPickerCO.getRowSlotByIndex();
|
|
45
|
+
const rootSlot = await DSAppPickerCO.getRootSlotByIndex();
|
|
46
|
+
const titleSlot = await DSAppPickerCO.getTitleSlotByIndex();
|
|
47
|
+
const separatorSlot = await DSAppPickerCO.getSeparatorSlotByIndex();
|
|
48
|
+
await rootSlot.waitForDisplayed();
|
|
49
|
+
await expect(itemSlot).toHaveAttribute('data-public', 'item-custom-attribute');
|
|
50
|
+
await expect(rowSlot).toHaveAttribute('data-public', 'row-custom-attribute');
|
|
51
|
+
await expect(rootSlot).toHaveAttribute('data-public', 'root-custom-attribute');
|
|
52
|
+
await expect(titleSlot).toHaveAttribute('data-public', 'title-custom-attribute');
|
|
53
|
+
await expect(separatorSlot).toHaveAttribute('data-public', 'separator-custom-attribute');
|
|
54
|
+
});
|
|
42
55
|
});
|
|
43
56
|
}
|
|
@@ -33,7 +33,24 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
35
|
|
|
36
|
-
describe('PUI-
|
|
36
|
+
describe('PUI-17879 - Chip, Basic & Labels -Visual', () => {
|
|
37
|
+
before('loading page', async () => {
|
|
38
|
+
const errorOnGo = await DSChipCO.basicURL.go();
|
|
39
|
+
if (errorOnGo) throw errorOnGo;
|
|
40
|
+
});
|
|
41
|
+
it('01: should show basic chips by default', async () => {
|
|
42
|
+
await (await DSChipCO.getChipByIndex(1)).waitForDisplayed();
|
|
43
|
+
const snapshot = await browser.percyCheckScreenshot(DSChipCO.snapshotPath('dschips-basic-default'));
|
|
44
|
+
await expect(snapshot).toEqual(0);
|
|
45
|
+
});
|
|
46
|
+
it('02: truncated chip should show text on hover', async () => {
|
|
47
|
+
await mouseOver(await DSChipCO.getChipByIndex(3));
|
|
48
|
+
const snapshot = await browser.percyCheckScreenshot(DSChipCO.snapshotPath('dschips-basic-untruncated'));
|
|
49
|
+
await expect(snapshot).toEqual(0);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
describe('PUI-17879 - Chip, Styles -visual', () => {
|
|
37
54
|
before('loading page', async () => {
|
|
38
55
|
const errorOnGo = await DSChipCO.shapeURL.go();
|
|
39
56
|
if (errorOnGo) throw errorOnGo;
|
package/ds-chip/DSChipCO.js
CHANGED
|
@@ -16,6 +16,8 @@ export default class DSChipCO extends PageObject {
|
|
|
16
16
|
|
|
17
17
|
static applyAriaDisabledURL = new Urlbuilder(PATH_E2E_CHIP, 'apply-aria-disabled-test');
|
|
18
18
|
|
|
19
|
+
static customAttributesUsageURL = new Urlbuilder(PATH_E2E_CHIP, 'custom-attributes-usage-test');
|
|
20
|
+
|
|
19
21
|
// Snapshots
|
|
20
22
|
static snapshotPath(example = 'basic') {
|
|
21
23
|
return PageObject.getSnapshotPathBuilder('Chip', example);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import DSChipCO from '../DSChipCO';
|
|
2
|
+
import DSAppPickerCO from '../../ds-apppicker/DSAppPickerCO';
|
|
2
3
|
|
|
3
4
|
if (
|
|
4
5
|
(!browser.capabilities['ice:options'].isPhone &&
|
|
@@ -36,4 +37,28 @@ if (
|
|
|
36
37
|
await expect(ellipsisSlot).toHaveAttribute('aria-label', 'ellipsis aria');
|
|
37
38
|
});
|
|
38
39
|
});
|
|
40
|
+
describe('PUI-17787 - Chip: Custom Attributes Usage -Func', () => {
|
|
41
|
+
before('loading page', async () => {
|
|
42
|
+
const errorOnGo = await DSChipCO.customAttributesUsageURL.go();
|
|
43
|
+
if (errorOnGo) throw errorOnGo;
|
|
44
|
+
});
|
|
45
|
+
it('01: should have custom aria-* for each Chip', async () => {
|
|
46
|
+
const triggerButton = await DSAppPickerCO.getOpenAppPicker();
|
|
47
|
+
await triggerButton.click();
|
|
48
|
+
const chip0 = await DSChipCO.getChipButtonByIndex(0);
|
|
49
|
+
const chip1 = await DSChipCO.getChipButtonByIndex(1);
|
|
50
|
+
const chip2 = await DSChipCO.getChipButtonByIndex(2);
|
|
51
|
+
await expect(chip0).toHaveAttribute('aria-label', 'open dashboard overview');
|
|
52
|
+
await expect(chip1).toHaveAttribute('aria-label', 'navigate to Pipeline app');
|
|
53
|
+
await expect(chip2).toHaveAttribute('aria-label', 'navigate to Calendar app');
|
|
54
|
+
});
|
|
55
|
+
it('02: should have custom lang-* for each Chip', async () => {
|
|
56
|
+
const chip0 = await DSChipCO.getChipButtonByIndex(0);
|
|
57
|
+
const chip1 = await DSChipCO.getChipButtonByIndex(1);
|
|
58
|
+
const chip2 = await DSChipCO.getChipButtonByIndex(2);
|
|
59
|
+
await expect(chip0).toHaveAttribute('lang', 'sp');
|
|
60
|
+
await expect(chip1).toHaveAttribute('lang', 'en');
|
|
61
|
+
await expect(chip2).toHaveAttribute('lang', 'en');
|
|
62
|
+
});
|
|
63
|
+
});
|
|
39
64
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/* eslint-disable max-len */
|
|
2
2
|
import DSLargeInputTextCO from '../DSLargeInputTextCO';
|
|
3
|
-
import { type } from '../../../helpers';
|
|
4
3
|
|
|
5
4
|
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
6
5
|
describe('PUI-10395 - LargeInputText:: Dialog integration - Visual Test', () => {
|
|
@@ -13,7 +12,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
13
12
|
await dialogTrigger.click();
|
|
14
13
|
const input = await DSLargeInputTextCO.getInputByIndex(0);
|
|
15
14
|
await input.click();
|
|
16
|
-
await
|
|
15
|
+
await input.setValue(
|
|
17
16
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.',
|
|
18
17
|
);
|
|
19
18
|
const snapshot = await browser.checkSnapshot(DSLargeInputTextCO.snapshotPath('large-inputs-dialog'));
|
|
@@ -68,7 +68,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
68
68
|
const inputValue = await input.getAttribute('aria-label');
|
|
69
69
|
// eslint-disable-next-line max-len
|
|
70
70
|
await expect(inputValue).toEqual(
|
|
71
|
-
'month input field, current values: November,
|
|
71
|
+
'month input field, current values: November, twenty second, 3333, 4, 45, ante meridiem',
|
|
72
72
|
);
|
|
73
73
|
});
|
|
74
74
|
});
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
2
|
import DSComboboxMultiCO from '../DSComboboxMultiCO';
|
|
3
3
|
|
|
4
|
-
if (
|
|
5
|
-
(!browser.capabilities['ice:options'].isPhone &&
|
|
6
|
-
!browser.capabilities['ice:options'].isTablet
|
|
7
|
-
) {
|
|
4
|
+
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
8
5
|
describe('PUI-17269 - ComboboxMulti:: Slots - Controlled Menu and Sections -Visual', () => {
|
|
9
6
|
before('loading page', async () => {
|
|
10
7
|
const errorOnGo = await DSComboboxMultiCO.controlledMenuStateWithSectionsSlotsTest.go();
|
|
@@ -18,7 +18,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
18
18
|
const dayText = await day.getAttribute('aria-label');
|
|
19
19
|
await expect(dayText).toBe(
|
|
20
20
|
// eslint-disable-next-line max-len
|
|
21
|
-
'date time picker context menu trigger, current values: December,
|
|
21
|
+
'date time picker context menu trigger, current values: December, twenty seventh, 2000, empty hours, empty minutes, empty meriediem',
|
|
22
22
|
);
|
|
23
23
|
});
|
|
24
24
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable import/no-relative-packages */
|
|
2
|
-
import {
|
|
2
|
+
import { PATH_E2E_GLOBAL_HEADER } from '../paths';
|
|
3
3
|
import { PageObject, Urlbuilder } from '../helpers';
|
|
4
4
|
|
|
5
5
|
export default class GlobalHeader extends PageObject {
|
|
@@ -17,7 +17,7 @@ export default class GlobalHeader extends PageObject {
|
|
|
17
17
|
|
|
18
18
|
static backgroundURL = new Urlbuilder(PATH_E2E_GLOBAL_HEADER, 'background');
|
|
19
19
|
|
|
20
|
-
static customNavigation = new Urlbuilder(
|
|
20
|
+
static customNavigation = new Urlbuilder(PATH_E2E_GLOBAL_HEADER, 'custom-breadcrumb-test');
|
|
21
21
|
|
|
22
22
|
static sanitizeCss = new Urlbuilder(PATH_E2E_GLOBAL_HEADER, 'sanitize-css');
|
|
23
23
|
|
|
@@ -87,7 +87,7 @@ export default class GlobalHeader extends PageObject {
|
|
|
87
87
|
// Slots
|
|
88
88
|
|
|
89
89
|
static async getGHBreadcrumbChevronlotByIndex(index = 0) {
|
|
90
|
-
return $$('[data-dimsum-slot="
|
|
90
|
+
return $$('[data-dimsum-slot="dsIconRoot"]')[index];
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
static async getGHBreadcrumbContainerSlotByIndex(index = 0) {
|
|
@@ -8,79 +8,79 @@ if (
|
|
|
8
8
|
browser.capabilities.browserName === 'Chrome'
|
|
9
9
|
) {
|
|
10
10
|
describe('PUI-15665 - GlobalHeader: Slots Test -Func', () => {
|
|
11
|
-
|
|
11
|
+
beforeEach(async () => {
|
|
12
12
|
const errorOnGo = await GlobalHeader.slotsTest.go();
|
|
13
13
|
if (errorOnGo) throw errorOnGo;
|
|
14
14
|
});
|
|
15
15
|
it('01: should display basic GlobalHeadercwith customized slots (aria-*)', async () => {
|
|
16
|
-
await (await GlobalHeader.
|
|
17
|
-
|
|
16
|
+
await (await GlobalHeader.getGHMenubarItemButtonSlotByIndex(1)).click();
|
|
17
|
+
const chevron = await GlobalHeader.getGHBreadcrumbChevronlotByIndex();
|
|
18
18
|
const container = await GlobalHeader.getGHBreadcrumbContainerSlotByIndex();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const breadcrumbItem = await GlobalHeader.getGHBreadcrumbItemSlotByIndex();
|
|
20
|
+
const breadcrumbItemLink = await GlobalHeader.getGHBreadcrumbItemLinkSlotByIndex();
|
|
21
|
+
const breadcrumbItemLinkLabel = await GlobalHeader.getGHBreadcrumbItemLinkLabelSlotByIndex();
|
|
22
22
|
const breadcrumbList = await GlobalHeader.getGHBreadcrumbListSlotByIndex();
|
|
23
23
|
const breadcrumbPipe = await GlobalHeader.getGHBreadcrumbPipeSlotByIndex();
|
|
24
24
|
const root = await GlobalHeader.getGHRootSlotByIndex();
|
|
25
25
|
const logoContainer = await GlobalHeader.getGHLogoContainerSlotByIndex();
|
|
26
26
|
const menubarItem = await GlobalHeader.getGHMenubarItemSlotByIndex();
|
|
27
|
-
|
|
27
|
+
const menubarItemButton = await GlobalHeader.getGHMenubarItemButtonSlotByIndex();
|
|
28
28
|
const menubarList = await GlobalHeader.getGHMenubarListSlotByIndex();
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
const menubarItemPopupItem = await GlobalHeader.getGHMenubarItemPopupmenuItemSlotByIndex();
|
|
30
|
+
const menubarItemPopupItemButton = await GlobalHeader.getGHMenubarItemPopupmenuItemButtonSlotByIndex();
|
|
31
|
+
const popupList = await GlobalHeader.getGHMenubarItemPopupmenuListSlotByIndex();
|
|
32
|
+
const popupSeparator = await GlobalHeader.getGHMenubarItemPopupmenuSeparatorSlotByIndex();
|
|
33
|
+
await expect(chevron).toHaveAttribute('aria-label', 'im breadcrumb chev aria');
|
|
34
34
|
await expect(container).toHaveAttribute('aria-label', 'im breadcrumb container aria');
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
await expect(breadcrumbItem).toHaveAttribute('aria-label', 'im breadcrumb item aria');
|
|
36
|
+
await expect(breadcrumbItemLink).toHaveAttribute('aria-label', 'im breadcrumb item link aria');
|
|
37
|
+
await expect(breadcrumbItemLinkLabel).toHaveAttribute('aria-label', 'im breadcrumb item linklabel aria');
|
|
38
38
|
await expect(breadcrumbList).toHaveAttribute('aria-label', 'im breadcrumb list aria');
|
|
39
39
|
await expect(breadcrumbPipe).toHaveAttribute('aria-label', 'im breadcrumb pipe aria');
|
|
40
40
|
await expect(root).toHaveAttribute('aria-label', 'im breadcrumb root aria');
|
|
41
41
|
await expect(logoContainer).toHaveAttribute('aria-label', 'im logo container aria');
|
|
42
42
|
await expect(menubarItem).toHaveAttribute('aria-label', 'im menubar item aria');
|
|
43
|
-
|
|
43
|
+
await expect(menubarItemButton).toHaveAttribute('aria-label', 'im menubar item button aria');
|
|
44
44
|
await expect(menubarList).toHaveAttribute('aria-label', 'im menubar list aria');
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
await expect(menubarItemPopupItem).toHaveAttribute('aria-label', 'im popup menu item aria');
|
|
46
|
+
await expect(menubarItemPopupItemButton).toHaveAttribute('aria-label', 'im popup item button aria');
|
|
47
|
+
await expect(popupList).toHaveAttribute('aria-label', 'im popup menulist aria');
|
|
48
|
+
await expect(popupSeparator).toHaveAttribute('aria-label', 'im popup separator aria');
|
|
49
49
|
});
|
|
50
50
|
it('02: should display basic GlobalHeadercwith customized slots (data-*)', async () => {
|
|
51
|
-
await (await GlobalHeader.
|
|
52
|
-
|
|
51
|
+
await (await GlobalHeader.getGHMenubarItemButtonSlotByIndex(1)).click();
|
|
52
|
+
const chevron = await GlobalHeader.getGHBreadcrumbChevronlotByIndex();
|
|
53
53
|
const container = await GlobalHeader.getGHBreadcrumbContainerSlotByIndex();
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
const breadcrumbItem = await GlobalHeader.getGHBreadcrumbItemSlotByIndex();
|
|
55
|
+
const breadcrumbItemLink = await GlobalHeader.getGHBreadcrumbItemLinkSlotByIndex();
|
|
56
|
+
const breadcrumbItemLinkLabel = await GlobalHeader.getGHBreadcrumbItemLinkLabelSlotByIndex();
|
|
57
57
|
const breadcrumbList = await GlobalHeader.getGHBreadcrumbListSlotByIndex();
|
|
58
58
|
const breadcrumbPipe = await GlobalHeader.getGHBreadcrumbPipeSlotByIndex();
|
|
59
59
|
const root = await GlobalHeader.getGHRootSlotByIndex();
|
|
60
60
|
const logoContainer = await GlobalHeader.getGHLogoContainerSlotByIndex();
|
|
61
61
|
const menubarItem = await GlobalHeader.getGHMenubarItemSlotByIndex();
|
|
62
|
-
|
|
62
|
+
const menubarItemButton = await GlobalHeader.getGHMenubarItemButtonSlotByIndex();
|
|
63
63
|
const menubarList = await GlobalHeader.getGHMenubarListSlotByIndex();
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
const menubarItemPopupItem = await GlobalHeader.getGHMenubarItemPopupmenuItemSlotByIndex();
|
|
65
|
+
const menubarItemPopupItemButton = await GlobalHeader.getGHMenubarItemPopupmenuItemButtonSlotByIndex();
|
|
66
|
+
const popupList = await GlobalHeader.getGHMenubarItemPopupmenuListSlotByIndex();
|
|
67
|
+
const popupSeparator = await GlobalHeader.getGHMenubarItemPopupmenuSeparatorSlotByIndex();
|
|
68
|
+
await expect(chevron).toHaveAttribute('data-testid', 'im breadcrumb chev data');
|
|
69
69
|
await expect(container).toHaveAttribute('data-testid', 'im breadcrumb container data');
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
await expect(breadcrumbItem).toHaveAttribute('data-testid', 'im breadcrumb item data');
|
|
71
|
+
await expect(breadcrumbItemLink).toHaveAttribute('data-testid', 'im breadcrumb item link data');
|
|
72
|
+
await expect(breadcrumbItemLinkLabel).toHaveAttribute('data-testid', 'im breadcrumb item linklabel data');
|
|
73
73
|
await expect(breadcrumbList).toHaveAttribute('data-testid', 'im breadcrumb list data');
|
|
74
74
|
await expect(breadcrumbPipe).toHaveAttribute('data-testid', 'im breadcrumb pipe data');
|
|
75
75
|
await expect(root).toHaveAttribute('data-testid', 'im breadcrumb root data');
|
|
76
76
|
await expect(logoContainer).toHaveAttribute('data-testid', 'im logo container data');
|
|
77
77
|
await expect(menubarItem).toHaveAttribute('data-testid', 'im menubar item data');
|
|
78
|
-
|
|
78
|
+
await expect(menubarItemButton).toHaveAttribute('data-testid', 'im menubar item button data');
|
|
79
79
|
await expect(menubarList).toHaveAttribute('data-testid', 'im menubar list data');
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
await expect(menubarItemPopupItem).toHaveAttribute('data-testid', 'im popup menu item data');
|
|
81
|
+
await expect(menubarItemPopupItemButton).toHaveAttribute('data-testid', 'im popup item button data');
|
|
82
|
+
await expect(popupList).toHaveAttribute('data-testid', 'im popup menulist data');
|
|
83
|
+
await expect(popupSeparator).toHaveAttribute('data-testid', 'im popup separator data');
|
|
84
84
|
});
|
|
85
85
|
});
|
|
86
86
|
}
|