dimsum-e2e-tests 3.70.0-next.47 → 3.70.0-next.49
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 +12 -0
- package/ds-data-table-async/components/HeaderCO.js +7 -0
- package/ds-data-table-async/resizable/DSDataTable.resize-min-clamp.func.spec.js +72 -0
- package/ds-form-toggle/DSToggle.func.spec.js +20 -23
- package/ds-form-toggle/DSToggleCO.js +11 -2
- package/ds-hooks/useFocusStack/DSHook.useFocusStack.func.spec.js +83 -0
- package/ds-shuttle-v2/DSShuttleV2CO.js +4 -0
- package/ds-shuttle-v2/breadcrumb-a11y/DSShuttleV2.breadcrumb-a11y.func.spec.js +43 -0
- package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +4 -2
- package/package.json +149 -150
- package/paths.js +0 -3
- package/ds-hooks/useFocusStack/DSHook.useFocusStack.skipped.js +0 -57
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.70.0-next.49 (2026-07-21)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- ds-form-checkbox:: update to latest spec [PUI-18112](https://jira.elliemae.io/browse/PUI-18112) ([#8201](https://git.elliemae.io/platform-ui/dimsum/issues/8201)) ([ed9660f](https://git.elliemae.io/platform-ui/dimsum/commit/ed9660fa98038dd1a9fc9c591b6c0980cfba102f))
|
|
11
|
+
|
|
12
|
+
## 3.70.0-next.48 (2026-07-20)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- ds-form-radio:: fixed and expanded radio documentation [PUI-17897](https://jira.elliemae.io/browse/PUI-17897) ([#8191](https://git.elliemae.io/platform-ui/dimsum/issues/8191)) ([e7c892a](https://git.elliemae.io/platform-ui/dimsum/commit/e7c892a9aad4c068e352c00e589253c0c96e5986))
|
|
17
|
+
|
|
6
18
|
## 3.70.0-next.47 (2026-07-17)
|
|
7
19
|
|
|
8
20
|
### Features
|
|
@@ -57,6 +57,13 @@ export default class HeaderCO extends PageObject {
|
|
|
57
57
|
// that fix.
|
|
58
58
|
static getResizeHandler = async (index) => $$('[data-testid="ds-datatable-resizer"]')[index];
|
|
59
59
|
|
|
60
|
+
static getResizeHandlers = async () => $$('[data-testid="ds-datatable-resizer"]');
|
|
61
|
+
|
|
62
|
+
static getLastResizeHandler = async () => {
|
|
63
|
+
const all = await this.getResizeHandlers();
|
|
64
|
+
return all[all.length - 1];
|
|
65
|
+
};
|
|
66
|
+
|
|
60
67
|
static getFilterBtnByIndex = async (index) => $$('[data-testid="data-table-filter-menu-button"] button')[index];
|
|
61
68
|
|
|
62
69
|
static getSortBtnByIndex = async (index) => {
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Key } from 'webdriverio';
|
|
2
|
+
import { sendKeyRepeat } from '../../helpers';
|
|
3
|
+
import DSDataTableCO from '../DSDataTableCO';
|
|
4
|
+
import { HeaderCO } from '../components';
|
|
5
|
+
|
|
6
|
+
// Coverage for PUI-12696 (fixed): a keyboard double-delta commit in useHeaderResizer let the last
|
|
7
|
+
// column resize below its declared minWidth, so the resize handle overlapped the header title.
|
|
8
|
+
// The resizableWithConstrains story sets minWidth: 100 / maxWidth: 300 on all 7 columns, so the
|
|
9
|
+
// last column (dateRange, index 6) must clamp at 100 no matter how hard it is shrunk.
|
|
10
|
+
const LAST_COLUMN_INDEX = 6;
|
|
11
|
+
|
|
12
|
+
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
13
|
+
describe('PUI-18764 - DSDataTable:: last column resize clamps at minWidth - Func', () => {
|
|
14
|
+
before(async () => {
|
|
15
|
+
const errorOnGo = await DSDataTableCO.resizableWithConstrains.go();
|
|
16
|
+
if (errorOnGo) throw errorOnGo;
|
|
17
|
+
await DSDataTableCO.waitForDataTable();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('01: keyboard Shift+Alt+ArrowLeft should not shrink last column below minWidth', async () => {
|
|
21
|
+
// Focus the last column's resize handle: click its header, then Return focuses the handle
|
|
22
|
+
// directly (no drag/filter/sort child precedes it on this story) — same flow as PUI-11345.
|
|
23
|
+
const lastHeader = await HeaderCO.getHeaderCellByIndex(LAST_COLUMN_INDEX);
|
|
24
|
+
await lastHeader.click();
|
|
25
|
+
await browser.keys(Key.Return);
|
|
26
|
+
await expect(await HeaderCO.getLastResizeHandler()).toBeFocused();
|
|
27
|
+
|
|
28
|
+
// Each Shift+Alt+ArrowLeft is -50px; 6 presses drives well past the 100px floor.
|
|
29
|
+
await sendKeyRepeat([Key.Shift, Key.Alt, Key.ArrowLeft], 6);
|
|
30
|
+
|
|
31
|
+
await browser.waitUntil(
|
|
32
|
+
async () => {
|
|
33
|
+
const resizer = await HeaderCO.getLastResizeHandler();
|
|
34
|
+
const valueNow = Number(await resizer.getAttribute('aria-valuenow'));
|
|
35
|
+
const valueMin = Number(await resizer.getAttribute('aria-valuemin'));
|
|
36
|
+
return valueNow === valueMin;
|
|
37
|
+
},
|
|
38
|
+
{ timeout: 5000, timeoutMsg: 'last column did not clamp at minWidth after keyboard shrink' },
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
const resizer = await HeaderCO.getLastResizeHandler();
|
|
42
|
+
const valueNow = Number(await resizer.getAttribute('aria-valuenow'));
|
|
43
|
+
const valueMin = Number(await resizer.getAttribute('aria-valuemin'));
|
|
44
|
+
// aria-valuenow mirrors the committed column width, so clamping at aria-valuemin (100) is the
|
|
45
|
+
// deterministic guard that the width was NOT reduced beyond its minimum limit (PUI-12696).
|
|
46
|
+
expect(valueNow).toBe(valueMin); // committed width clamped exactly at the floor
|
|
47
|
+
expect(valueNow).toBeGreaterThanOrEqual(100); // never below the declared minWidth
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('02: mouse drag should not shrink last column below minWidth', async () => {
|
|
51
|
+
// Widen first so the following shrink is a real reduction, then drag well past the floor.
|
|
52
|
+
await (await HeaderCO.getLastResizeHandler()).dragAndDrop({ x: 120, y: 0 });
|
|
53
|
+
await (await HeaderCO.getLastResizeHandler()).dragAndDrop({ x: -400, y: 0 });
|
|
54
|
+
|
|
55
|
+
await browser.waitUntil(
|
|
56
|
+
async () => {
|
|
57
|
+
const resizer = await HeaderCO.getLastResizeHandler();
|
|
58
|
+
const valueNow = Number(await resizer.getAttribute('aria-valuenow'));
|
|
59
|
+
const valueMin = Number(await resizer.getAttribute('aria-valuemin'));
|
|
60
|
+
return valueNow === valueMin;
|
|
61
|
+
},
|
|
62
|
+
{ timeout: 5000, timeoutMsg: 'last column did not clamp at minWidth after mouse shrink' },
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
const resizer = await HeaderCO.getLastResizeHandler();
|
|
66
|
+
const valueNow = Number(await resizer.getAttribute('aria-valuenow'));
|
|
67
|
+
const valueMin = Number(await resizer.getAttribute('aria-valuemin'));
|
|
68
|
+
expect(valueNow).toBe(valueMin);
|
|
69
|
+
expect(valueNow).toBeGreaterThanOrEqual(100);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
@@ -11,14 +11,16 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
11
11
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
12
12
|
});
|
|
13
13
|
it('01: should change state to ON', async () => {
|
|
14
|
-
await (await DSToggleCO.
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
await (await DSToggleCO.getSwitch()).click();
|
|
15
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'true');
|
|
16
|
+
// the visible (presentational) label should track the state
|
|
17
|
+
await expect(await DSToggleCO.getStateLabel()).toHaveText('ON');
|
|
17
18
|
});
|
|
18
19
|
it('02: should change state to OFF', async () => {
|
|
19
|
-
await (await DSToggleCO.
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
await (await DSToggleCO.getSwitch()).click();
|
|
21
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'false');
|
|
22
|
+
// the visible (presentational) label should track the state
|
|
23
|
+
await expect(await DSToggleCO.getStateLabel()).toHaveText('OFF');
|
|
22
24
|
});
|
|
23
25
|
});
|
|
24
26
|
describe('PUI-6760 - DSControlledToggle:: states on/off - keyboard navigation', () => {
|
|
@@ -34,18 +36,15 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
34
36
|
});
|
|
35
37
|
it('02: should change state to ON (Enter)', async () => {
|
|
36
38
|
await browser.keys(Key.Enter);
|
|
37
|
-
|
|
38
|
-
await expect(toggleState).toBeDisplayed();
|
|
39
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'true');
|
|
39
40
|
});
|
|
40
41
|
it('03: should change state to OFF (Space)', async () => {
|
|
41
42
|
await browser.keys(Key.Space);
|
|
42
|
-
|
|
43
|
-
await expect(toggleState).toBeDisplayed();
|
|
43
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'false');
|
|
44
44
|
});
|
|
45
45
|
it('04: should change state to ON (Space)', async () => {
|
|
46
46
|
await browser.keys(Key.Space);
|
|
47
|
-
|
|
48
|
-
await expect(toggleState).toBeDisplayed();
|
|
47
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'true');
|
|
49
48
|
});
|
|
50
49
|
});
|
|
51
50
|
|
|
@@ -56,10 +55,11 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
56
55
|
await (await DSToggleCO.getToggle()).waitForExist();
|
|
57
56
|
});
|
|
58
57
|
it('01: should not change state in disabled toggle', async () => {
|
|
59
|
-
const
|
|
60
|
-
await
|
|
61
|
-
|
|
62
|
-
await
|
|
58
|
+
const disabledSwitch = await DSToggleCO.getSwitch(0);
|
|
59
|
+
const initialState = await disabledSwitch.getAttribute('aria-checked');
|
|
60
|
+
// click the container (the button itself is disabled and not interactable)
|
|
61
|
+
await (await DSToggleCO.getToggleByIndex(0)).click();
|
|
62
|
+
await expect(await DSToggleCO.getSwitch(0)).toHaveAttribute('aria-checked', initialState);
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
|
|
@@ -84,18 +84,15 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
84
84
|
});
|
|
85
85
|
it('03: should not change state on [Enter] key press', async () => {
|
|
86
86
|
await browser.keys(Key.Enter);
|
|
87
|
-
|
|
88
|
-
await expect(toggleState).toBeDisplayed();
|
|
87
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'false');
|
|
89
88
|
});
|
|
90
89
|
it('04: should not change state on [Space] key press', async () => {
|
|
91
90
|
await browser.keys(Key.Space);
|
|
92
|
-
|
|
93
|
-
await expect(toggleState).toBeDisplayed();
|
|
91
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'false');
|
|
94
92
|
});
|
|
95
93
|
it('05: should not change state on click', async () => {
|
|
96
|
-
await (await DSToggleCO.
|
|
97
|
-
|
|
98
|
-
await expect(toggleState).toBeDisplayed();
|
|
94
|
+
await (await DSToggleCO.getSwitch()).click();
|
|
95
|
+
await expect(await DSToggleCO.getSwitch()).toHaveAttribute('aria-checked', 'false');
|
|
99
96
|
});
|
|
100
97
|
});
|
|
101
98
|
describe('PUI-8814 - DSControlledToggle:: Tabbing', () => {
|
|
@@ -36,8 +36,17 @@ export default class DSToggleCO extends PageObject {
|
|
|
36
36
|
return $$('[data-testid="ds-controlled-toggle-checkbox"]')[index];
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
// The on/off state is exposed semantically via aria-checked on the role="switch"
|
|
40
|
+
// button. Post PUI-16323 the visible ON/OFF label is aria-hidden and purely
|
|
41
|
+
// presentational, so state must be read from aria-checked, not the label text.
|
|
42
|
+
static async getSwitch(index = 0) {
|
|
43
|
+
return $$('button[role="switch"]')[index];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Presentational ON/OFF label (aria-hidden). Targeted via its stable slot
|
|
47
|
+
// data-testid so we can assert the visible text tracks the state.
|
|
48
|
+
static async getStateLabel(index = 0) {
|
|
49
|
+
return $$('[data-testid="ds-formtoggle-text-wrapper"]')[index];
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
static async getTooltip() {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
2
|
+
import { Key } from 'webdriverio';
|
|
3
|
+
import useFocusStackCO from './useFocusStackCO';
|
|
4
|
+
import { tabStops } from '../../helpers';
|
|
5
|
+
import DSPillsV2CO from '../../ds-pills-v2/DSPillsV2CO';
|
|
6
|
+
import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
|
|
7
|
+
|
|
8
|
+
if (
|
|
9
|
+
(!browser.capabilities['ice:options'].isPhone &&
|
|
10
|
+
!browser.capabilities['ice:options'].isTablet &&
|
|
11
|
+
browser.capabilities.browserName === 'chrome') ||
|
|
12
|
+
browser.capabilities.browserName === 'Chrome'
|
|
13
|
+
) {
|
|
14
|
+
describe('PUI-13147: UseFocusStack for focus return -Func', () => {
|
|
15
|
+
before(async () => {
|
|
16
|
+
const errorOnGo = await useFocusStackCO.basicURL.go();
|
|
17
|
+
if (errorOnGo) throw errorOnGo;
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('01: should Tab x4 and have D focused', async () => {
|
|
21
|
+
await tabStops(4);
|
|
22
|
+
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
23
|
+
const pillD = await DSPillsV2CO.getCloseButtonByIndex(3);
|
|
24
|
+
// stack holds the three departed elements [C, B, A] -> 1 (h3) + 3
|
|
25
|
+
await expect(typographys).toEqual(4);
|
|
26
|
+
await expect(pillD).toBeFocused();
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('02: PUI-13301 - should click non-focused C, remove it, and keep focus on D (not B)', async () => {
|
|
30
|
+
// D is focused; click C (index 2) to remove it. Focus must return to D, the pre-click element.
|
|
31
|
+
const pillC = await DSPillsV2CO.getCloseButtonByIndex(2);
|
|
32
|
+
await pillC.click();
|
|
33
|
+
// C is gone, so the remaining pills are A, B, D, E, F, G -> D is now at index 2.
|
|
34
|
+
const pillD = await DSPillsV2CO.getCloseButtonByIndex(2);
|
|
35
|
+
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
36
|
+
// removed C does not linger; the stack reads [B, A] -> 1 (h3) + 2
|
|
37
|
+
await expect(typographys).toEqual(3);
|
|
38
|
+
await expect(pillD).toBeFocused();
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it('03: should Tab forward to E, remove it, and return focus to D', async () => {
|
|
42
|
+
await tabStops(1);
|
|
43
|
+
const pillE = await DSPillsV2CO.getCloseButtonByIndex(3);
|
|
44
|
+
await expect(pillE).toBeFocused();
|
|
45
|
+
// remove the focused pill with the keyboard
|
|
46
|
+
await browser.keys(Key.Return);
|
|
47
|
+
// E removed, remaining pills are A, B, D, F, G -> D is at index 2
|
|
48
|
+
const pillD = await DSPillsV2CO.getCloseButtonByIndex(2);
|
|
49
|
+
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
50
|
+
await expect(typographys).toEqual(3);
|
|
51
|
+
await expect(pillD).toBeFocused();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('04: should delete back through the stack until focus falls back to Reset', async () => {
|
|
55
|
+
// remove D (focused) -> B, remove B -> A, remove A -> no survivor left -> fallBackRef (Reset)
|
|
56
|
+
await browser.keys(Key.Return);
|
|
57
|
+
await browser.keys(Key.Return);
|
|
58
|
+
await browser.keys(Key.Return);
|
|
59
|
+
const reset = await DSButtonV3CO.getButtonByIndex(0);
|
|
60
|
+
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
61
|
+
// stack emptied -> only the h3 remains
|
|
62
|
+
await expect(typographys).toEqual(1);
|
|
63
|
+
await expect(reset).toBeFocused();
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it('05: should click Reset and restore all removable pills', async () => {
|
|
67
|
+
await browser.keys(Key.Return);
|
|
68
|
+
const closeButtons = await DSPillsV2CO.getCloseButtons();
|
|
69
|
+
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
70
|
+
await expect(closeButtons).toHaveLength(7);
|
|
71
|
+
await expect(typographys).toEqual(1);
|
|
72
|
+
});
|
|
73
|
+
it('06: should mouse-remove E with an empty stack and fall back focus to Reset', async () => {
|
|
74
|
+
const pillE = await DSPillsV2CO.getCloseButtonByIndex(4);
|
|
75
|
+
await pillE.click();
|
|
76
|
+
const reset = await DSButtonV3CO.getButtonByIndex(0);
|
|
77
|
+
await expect(reset).toBeFocused();
|
|
78
|
+
// E is hidden, so 6 removable pills remain.
|
|
79
|
+
const closeButtons = await DSPillsV2CO.getCloseButtons();
|
|
80
|
+
await expect(closeButtons).toHaveLength(6);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
@@ -42,6 +42,8 @@ export default class DSShuttleV2CO extends PageObject {
|
|
|
42
42
|
|
|
43
43
|
static basicURL = new Urlbuilder(PATH_E2E_SHUTTLE_V2, 'basic-test');
|
|
44
44
|
|
|
45
|
+
static breadcrumbAccessibleURL = new Urlbuilder(PATH_E2E_SHUTTLE_V2, 'breadcrumb-accessible-test');
|
|
46
|
+
|
|
45
47
|
static adHocRenderAfterBulkMove = new Urlbuilder(PATH_E2E_SHUTTLE_V2, 'ad-hoc-render-after-bulk-move');
|
|
46
48
|
|
|
47
49
|
static ariaPropsUrl = new Urlbuilder(PATH_E2E_SHUTTLE_V2, 'aria-props-test');
|
|
@@ -192,6 +194,8 @@ export default class DSShuttleV2CO extends PageObject {
|
|
|
192
194
|
|
|
193
195
|
static getBreadcrumbs = async () => $$(`[data-testid="ds-breadcrumb-link"]`);
|
|
194
196
|
|
|
197
|
+
static getActiveBreadcrumb = async () => $(`[data-testid="ds-breadcrumb-link"][aria-current="step"]`);
|
|
198
|
+
|
|
195
199
|
static getSubtitleByItem = async (item) => item.$$(`p`)[1];
|
|
196
200
|
|
|
197
201
|
static getActionButtonByItemAndIndex = async (item, index = 0) =>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import DSShuttleV2CO from '../DSShuttleV2CO';
|
|
2
|
+
|
|
3
|
+
// Tests for the fix introduced in PUI-17395 (ShuttleV2 breadcrumb a11y):
|
|
4
|
+
// every step renders as a focusable <button> and the active/current step exposes
|
|
5
|
+
// aria-current="step". DOM-attribute assertions are browser-agnostic, so this runs Chrome-only.
|
|
6
|
+
if (
|
|
7
|
+
(!browser.capabilities['ice:options'].isPhone &&
|
|
8
|
+
!browser.capabilities['ice:options'].isTablet &&
|
|
9
|
+
browser.capabilities.browserName === 'chrome') ||
|
|
10
|
+
browser.capabilities.browserName === 'Chrome'
|
|
11
|
+
) {
|
|
12
|
+
describe('PUI-18762 - DSShuttleV2:: breadcrumb active step aria-current -Func', () => {
|
|
13
|
+
before(async () => {
|
|
14
|
+
const errorOnGo = await DSShuttleV2CO.breadcrumbAccessibleURL.go();
|
|
15
|
+
if (errorOnGo) throw errorOnGo;
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('01: active step exposes aria-current="step" and every step is a focusable button', async () => {
|
|
19
|
+
// Drill down two levels so the breadcrumb has multiple steps (ancestors + current)
|
|
20
|
+
const rootItem = await DSShuttleV2CO.getItemFromSourceByIndex(1);
|
|
21
|
+
await (await DSShuttleV2CO.getActionButtonByItemAndIndex(rootItem, 0)).click();
|
|
22
|
+
const subItem = await DSShuttleV2CO.getItemFromSourceByIndex(2);
|
|
23
|
+
await (await DSShuttleV2CO.getActionButtonByItemAndIndex(subItem, 0)).click();
|
|
24
|
+
|
|
25
|
+
// Gather elements/values
|
|
26
|
+
const crumbs = await DSShuttleV2CO.getBreadcrumbs();
|
|
27
|
+
const activeCrumb = await DSShuttleV2CO.getActiveBreadcrumb();
|
|
28
|
+
const activeCrumbTag = await activeCrumb.getTagName();
|
|
29
|
+
const firstCrumb = crumbs[0];
|
|
30
|
+
const firstCrumbTag = await firstCrumb.getTagName();
|
|
31
|
+
|
|
32
|
+
// Assertions
|
|
33
|
+
await expect(crumbs.length).toBeGreaterThan(1);
|
|
34
|
+
// The current/active step (last) is announced as the current step
|
|
35
|
+
await expect(activeCrumb).toBeExisting();
|
|
36
|
+
await expect(activeCrumb).toHaveAttribute('aria-current', 'step');
|
|
37
|
+
await expect(activeCrumbTag).toBe('button');
|
|
38
|
+
// Non-active ancestor steps are buttons without aria-current
|
|
39
|
+
await expect(firstCrumbTag).toBe('button');
|
|
40
|
+
await expect(firstCrumb).not.toHaveAttribute('aria-current');
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
@@ -74,11 +74,13 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
|
|
|
74
74
|
it('01: should not move the item when the disabled move action button is clicked', async () => {
|
|
75
75
|
const testItem = await DSShuttleV2CO.getItemWrapper(1);
|
|
76
76
|
const testItemMoveBtn = await DSShuttleV2CO.getActionButtonByItemAndIndex(testItem, 1);
|
|
77
|
-
const testItemMoveBtnDisabled = await testItemMoveBtn.getAttribute('aria-disabled');
|
|
78
77
|
const testItemText = await testItem.getText();
|
|
79
78
|
await testItemMoveBtn.click();
|
|
80
79
|
await expect(testItemText).toBe('Source 0.1');
|
|
81
|
-
|
|
80
|
+
// PUI-17909: a natively disabled DSButton emits the native `disabled` attribute and
|
|
81
|
+
// intentionally omits aria-disabled (that is reserved for applyAriaDisabled). Assert the
|
|
82
|
+
// native disabled state instead of the now-absent aria-disabled.
|
|
83
|
+
await expect(testItemMoveBtn).toBeDisabled();
|
|
82
84
|
});
|
|
83
85
|
it('02: should not display the BAB when a disabled item is clicked', async () => {
|
|
84
86
|
const testItem = await DSShuttleV2CO.getItemWrapper(1);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "dimsum-e2e-tests",
|
|
4
|
-
"version": "3.70.0-next.
|
|
4
|
+
"version": "3.70.0-next.49",
|
|
5
5
|
"description": "End-to-end tests for dimsum library",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@elliemae/ds-legacy-button": "1.0.16",
|
|
@@ -38,155 +38,154 @@
|
|
|
38
38
|
"@elliemae/ds-legacy-wysiwygeditor": "1.0.16",
|
|
39
39
|
"@elliemae/ds-legacy-zipcode-search": "1.0.16",
|
|
40
40
|
"@elliemae/ds-legacy-zoom": "1.0.16",
|
|
41
|
-
"@elliemae/ds-
|
|
42
|
-
"@elliemae/ds-accordion": "3.70.0-next.
|
|
43
|
-
"@elliemae/ds-backdrop": "3.70.0-next.
|
|
44
|
-
"@elliemae/ds-
|
|
45
|
-
"@elliemae/ds-
|
|
46
|
-
"@elliemae/ds-
|
|
47
|
-
"@elliemae/ds-
|
|
48
|
-
"@elliemae/ds-
|
|
49
|
-
"@elliemae/ds-
|
|
50
|
-
"@elliemae/ds-card-
|
|
51
|
-
"@elliemae/ds-card": "3.70.0-next.
|
|
52
|
-
"@elliemae/ds-card-
|
|
53
|
-
"@elliemae/ds-card-
|
|
54
|
-
"@elliemae/ds-
|
|
55
|
-
"@elliemae/ds-card-
|
|
56
|
-
"@elliemae/ds-
|
|
57
|
-
"@elliemae/ds-card
|
|
58
|
-
"@elliemae/ds-
|
|
59
|
-
"@elliemae/ds-
|
|
60
|
-
"@elliemae/ds-chat": "3.70.0-next.
|
|
61
|
-
"@elliemae/ds-chat-container": "3.70.0-next.
|
|
62
|
-
"@elliemae/ds-chat-
|
|
63
|
-
"@elliemae/ds-
|
|
64
|
-
"@elliemae/ds-chat-floating-button": "3.70.0-next.
|
|
65
|
-
"@elliemae/ds-chat-
|
|
66
|
-
"@elliemae/ds-chat-
|
|
67
|
-
"@elliemae/ds-chat-
|
|
68
|
-
"@elliemae/ds-chat-
|
|
69
|
-
"@elliemae/ds-
|
|
70
|
-
"@elliemae/ds-
|
|
71
|
-
"@elliemae/ds-
|
|
72
|
-
"@elliemae/ds-
|
|
73
|
-
"@elliemae/ds-
|
|
74
|
-
"@elliemae/ds-controlled-form": "3.70.0-next.
|
|
75
|
-
"@elliemae/ds-
|
|
76
|
-
"@elliemae/ds-
|
|
77
|
-
"@elliemae/ds-
|
|
78
|
-
"@elliemae/ds-data-table
|
|
79
|
-
"@elliemae/ds-data-table-
|
|
80
|
-
"@elliemae/ds-data-table-cell": "3.70.0-next.
|
|
81
|
-
"@elliemae/ds-data-table-cell
|
|
82
|
-
"@elliemae/ds-data-table-
|
|
83
|
-
"@elliemae/ds-data-table-
|
|
84
|
-
"@elliemae/ds-data-table-
|
|
85
|
-
"@elliemae/ds-
|
|
86
|
-
"@elliemae/ds-
|
|
87
|
-
"@elliemae/ds-
|
|
88
|
-
"@elliemae/ds-dataviz
|
|
89
|
-
"@elliemae/ds-
|
|
90
|
-
"@elliemae/ds-
|
|
91
|
-
"@elliemae/ds-
|
|
92
|
-
"@elliemae/ds-
|
|
93
|
-
"@elliemae/ds-
|
|
94
|
-
"@elliemae/ds-
|
|
95
|
-
"@elliemae/ds-
|
|
96
|
-
"@elliemae/ds-
|
|
97
|
-
"@elliemae/ds-form-
|
|
98
|
-
"@elliemae/ds-
|
|
99
|
-
"@elliemae/ds-form-
|
|
100
|
-
"@elliemae/ds-form-
|
|
101
|
-
"@elliemae/ds-form-
|
|
102
|
-
"@elliemae/ds-form-
|
|
103
|
-
"@elliemae/ds-form-layout-autocomplete": "3.70.0-next.
|
|
104
|
-
"@elliemae/ds-form-layout-
|
|
105
|
-
"@elliemae/ds-form-
|
|
106
|
-
"@elliemae/ds-form-
|
|
107
|
-
"@elliemae/ds-form-
|
|
108
|
-
"@elliemae/ds-form-
|
|
109
|
-
"@elliemae/ds-form-
|
|
110
|
-
"@elliemae/ds-form-
|
|
111
|
-
"@elliemae/ds-
|
|
112
|
-
"@elliemae/ds-
|
|
113
|
-
"@elliemae/ds-global-header": "3.70.0-next.
|
|
114
|
-
"@elliemae/ds-
|
|
115
|
-
"@elliemae/ds-
|
|
116
|
-
"@elliemae/ds-
|
|
117
|
-
"@elliemae/ds-hooks-
|
|
118
|
-
"@elliemae/ds-hooks-
|
|
119
|
-
"@elliemae/ds-hooks-
|
|
120
|
-
"@elliemae/ds-hooks-
|
|
121
|
-
"@elliemae/ds-hooks-is-
|
|
122
|
-
"@elliemae/ds-hooks-
|
|
123
|
-
"@elliemae/ds-hooks-
|
|
124
|
-
"@elliemae/ds-
|
|
125
|
-
"@elliemae/ds-
|
|
126
|
-
"@elliemae/ds-
|
|
127
|
-
"@elliemae/ds-
|
|
128
|
-
"@elliemae/ds-
|
|
129
|
-
"@elliemae/ds-
|
|
130
|
-
"@elliemae/ds-
|
|
131
|
-
"@elliemae/ds-
|
|
132
|
-
"@elliemae/ds-
|
|
133
|
-
"@elliemae/ds-loading-indicator": "3.70.0-next.
|
|
134
|
-
"@elliemae/ds-menu-
|
|
135
|
-
"@elliemae/ds-menu-items
|
|
136
|
-
"@elliemae/ds-menu-items": "3.70.0-next.
|
|
137
|
-
"@elliemae/ds-menu-items-commons": "3.70.0-next.
|
|
138
|
-
"@elliemae/ds-menu-items-section": "3.70.0-next.
|
|
139
|
-
"@elliemae/ds-menu-items-separator": "3.70.0-next.
|
|
140
|
-
"@elliemae/ds-menu-items-single": "3.70.0-next.
|
|
141
|
-
"@elliemae/ds-menu-items-
|
|
142
|
-
"@elliemae/ds-menu-items-skeleton": "3.70.0-next.
|
|
143
|
-
"@elliemae/ds-menu-
|
|
144
|
-
"@elliemae/ds-
|
|
145
|
-
"@elliemae/ds-menu-
|
|
146
|
-
"@elliemae/ds-
|
|
147
|
-
"@elliemae/ds-
|
|
148
|
-
"@elliemae/ds-
|
|
149
|
-
"@elliemae/ds-
|
|
150
|
-
"@elliemae/ds-page-header-
|
|
151
|
-
"@elliemae/ds-page-header
|
|
152
|
-
"@elliemae/ds-
|
|
153
|
-
"@elliemae/ds-
|
|
154
|
-
"@elliemae/ds-
|
|
155
|
-
"@elliemae/ds-
|
|
156
|
-
"@elliemae/ds-
|
|
157
|
-
"@elliemae/ds-progress-indicator": "3.70.0-next.
|
|
158
|
-
"@elliemae/ds-
|
|
159
|
-
"@elliemae/ds-
|
|
160
|
-
"@elliemae/ds-read-more": "3.70.0-next.
|
|
161
|
-
"@elliemae/ds-
|
|
162
|
-
"@elliemae/ds-ribbon": "3.70.0-next.
|
|
163
|
-
"@elliemae/ds-
|
|
164
|
-
"@elliemae/ds-
|
|
165
|
-
"@elliemae/ds-
|
|
166
|
-
"@elliemae/ds-side-panel": "3.70.0-next.
|
|
167
|
-
"@elliemae/ds-
|
|
168
|
-
"@elliemae/ds-skeleton": "3.70.0-next.
|
|
169
|
-
"@elliemae/ds-
|
|
170
|
-
"@elliemae/ds-
|
|
171
|
-
"@elliemae/ds-
|
|
172
|
-
"@elliemae/ds-
|
|
173
|
-
"@elliemae/ds-
|
|
174
|
-
"@elliemae/ds-
|
|
175
|
-
"@elliemae/ds-
|
|
176
|
-
"@elliemae/ds-
|
|
177
|
-
"@elliemae/ds-toast": "3.70.0-next.
|
|
178
|
-
"@elliemae/ds-toolbar-
|
|
179
|
-
"@elliemae/ds-
|
|
180
|
-
"@elliemae/ds-
|
|
181
|
-
"@elliemae/ds-
|
|
182
|
-
"@elliemae/ds-
|
|
183
|
-
"@elliemae/ds-
|
|
184
|
-
"@elliemae/ds-
|
|
185
|
-
"@elliemae/ds-typescript-helpers": "3.70.0-next.
|
|
186
|
-
"@elliemae/ds-
|
|
187
|
-
"@elliemae/ds-
|
|
188
|
-
"@elliemae/ds-wizard": "3.70.0-next.
|
|
189
|
-
"@elliemae/ds-zustand-helpers": "3.70.0-next.47"
|
|
41
|
+
"@elliemae/ds-app-picker": "3.70.0-next.49",
|
|
42
|
+
"@elliemae/ds-accordion": "3.70.0-next.49",
|
|
43
|
+
"@elliemae/ds-backdrop": "3.70.0-next.49",
|
|
44
|
+
"@elliemae/ds-breadcrumb": "3.70.0-next.49",
|
|
45
|
+
"@elliemae/ds-card-navigation": "3.70.0-next.49",
|
|
46
|
+
"@elliemae/ds-basic": "3.70.0-next.49",
|
|
47
|
+
"@elliemae/ds-card-v1": "3.70.0-next.49",
|
|
48
|
+
"@elliemae/ds-banner": "3.70.0-next.49",
|
|
49
|
+
"@elliemae/ds-card-v1-detail": "3.70.0-next.49",
|
|
50
|
+
"@elliemae/ds-card-v2": "3.70.0-next.49",
|
|
51
|
+
"@elliemae/ds-card-v3": "3.70.0-next.49",
|
|
52
|
+
"@elliemae/ds-card-v2-action-addon": "3.70.0-next.49",
|
|
53
|
+
"@elliemae/ds-card-v2-group": "3.70.0-next.49",
|
|
54
|
+
"@elliemae/ds-button-v2": "3.70.0-next.49",
|
|
55
|
+
"@elliemae/ds-card-v3-poc": "3.70.0-next.49",
|
|
56
|
+
"@elliemae/ds-chat": "3.70.0-next.49",
|
|
57
|
+
"@elliemae/ds-chat-card": "3.70.0-next.49",
|
|
58
|
+
"@elliemae/ds-chat-bubble": "3.70.0-next.49",
|
|
59
|
+
"@elliemae/ds-accessibility": "3.70.0-next.49",
|
|
60
|
+
"@elliemae/ds-chat-container-header": "3.70.0-next.49",
|
|
61
|
+
"@elliemae/ds-chat-container": "3.70.0-next.49",
|
|
62
|
+
"@elliemae/ds-chat-empty-state": "3.70.0-next.49",
|
|
63
|
+
"@elliemae/ds-card": "3.70.0-next.49",
|
|
64
|
+
"@elliemae/ds-chat-floating-button": "3.70.0-next.49",
|
|
65
|
+
"@elliemae/ds-chat-message-delimeter": "3.70.0-next.49",
|
|
66
|
+
"@elliemae/ds-chat-sidebar": "3.70.0-next.49",
|
|
67
|
+
"@elliemae/ds-chat-system-message": "3.70.0-next.49",
|
|
68
|
+
"@elliemae/ds-chat-tile": "3.70.0-next.49",
|
|
69
|
+
"@elliemae/ds-chip": "3.70.0-next.49",
|
|
70
|
+
"@elliemae/ds-codeeditor": "3.70.0-next.49",
|
|
71
|
+
"@elliemae/ds-comments": "3.70.0-next.49",
|
|
72
|
+
"@elliemae/ds-classnames": "3.70.0-next.49",
|
|
73
|
+
"@elliemae/ds-circular-progress-indicator": "3.70.0-next.49",
|
|
74
|
+
"@elliemae/ds-controlled-form": "3.70.0-next.49",
|
|
75
|
+
"@elliemae/ds-csv-converter": "3.70.0-next.49",
|
|
76
|
+
"@elliemae/ds-data-table-action-cell": "3.70.0-next.49",
|
|
77
|
+
"@elliemae/ds-data-table-cell": "3.70.0-next.49",
|
|
78
|
+
"@elliemae/ds-data-table": "3.70.0-next.49",
|
|
79
|
+
"@elliemae/ds-data-table-cell-header": "3.70.0-next.49",
|
|
80
|
+
"@elliemae/ds-data-table-drag-and-drop-cell": "3.70.0-next.49",
|
|
81
|
+
"@elliemae/ds-data-table-expand-cell": "3.70.0-next.49",
|
|
82
|
+
"@elliemae/ds-data-table-multi-select-cell": "3.70.0-next.49",
|
|
83
|
+
"@elliemae/ds-data-table-single-select-cell": "3.70.0-next.49",
|
|
84
|
+
"@elliemae/ds-data-table-filters": "3.70.0-next.49",
|
|
85
|
+
"@elliemae/ds-dataviz-pie": "3.70.0-next.49",
|
|
86
|
+
"@elliemae/ds-dialog": "3.70.0-next.49",
|
|
87
|
+
"@elliemae/ds-decision-graph": "3.70.0-next.49",
|
|
88
|
+
"@elliemae/ds-dataviz": "3.70.0-next.49",
|
|
89
|
+
"@elliemae/ds-date-time-picker": "3.70.0-next.49",
|
|
90
|
+
"@elliemae/ds-dropzone": "3.70.0-next.49",
|
|
91
|
+
"@elliemae/ds-drag-and-drop": "3.70.0-next.49",
|
|
92
|
+
"@elliemae/ds-dropdownmenu-v2": "3.70.0-next.49",
|
|
93
|
+
"@elliemae/ds-filter-bar": "3.70.0-next.49",
|
|
94
|
+
"@elliemae/ds-form-checkbox": "3.70.0-next.49",
|
|
95
|
+
"@elliemae/ds-fast-list": "3.70.0-next.49",
|
|
96
|
+
"@elliemae/ds-form-combobox": "3.70.0-next.49",
|
|
97
|
+
"@elliemae/ds-form-date-range-picker": "3.70.0-next.49",
|
|
98
|
+
"@elliemae/ds-floating-context": "3.70.0-next.49",
|
|
99
|
+
"@elliemae/ds-form-helpers-mask-hooks": "3.70.0-next.49",
|
|
100
|
+
"@elliemae/ds-form-input-text": "3.70.0-next.49",
|
|
101
|
+
"@elliemae/ds-form-date-time-picker": "3.70.0-next.49",
|
|
102
|
+
"@elliemae/ds-form-input-textarea": "3.70.0-next.49",
|
|
103
|
+
"@elliemae/ds-form-layout-autocomplete": "3.70.0-next.49",
|
|
104
|
+
"@elliemae/ds-form-layout-input-group": "3.70.0-next.49",
|
|
105
|
+
"@elliemae/ds-form-native-select": "3.70.0-next.49",
|
|
106
|
+
"@elliemae/ds-form-radio": "3.70.0-next.49",
|
|
107
|
+
"@elliemae/ds-form-select": "3.70.0-next.49",
|
|
108
|
+
"@elliemae/ds-form-layout-blocks": "3.70.0-next.49",
|
|
109
|
+
"@elliemae/ds-form-toggle": "3.70.0-next.49",
|
|
110
|
+
"@elliemae/ds-form-single-combobox": "3.70.0-next.49",
|
|
111
|
+
"@elliemae/ds-grid": "3.70.0-next.49",
|
|
112
|
+
"@elliemae/ds-hooks-focus-stack": "3.70.0-next.49",
|
|
113
|
+
"@elliemae/ds-global-header": "3.70.0-next.49",
|
|
114
|
+
"@elliemae/ds-hooks-fontsize-detector": "3.70.0-next.49",
|
|
115
|
+
"@elliemae/ds-hooks-focus-trap": "3.70.0-next.49",
|
|
116
|
+
"@elliemae/ds-form-layout-label": "3.70.0-next.49",
|
|
117
|
+
"@elliemae/ds-hooks-fontsize-media": "3.70.0-next.49",
|
|
118
|
+
"@elliemae/ds-hooks-keyboard-navigation": "3.70.0-next.49",
|
|
119
|
+
"@elliemae/ds-hooks-headless-tooltip": "3.70.0-next.49",
|
|
120
|
+
"@elliemae/ds-hooks-is-mobile": "3.70.0-next.49",
|
|
121
|
+
"@elliemae/ds-hooks-is-showing-ellipsis": "3.70.0-next.49",
|
|
122
|
+
"@elliemae/ds-hooks-on-blur-out": "3.70.0-next.49",
|
|
123
|
+
"@elliemae/ds-hooks-on-first-focus-in": "3.70.0-next.49",
|
|
124
|
+
"@elliemae/ds-image": "3.70.0-next.49",
|
|
125
|
+
"@elliemae/ds-form-multi-combobox": "3.70.0-next.49",
|
|
126
|
+
"@elliemae/ds-icon": "3.70.0-next.49",
|
|
127
|
+
"@elliemae/ds-imagelibrarymodal": "3.70.0-next.49",
|
|
128
|
+
"@elliemae/ds-icons": "3.70.0-next.49",
|
|
129
|
+
"@elliemae/ds-left-navigation": "3.70.0-next.49",
|
|
130
|
+
"@elliemae/ds-indeterminate-progress-indicator": "3.70.0-next.49",
|
|
131
|
+
"@elliemae/ds-menu-button": "3.70.0-next.49",
|
|
132
|
+
"@elliemae/ds-layout-provider": "3.70.0-next.49",
|
|
133
|
+
"@elliemae/ds-loading-indicator": "3.70.0-next.49",
|
|
134
|
+
"@elliemae/ds-menu-items-action": "3.70.0-next.49",
|
|
135
|
+
"@elliemae/ds-menu-items": "3.70.0-next.49",
|
|
136
|
+
"@elliemae/ds-menu-items-multi": "3.70.0-next.49",
|
|
137
|
+
"@elliemae/ds-menu-items-commons": "3.70.0-next.49",
|
|
138
|
+
"@elliemae/ds-menu-items-section": "3.70.0-next.49",
|
|
139
|
+
"@elliemae/ds-menu-items-separator": "3.70.0-next.49",
|
|
140
|
+
"@elliemae/ds-menu-items-single-with-submenu": "3.70.0-next.49",
|
|
141
|
+
"@elliemae/ds-menu-items-single": "3.70.0-next.49",
|
|
142
|
+
"@elliemae/ds-menu-items-skeleton": "3.70.0-next.49",
|
|
143
|
+
"@elliemae/ds-menu-tree-item": "3.70.0-next.49",
|
|
144
|
+
"@elliemae/ds-mobile": "3.70.0-next.49",
|
|
145
|
+
"@elliemae/ds-menu-items-submenu": "3.70.0-next.49",
|
|
146
|
+
"@elliemae/ds-modal-slide": "3.70.0-next.49",
|
|
147
|
+
"@elliemae/ds-notification-badge": "3.70.0-next.49",
|
|
148
|
+
"@elliemae/ds-overlay": "3.70.0-next.49",
|
|
149
|
+
"@elliemae/ds-page-header-v1": "3.70.0-next.49",
|
|
150
|
+
"@elliemae/ds-page-header-v2": "3.70.0-next.49",
|
|
151
|
+
"@elliemae/ds-page-header": "3.70.0-next.49",
|
|
152
|
+
"@elliemae/ds-pagination": "3.70.0-next.49",
|
|
153
|
+
"@elliemae/ds-pills-v2": "3.70.0-next.49",
|
|
154
|
+
"@elliemae/ds-portal": "3.70.0-next.49",
|
|
155
|
+
"@elliemae/ds-page-layout": "3.70.0-next.49",
|
|
156
|
+
"@elliemae/ds-props-helpers": "3.70.0-next.49",
|
|
157
|
+
"@elliemae/ds-progress-indicator": "3.70.0-next.49",
|
|
158
|
+
"@elliemae/ds-query-builder": "3.70.0-next.49",
|
|
159
|
+
"@elliemae/ds-resizeable-container": "3.70.0-next.49",
|
|
160
|
+
"@elliemae/ds-read-more": "3.70.0-next.49",
|
|
161
|
+
"@elliemae/ds-scrollable-container": "3.70.0-next.49",
|
|
162
|
+
"@elliemae/ds-ribbon": "3.70.0-next.49",
|
|
163
|
+
"@elliemae/ds-separator": "3.70.0-next.49",
|
|
164
|
+
"@elliemae/ds-shared": "3.70.0-next.49",
|
|
165
|
+
"@elliemae/ds-shuttle-v2": "3.70.0-next.49",
|
|
166
|
+
"@elliemae/ds-side-panel-header": "3.70.0-next.49",
|
|
167
|
+
"@elliemae/ds-side-panel": "3.70.0-next.49",
|
|
168
|
+
"@elliemae/ds-skeleton": "3.70.0-next.49",
|
|
169
|
+
"@elliemae/ds-slider-v2": "3.70.0-next.49",
|
|
170
|
+
"@elliemae/ds-square-indicator": "3.70.0-next.49",
|
|
171
|
+
"@elliemae/ds-svg": "3.70.0-next.49",
|
|
172
|
+
"@elliemae/ds-tabs": "3.70.0-next.49",
|
|
173
|
+
"@elliemae/ds-test-utils": "3.70.0-next.49",
|
|
174
|
+
"@elliemae/ds-stepper": "3.70.0-next.49",
|
|
175
|
+
"@elliemae/ds-toolbar-v1": "3.70.0-next.49",
|
|
176
|
+
"@elliemae/ds-system": "3.70.0-next.49",
|
|
177
|
+
"@elliemae/ds-toast": "3.70.0-next.49",
|
|
178
|
+
"@elliemae/ds-toolbar-v2": "3.70.0-next.49",
|
|
179
|
+
"@elliemae/ds-transition": "3.70.0-next.49",
|
|
180
|
+
"@elliemae/ds-tree-model": "3.70.0-next.49",
|
|
181
|
+
"@elliemae/ds-tooltip-v3": "3.70.0-next.49",
|
|
182
|
+
"@elliemae/ds-treeview": "3.70.0-next.49",
|
|
183
|
+
"@elliemae/ds-truncated-expandable-text": "3.70.0-next.49",
|
|
184
|
+
"@elliemae/ds-typography": "3.70.0-next.49",
|
|
185
|
+
"@elliemae/ds-typescript-helpers": "3.70.0-next.49",
|
|
186
|
+
"@elliemae/ds-virtual-list": "3.70.0-next.49",
|
|
187
|
+
"@elliemae/ds-zustand-helpers": "3.70.0-next.49",
|
|
188
|
+
"@elliemae/ds-wizard": "3.70.0-next.49"
|
|
190
189
|
},
|
|
191
190
|
"publishConfig": {
|
|
192
191
|
"access": "public"
|
package/paths.js
CHANGED
|
@@ -113,8 +113,6 @@ export const PATH_DROPDOWNMENU_V2 = `${PATH_COMPONENTS}/DropdownMenuV2`;
|
|
|
113
113
|
export const PATH_TOAST = `${PATH_COMPONENTS}/Toast`;
|
|
114
114
|
export const PATH_ACCORDION = `${PATH_COMPONENTS}/Accordion`;
|
|
115
115
|
export const PATH_ACCORDION_EXAMPLES = `${PATH_ACCORDION}/Examples`;
|
|
116
|
-
export const PATH_ACCORDION_NATIVE = `${PATH_POC}/native-accordion`;
|
|
117
|
-
export const PATH_ACCORDION_NATIVE_EXAMPLES = `${PATH_ACCORDION_NATIVE}/Examples`;
|
|
118
116
|
export const PATH_D_TOGGLED = `${PATH_COMPONENTS}/Toggle`;
|
|
119
117
|
export const PATH_PAGE_NUMBER = `${PATH_END_OF_LIFE}/PageNumber/Examples`;
|
|
120
118
|
export const PATH_SLIDER = `${PATH_COMPONENTS}/Slider/Examples`;
|
|
@@ -313,7 +311,6 @@ export const PATH_E2E_GLOBAL_HEADER = `${PATH_E2E}/Global-Header`;
|
|
|
313
311
|
export const PATH_E2E_HOOK_FORM = `${PATH_E2E}/React-hook-form`;
|
|
314
312
|
export const PATH_E2E_ACCORDION = `${PATH_E2E}/Accordion`;
|
|
315
313
|
export const PATH_E2E_ACCORDION_PITFALLS = `${PATH_E2E_ACCORDION}/Pitfalls`;
|
|
316
|
-
export const PATH_E2E_ACCORDION_NATIVE = `${PATH_E2E}/AccordionNative`;
|
|
317
314
|
export const PATH_E2E_VIRTUAL_LIST = `${PATH_E2E}/Virtual-list`;
|
|
318
315
|
export const PATH_E2E_COMBOBOX = `${PATH_E2E_END_OF_LIFE}/ComboboxV2`;
|
|
319
316
|
export const PATH_E2E_COMBOBOX_V3 = `${PATH_E2E}/ComboboxV3`;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
|
-
import { Key } from 'webdriverio';
|
|
3
|
-
import useFocusStackCO from './useFocusStackCO';
|
|
4
|
-
import { tabStops, sendKeyRepeat } from '../../helpers';
|
|
5
|
-
import DSPillsV2CO from '../../ds-pills-v2/DSPillsV2CO';
|
|
6
|
-
import DSButtonV3CO from '../../ds-button-v3/DSButtonV3CO';
|
|
7
|
-
|
|
8
|
-
if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
|
|
9
|
-
// Skipped until 13301 gets fixed. Update testcase
|
|
10
|
-
describe.skip('PUI-13147: UseFocusStack for focus return -Func', () => {
|
|
11
|
-
before(async () => {
|
|
12
|
-
const errorOnGo = await useFocusStackCO.basicURL.go();
|
|
13
|
-
if (errorOnGo) throw errorOnGo;
|
|
14
|
-
});
|
|
15
|
-
it('01: should Tab x5 and have E focused', async () => {
|
|
16
|
-
await tabStops(5);
|
|
17
|
-
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
18
|
-
const pillE = await DSPillsV2CO.getCloseButtonByIndex(4);
|
|
19
|
-
await expect(typographys).toEqual(5);
|
|
20
|
-
await expect(pillE).toBeFocused();
|
|
21
|
-
});
|
|
22
|
-
it('02: should delete E and return to D', async () => {
|
|
23
|
-
const pillE = await DSPillsV2CO.getCloseButtonByIndex(4);
|
|
24
|
-
await pillE.click();
|
|
25
|
-
const pillD = await DSPillsV2CO.getCloseButtonByIndex(3);
|
|
26
|
-
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
27
|
-
await expect(typographys).toEqual(4);
|
|
28
|
-
await expect(pillD).toBeFocused();
|
|
29
|
-
});
|
|
30
|
-
it('03: should delete C and D and return to RESET (fallback)', async () => {
|
|
31
|
-
const pillC = await DSPillsV2CO.getCloseButtonByIndex(2);
|
|
32
|
-
await pillC.click();
|
|
33
|
-
const pillD = await DSPillsV2CO.getCloseButtonByIndex(2);
|
|
34
|
-
await pillD.click();
|
|
35
|
-
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
36
|
-
const reset = await DSButtonV3CO.getButtonByIndex(0);
|
|
37
|
-
await expect(typographys).toEqual(2);
|
|
38
|
-
await expect(reset).toBeFocused();
|
|
39
|
-
});
|
|
40
|
-
it.skip('05: should cick RESET and have all items back, then shift+tab x3 and focus E', async () => {
|
|
41
|
-
await browser.keys(Key.Return);
|
|
42
|
-
await sendKeyRepeat([Key.Shift, Key.Tab], 3);
|
|
43
|
-
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
44
|
-
const pillE = await DSPillsV2CO.getCloseButtonByIndex(4);
|
|
45
|
-
await expect(pillE).toBeFocused();
|
|
46
|
-
await expect(typographys).toEqual(5);
|
|
47
|
-
});
|
|
48
|
-
it.skip('06: should delete E and return to F', async () => {
|
|
49
|
-
const pillE = await DSPillsV2CO.getCloseButtonByIndex(4);
|
|
50
|
-
await pillE.click();
|
|
51
|
-
const pillF = await DSPillsV2CO.getCloseButtonByIndex(5);
|
|
52
|
-
const typographys = (await useFocusStackCO.getTypographys()).length;
|
|
53
|
-
await expect(typographys).toEqual(4);
|
|
54
|
-
await expect(pillF).toBeFocused();
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
}
|