dimsum-e2e-tests 3.70.0-next.28 → 3.70.0-next.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/ds-accordion-native/DSAccordionNative.axe-core.func.spec.js +117 -0
  3. package/ds-accordion-native/DSAccordionNative.func.spec.js +178 -0
  4. package/ds-accordion-native/DSAccordionNative.visual.spec.js +131 -0
  5. package/ds-accordion-native/DSAccordionNativeCO.js +149 -0
  6. package/ds-accordion-native/aria-disabled/DSAccordionNative.aria-disabled.axe-core.func.spec.js +25 -0
  7. package/ds-accordion-native/aria-disabled/DSAccordionNative.aria-disabled.visual.spec.js +27 -0
  8. package/ds-accordion-native/role/DSAccordionNative.role-heading.func.spec.js +27 -0
  9. package/ds-accordion-native/scrollable-content/DSAccordionNative.scrollable-content.visual.spec.js +48 -0
  10. package/ds-accordion-native/slots/DSAccordionNative.slots.axe-core.func.spec.js +25 -0
  11. package/ds-accordion-native/slots/DSAccordionNative.slots.func.spec.js +73 -0
  12. package/ds-accordion-native/slots/DSAccordionNative.slots.visual.spec.js +18 -0
  13. package/ds-accordion-native/wrapLabel/DSAccordionNative.wrap-label.visual.spec.js +22 -0
  14. package/ds-form-combobox-multi/DSComboboxMultiCO.js +2 -0
  15. package/ds-form-combobox-multi/aria-busy-loading/DSComboboxMulti.aria-busy-loading.axe-core.func.spec.js +7 -1
  16. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +15 -0
  17. package/ds-form-combobox-multi/inline/DSComboboxMulti.inline.visual.spec.js +21 -0
  18. package/ds-form-combobox-single/DSComboboxSingleCO.js +2 -0
  19. package/ds-form-combobox-single/aria-disabled/DSComboboxSingle.aria-disabled.visual.spec.js +18 -0
  20. package/ds-form-combobox-single/inline/DSComboboxSingle.inline.visual.spec.js +23 -0
  21. package/ds-form-native-select/NativeSelect.visual.spec.js +33 -0
  22. package/ds-form-native-select/option-selection/NativeSelect.option-selection.func.spec.js +25 -0
  23. package/package.json +150 -149
  24. package/paths.js +3 -0
@@ -0,0 +1,48 @@
1
+ /* eslint-disable wdio/no-pause */
2
+ import { Key } from 'webdriverio';
3
+ import DSAccordionNativeCO from '../DSAccordionNativeCO';
4
+
5
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
+ describe('PUI-18083 - AccordionNative: Scrollable content -Visual', () => {
7
+ before('loading page', async () => {
8
+ const errorOnGo = await DSAccordionNativeCO.scrollableContent.go();
9
+ if (errorOnGo) throw errorOnGo;
10
+ });
11
+ it('01: should display first accordion header focused', async () => {
12
+ await browser.eyesOpen();
13
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).waitForDisplayed();
14
+ await browser.keys(Key.Tab);
15
+ await browser.keys(Key.Return);
16
+ const snapshot = await browser.eyesCheckSnapshot(
17
+ DSAccordionNativeCO.snapshotPath('accordion-native-scrollable-default'),
18
+ );
19
+ await expect(snapshot).toEqual(0);
20
+ });
21
+ it('02: should display scrollable content focused', async () => {
22
+ await browser.eyesOpen();
23
+ await browser.keys(Key.ArrowDown);
24
+ await browser.keys(Key.ArrowUp);
25
+ await browser.keys(Key.Tab);
26
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).waitForDisplayed();
27
+ const snapshot = await browser.eyesCheckSnapshot(
28
+ DSAccordionNativeCO.snapshotPath('accordion-native-scrollable-top'),
29
+ );
30
+ await expect(snapshot).toEqual(0);
31
+ });
32
+ it('03: should display scrollable content scrolled to the bottom', async () => {
33
+ await browser.eyesOpen();
34
+ await browser.keys(Key.ArrowDown);
35
+ await browser.keys(Key.ArrowDown);
36
+ await browser.keys(Key.ArrowDown);
37
+ await browser.keys(Key.ArrowDown);
38
+ await browser.keys(Key.ArrowDown);
39
+ await browser.keys(Key.ArrowDown);
40
+ await browser.keys(Key.ArrowDown);
41
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).waitForDisplayed();
42
+ const snapshot = await browser.eyesCheckSnapshot(
43
+ DSAccordionNativeCO.snapshotPath('accordion-native-scrollable-bottom'),
44
+ );
45
+ await expect(snapshot).toEqual(0);
46
+ });
47
+ });
48
+ }
@@ -0,0 +1,25 @@
1
+ /* eslint-disable max-lines */
2
+ import DSAccordionNativeCO from '../DSAccordionNativeCO';
3
+ import { axeCoreCheck } from '../../helpers';
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-18083 - AccordionNative: Slots -AxeCore', () => {
12
+ before('loading page', async () => {
13
+ const errorOnGo = await DSAccordionNativeCO.slotsURL.go();
14
+ if (errorOnGo) throw errorOnGo;
15
+ });
16
+ it('01: should have accordion with custom slots (aria & data) and pass axe-core scan', async () => {
17
+ const summary = await DSAccordionNativeCO.getAccordionItemSummarySlotByIndex(0);
18
+ await summary.click();
19
+ const content = await DSAccordionNativeCO.getAccordionItemContentContainerSlotByIndex(0);
20
+ await content.waitForDisplayed();
21
+ const result = await axeCoreCheck();
22
+ expect(result.length).toBe(0);
23
+ });
24
+ });
25
+ }
@@ -0,0 +1,73 @@
1
+ /* eslint-disable max-lines, max-statements */
2
+ import DSAccordionNativeCO from '../DSAccordionNativeCO';
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-18083 - AccordionNative: Slots -Func', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSAccordionNativeCO.slotsURL.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+ it('01: should have a custom aria-label for each slot', async () => {
16
+ const root = await DSAccordionNativeCO.getAccordionContainerSlotByIndex();
17
+ const itemContainer = await DSAccordionNativeCO.getAccordionItemContainerSlotByIndex();
18
+ const itemDetails = await DSAccordionNativeCO.getAccordionItemDetailsSlotByIndex();
19
+ const itemSummary = await DSAccordionNativeCO.getAccordionItemSummarySlotByIndex();
20
+ const itemHeading = await DSAccordionNativeCO.getAccordionItemHeadingSlotByIndex();
21
+ const itemChevron = await DSAccordionNativeCO.getAccordionItemChevronSlotByIndex();
22
+ const titlesContainer = await DSAccordionNativeCO.getAccordionItemTitlesContainerSlotByIndex();
23
+ const primaryTitle = await DSAccordionNativeCO.getAccordionItemPrimaryTitleSlotByIndex();
24
+ const secondaryTitle = await DSAccordionNativeCO.getAccordionItemSecondaryTitleSlotByIndex();
25
+ await itemSummary.click();
26
+ const contentContainer = await DSAccordionNativeCO.getAccordionItemContentContainerSlotByIndex();
27
+ await contentContainer.waitForDisplayed();
28
+ await expect(root).toHaveAttribute('aria-label', 'im container aria');
29
+ await expect(itemContainer).toHaveAttribute('aria-label', 'im item container aria');
30
+ await expect(itemDetails).toHaveAttribute('aria-label', 'im itemdetails aria');
31
+ await expect(itemSummary).toHaveAttribute('aria-label', 'im itemsummary aria');
32
+ await expect(itemHeading).toHaveAttribute('aria-label', 'im itemheading aria');
33
+ await expect(itemChevron).toHaveAttribute('aria-label', 'im itemchevron aria');
34
+ await expect(titlesContainer).toHaveAttribute('aria-label', 'im itemtitlecontainer aria');
35
+ await expect(primaryTitle).toHaveAttribute('aria-label', 'im itemprimarytitle aria');
36
+ await expect(secondaryTitle).toHaveAttribute('aria-label', 'im itemsecondarytitle aria');
37
+ await expect(contentContainer).toHaveAttribute('aria-label', 'im itemcontentcontainer aria');
38
+ });
39
+
40
+ it('02: should have a custom data-testid for each slot', async () => {
41
+ const root = await DSAccordionNativeCO.getAccordionContainerSlotByIndex();
42
+ const itemContainer = await DSAccordionNativeCO.getAccordionItemContainerSlotByIndex();
43
+ const itemDetails = await DSAccordionNativeCO.getAccordionItemDetailsSlotByIndex();
44
+ const itemSummary = await DSAccordionNativeCO.getAccordionItemSummarySlotByIndex();
45
+ const itemHeading = await DSAccordionNativeCO.getAccordionItemHeadingSlotByIndex();
46
+ const itemChevron = await DSAccordionNativeCO.getAccordionItemChevronSlotByIndex();
47
+ const titlesContainer = await DSAccordionNativeCO.getAccordionItemTitlesContainerSlotByIndex();
48
+ const primaryTitle = await DSAccordionNativeCO.getAccordionItemPrimaryTitleSlotByIndex();
49
+ const secondaryTitle = await DSAccordionNativeCO.getAccordionItemSecondaryTitleSlotByIndex();
50
+ const contentContainer = await DSAccordionNativeCO.getAccordionItemContentContainerSlotByIndex();
51
+ await contentContainer.waitForDisplayed();
52
+ await expect(root).toHaveAttribute('data-testid', 'im container data');
53
+ await expect(itemContainer).toHaveAttribute('data-testid', 'im item container data');
54
+ await expect(itemDetails).toHaveAttribute('data-testid', 'im itemdetails data');
55
+ await expect(itemSummary).toHaveAttribute('data-testid', 'im itemsummary data');
56
+ await expect(itemHeading).toHaveAttribute('data-testid', 'im itemheading data');
57
+ await expect(itemChevron).toHaveAttribute('data-testid', 'im itemchevron data');
58
+ await expect(titlesContainer).toHaveAttribute('data-testid', 'im itemtitlecontainer data');
59
+ await expect(primaryTitle).toHaveAttribute('data-testid', 'im itemprimarytitle data');
60
+ await expect(secondaryTitle).toHaveAttribute('data-testid', 'im itemsecondarytitle data');
61
+ await expect(contentContainer).toHaveAttribute('data-testid', 'im itemcontentcontainer data');
62
+ });
63
+
64
+ it('03: should have a custom lang attribute for summary, primary and secondary titles', async () => {
65
+ const primaryTitle = await DSAccordionNativeCO.getAccordionItemPrimaryTitleSlotByIndex();
66
+ const secondaryTitle = await DSAccordionNativeCO.getAccordionItemSecondaryTitleSlotByIndex();
67
+ const summary = await DSAccordionNativeCO.getAccordionItemSummarySlotByIndex();
68
+ await expect(primaryTitle).toHaveAttribute('lang', 'en-US');
69
+ await expect(secondaryTitle).toHaveAttribute('lang', 'es-ES');
70
+ await expect(summary).toHaveAttribute('lang', 'en-US');
71
+ });
72
+ });
73
+ }
@@ -0,0 +1,18 @@
1
+ import DSAccordionNativeCO from '../DSAccordionNativeCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-18083 - AccordionNative: Slots -Visual', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSAccordionNativeCO.slotsURL.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('01: should display visually customized-slots (colors) accordion and matchbaseline', async () => {
10
+ const header = await DSAccordionNativeCO.getAccordionItemPrimaryTitleSlotByIndex(0);
11
+ await header.click();
12
+ const content = await DSAccordionNativeCO.getAccordionItemContentContainerSlotByIndex(0);
13
+ await content.waitForDisplayed();
14
+ const snapshot = await browser.checkSnapshot(DSAccordionNativeCO.snapshotPath('accordion-native-slots'));
15
+ await expect(snapshot).toEqual(0);
16
+ });
17
+ });
18
+ }
@@ -0,0 +1,22 @@
1
+ /* eslint-disable wdio/no-pause */
2
+ import { Key } from 'webdriverio';
3
+ import DSAccordionNativeCO from '../DSAccordionNativeCO';
4
+
5
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
+ describe('PUI-18083 - AccordionNative: wrapLabel -Visual', () => {
7
+ before('loading page', async () => {
8
+ const errorOnGo = await DSAccordionNativeCO.wrapLabel.go();
9
+ if (errorOnGo) throw errorOnGo;
10
+ });
11
+ it('01: should display accordion title and secondary title wrapped', async () => {
12
+ await browser.eyesOpen();
13
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).waitForDisplayed();
14
+ await browser.keys(Key.Tab);
15
+ await browser.keys(Key.Return);
16
+ const snapshot = await browser.eyesCheckSnapshot(
17
+ DSAccordionNativeCO.snapshotPath('accordion-native-wrap-label'),
18
+ );
19
+ await expect(snapshot).toEqual(0);
20
+ });
21
+ });
22
+ }
@@ -33,6 +33,8 @@ export default class DSComboboxMultiCO extends PageObject {
33
33
 
34
34
  static disabled = new Urlbuilder(PATH_E2E_COMBOBOX_MULTI, 'disabled-test');
35
35
 
36
+ static inlineTest = new Urlbuilder(PATH_E2E_COMBOBOX_MULTI, 'inline-test');
37
+
36
38
  static controlledMenuStateWithSectionsSlotsTest = new Urlbuilder(
37
39
  PATH_E2E_COMBOBOX_MULTI_SLOTS,
38
40
  'controlled-menu-state-with-section-slots-test',
@@ -24,7 +24,13 @@ if (
24
24
  const listbox = await DSComboboxMultiCO.getComboListbox();
25
25
  await listbox.waitForExist();
26
26
 
27
- const result = await axeCoreCheck();
27
+ // `scrollable-region-focusable` is disabled here as a documented false positive:
28
+ // in the busy/isLoading state the fast-list container is empty, so the region is
29
+ // not authentically scrollable from a user's perspective — TanStack Virtual leaves
30
+ // a residual scrollHeight that triggers the rule. The container's tabindex=-1 is a
31
+ // long-standing Firefox scroll-prevention workaround. The rule remains active for
32
+ // all other states (open menu with items, read-only, etc.).
33
+ const result = await axeCoreCheck({ extraDisabledRules: ['scrollable-region-focusable'] });
28
34
  expect(result.length).toBe(0);
29
35
  });
30
36
  });
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable max-lines */
2
2
  import { Key } from 'webdriverio';
3
3
  import DSComboboxMultiCO from '../DSComboboxMultiCO';
4
+ import { mouseOver } from '../../helpers';
4
5
 
5
6
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
7
  describe('PUI-14364 - ComboboxMulti:: applyAriaDisabled prop - visual', () => {
@@ -43,5 +44,19 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
43
44
  );
44
45
  await expect(snapshot).toEqual(0);
45
46
  });
47
+ // PUI-15476: aria-disabled item text color must change to n600 on hover
48
+ it('04: listbox with aria-disabled item hovered should display n600 text color', async () => {
49
+ await browser.eyesOpen();
50
+ const secondCombobox = await DSComboboxMultiCO.getComboboxWrapperByIndex(1);
51
+ await secondCombobox.click();
52
+ const menuList = await DSComboboxMultiCO.getMenuList();
53
+ await menuList.waitForDisplayed();
54
+ const ariaDisabledOption = await DSComboboxMultiCO.getOptionByIndex(1);
55
+ await mouseOver(ariaDisabledOption);
56
+ const snapshot = await browser.eyesCheckSnapshot(
57
+ DSComboboxMultiCO.snapshotPath('combobox-multi-aria-disabled-item-hovered'),
58
+ );
59
+ await expect(snapshot).toEqual(0);
60
+ });
46
61
  });
47
62
  }
@@ -0,0 +1,21 @@
1
+ /* eslint-disable max-lines */
2
+ import DSComboboxMultiCO from '../DSComboboxMultiCO';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ // Tests for the fix introduced in PUI-15481 (inline padding 8px top/bottom — was 10px)
6
+ describe('PUI-18560 - ComboboxMulti:: inline config padding - visual', () => {
7
+ before('loading page', async () => {
8
+ const errorOnGo = await DSComboboxMultiCO.inlineTest.go();
9
+ if (errorOnGo) throw errorOnGo;
10
+ });
11
+ it('01: inline combobox should render with the corrected 8px padding', async () => {
12
+ await browser.eyesOpen();
13
+ const pillDropdownBtn = await DSComboboxMultiCO.getPillDropDownBtn();
14
+ await pillDropdownBtn.click();
15
+ const menuList = await DSComboboxMultiCO.getMenuList();
16
+ await menuList.waitForDisplayed();
17
+ const snapshot = await browser.eyesCheckSnapshot(DSComboboxMultiCO.snapshotPath('combobox-multi-inline-padding'));
18
+ await expect(snapshot).toEqual(0);
19
+ });
20
+ });
21
+ }
@@ -37,6 +37,8 @@ export default class DSComboboxSingleCO extends PageObject {
37
37
 
38
38
  static disabled = new Urlbuilder(PATH_E2E_COMBOBOX_SINGLE, 'disabled-test');
39
39
 
40
+ static inlineTest = new Urlbuilder(PATH_E2E_COMBOBOX_SINGLE, 'inline-test');
41
+
40
42
  // COMBOBOX - INPUT
41
43
  static async getCombobox() {
42
44
  return $('[data-testid="combobox-container"]');
@@ -1,6 +1,8 @@
1
1
  /* eslint-disable max-lines */
2
2
  import { Key } from 'webdriverio';
3
3
  import DSComboboxSingleCO from '../DSComboboxSingleCO';
4
+ import DSControlledCheckboxCO from '../../ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO';
5
+ import { mouseOver } from '../../helpers';
4
6
 
5
7
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
8
  describe('PUI-14367 - ComboboxSingle:: applyAriaDisabled prop - visual', () => {
@@ -16,5 +18,21 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
16
18
  );
17
19
  await expect(snapshot).toEqual(0);
18
20
  });
21
+ // PUI-15476: aria-disabled item text color must change to n600 on hover
22
+ it('02: listbox with aria-disabled item hovered should display n600 text color', async () => {
23
+ await browser.eyesOpen();
24
+ const checkbox = await DSControlledCheckboxCO.getCheckbox();
25
+ await checkbox.click();
26
+ const combobox = await DSComboboxSingleCO.getCombobox();
27
+ await combobox.click();
28
+ const menuList = await DSComboboxSingleCO.getMenuList();
29
+ await menuList.waitForDisplayed();
30
+ const ariaDisabledOption = await DSComboboxSingleCO.getOptionByIndex(1);
31
+ await mouseOver(ariaDisabledOption);
32
+ const snapshot = await browser.eyesCheckSnapshot(
33
+ DSComboboxSingleCO.snapshotPath('combobox-single-aria-disabled-item-hovered'),
34
+ );
35
+ await expect(snapshot).toEqual(0);
36
+ });
19
37
  });
20
38
  }
@@ -0,0 +1,23 @@
1
+ /* eslint-disable max-lines */
2
+ import DSComboboxSingleCO from '../DSComboboxSingleCO';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ // Tests for the fix introduced in PUI-15481 (inline padding 8px top/bottom — was 10px)
6
+ describe('PUI-18559 - ComboboxSingle:: inline config padding - visual', () => {
7
+ before('loading page', async () => {
8
+ const errorOnGo = await DSComboboxSingleCO.inlineTest.go();
9
+ if (errorOnGo) throw errorOnGo;
10
+ });
11
+ it('01: inline combobox should render with the corrected 8px padding', async () => {
12
+ await browser.eyesOpen();
13
+ const pillDropdownBtn = await DSComboboxSingleCO.getPillDropDownBtn();
14
+ await pillDropdownBtn.click();
15
+ const menuList = await DSComboboxSingleCO.getMenuList();
16
+ await menuList.waitForDisplayed();
17
+ const snapshot = await browser.eyesCheckSnapshot(
18
+ DSComboboxSingleCO.snapshotPath('combobox-single-inline-padding'),
19
+ );
20
+ await expect(snapshot).toEqual(0);
21
+ });
22
+ });
23
+ }
@@ -0,0 +1,33 @@
1
+ import NativeSelect from './NativeSelectCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ describe('PUI-18537 - NativeSelect:: basic state -Visual', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await NativeSelect.controlledURL.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+
10
+ it('01: should render the basic controlled native select', async () => {
11
+ const root = await NativeSelect.getRootByIndex(0);
12
+ await root.waitForDisplayed();
13
+ const snapshot = await browser.percyCheckScreenshot(NativeSelect.snapshotPath('basic'));
14
+ await expect(snapshot).toEqual(0);
15
+ });
16
+ });
17
+
18
+ // Coverage for the fix introduced in PUI-14617
19
+ // (disabled-state colors aligned with Combobox disabled-state colors to meet WCAG 1.4.3).
20
+ describe('PUI-18538 - NativeSelect:: disabled state -Visual', () => {
21
+ before('loading page', async () => {
22
+ const errorOnGo = await NativeSelect.disabledURL.go();
23
+ if (errorOnGo) throw errorOnGo;
24
+ });
25
+
26
+ it('01: should render the disabled native select', async () => {
27
+ const root = await NativeSelect.getRootByIndex(0);
28
+ await root.waitForDisplayed();
29
+ const snapshot = await browser.percyCheckScreenshot(NativeSelect.snapshotPath('disabled'));
30
+ await expect(snapshot).toEqual(0);
31
+ });
32
+ });
33
+ }
@@ -0,0 +1,25 @@
1
+ import NativeSelect from '../NativeSelectCO';
2
+
3
+ // Tests for the option selection behavior of the native select introduced in PUI-14617.
4
+ // Selecting an option must update the <select> value (options use value={index}).
5
+ // Uses the WebDriver native select command (selectByIndex) so the native popup is opened and an
6
+ // option committed the same way in every browser — simulated keystrokes on the OS-drawn popup are
7
+ // not reachable by WebDriver on macOS/Safari, which is why a keystroke-based assertion is not portable.
8
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
9
+ describe('PUI-18563 - NativeSelect:: Option selection updates value -Func', () => {
10
+ before(async () => {
11
+ const errorOnGo = await NativeSelect.controlledURL.go();
12
+ if (errorOnGo) throw errorOnGo;
13
+ });
14
+
15
+ it('01: should update the value when selecting an option from the popup', async () => {
16
+ const nativeSelect = await NativeSelect.getRootByIndex(0);
17
+ await nativeSelect.waitForDisplayed();
18
+
19
+ const input = await NativeSelect.getInputSlotByIndex(0);
20
+ await input.selectByIndex(2);
21
+
22
+ await expect(input).toHaveValue('2');
23
+ });
24
+ });
25
+ }