dimsum-e2e-tests 1.0.36 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/ds-accordion/DSAccordion.axe-core.func.spec.js +18 -19
  3. package/ds-accordion/DSAccordion.func.spec.js +3 -3
  4. package/ds-accordion/DSAccordion.visual.spec.js +7 -0
  5. package/ds-accordion/DSAccordionCO.js +75 -11
  6. package/ds-accordion/QA_NOTES.md +105 -0
  7. package/ds-accordion/aria-disabled/DSAccordion.aria-disabled.axe-core.func.spec.js +25 -0
  8. package/ds-accordion/aria-disabled/DSAccordion.aria-disabled.visual.spec.js +23 -0
  9. package/ds-accordion/controlled/DSAccordion.controlled.func.spec.js +23 -0
  10. package/ds-accordion/header-structure/DSAccordion.header-structure.func.spec.js +65 -0
  11. package/ds-accordion/input-inside/DSAccordion.input-inside.func.spec.js +19 -0
  12. package/ds-accordion/role/DSAccordion.role-heading.func.spec.js +21 -0
  13. package/ds-accordion/scrollable-content/DSAccordion.scrollable-content.visual.spec.js +42 -0
  14. package/ds-accordion/slots/DSAccordion.slots.axe-core.func.spec.js +25 -0
  15. package/ds-accordion/slots/DSAccordion.slots.func.spec.js +67 -0
  16. package/ds-accordion/slots/DSAccordion.slots.visual.spec.js +18 -0
  17. package/ds-accordion/wrapLabel/DSAccordion.wrap-label.visual.spec.js +20 -0
  18. package/ds-autocomplete/DSAutocompleteCO.js +3 -3
  19. package/ds-button-v3/DSButtonV3.aria-diabled.axe-core.func.spec.js +22 -0
  20. package/ds-button-v3/DSButtonV3.aria-disabled-attribute.func.spec.js +33 -0
  21. package/ds-button-v3/DSButtonV3.aria-disabled.visual.spec.js +48 -0
  22. package/ds-button-v3/DSButtonV3.func.spec.js +27 -0
  23. package/ds-button-v3/DSButtonV3.type-submit.func.spec.js +28 -0
  24. package/ds-button-v3/DSButtonV3.visual.spec.js +92 -0
  25. package/ds-button-v3/DSButtonV3CO.js +60 -0
  26. package/ds-button-v3/theme-font/DSButtonV3.theme-font.func.spec.js +30 -0
  27. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.axe-core.basic.func.spec.js +4 -4
  28. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.basic.visual.spec.js +56 -0
  29. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO.js +57 -2
  30. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.axe-core.disabled.func.spec.js +1 -1
  31. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.disabled.visual.spec.js +1 -1
  32. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.axe-core.hasError.func.spec.js +4 -4
  33. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.has-error.visual.spec.js +71 -1
  34. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.axe-core.mixed.func.spec.js +4 -4
  35. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.func.spec.js +19 -37
  36. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.keyboard-nav.func.spec.js +51 -0
  37. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.visual.spec.js +14 -16
  38. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.axe-core.read-only.func.spec.js +3 -3
  39. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.read-only.visual.spec.js +1 -1
  40. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.axe-core.with-tooltip.func.spec.js +1 -1
  41. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.with-tooltip.visual.spec.js +1 -3
  42. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.axe-core.wrap-label.func.spec.js +1 -1
  43. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.wrap-label.visual.spec.js +1 -1
  44. package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.aria-disabled.visual.spec.js +25 -0
  45. package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.axe-core.aria-disabled.func.spec.js +24 -0
  46. package/ds-controlled-form/ds-controlled-checkbox/slots/DSControlledCheckbox.slots.func.spec.js +78 -0
  47. package/ds-controlled-form/ds-controlled-checkbox/theme-font/DSControlledCheckbox.theme-font.func.spec.js +30 -0
  48. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +7 -21
  49. package/ds-controlled-form/ds-controlled-inputgroup/autocomplete/DSControlledInputGroup.autocomplete.axe-core.func.spec.js +5 -6
  50. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.axe-core.func.spec.js +3 -2
  51. package/ds-controlled-form/ds-controlled-inputgroup/basic/DSControlledInputGroup.basic.visual.spec.js +3 -2
  52. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.axe-core.func.spec.js +2 -1
  53. package/ds-controlled-form/ds-controlled-inputgroup/form-item-layout/DSControlledInputGroup.form-item-layout.func.spec.js +3 -2
  54. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.axe-core.func.spec.js +3 -2
  55. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.func.spec.js +2 -1
  56. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.visual.spec.js +2 -1
  57. package/ds-controlled-form/ds-input-text/DSInputText.clearable.keyboard.func.spec.js +2 -2
  58. package/ds-controlled-form/ds-input-text/DSInputText.func.spec.js +14 -12
  59. package/ds-controlled-form/ds-input-text/DSInputTextCO.js +31 -8
  60. package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.axe-core.func.spec.js +23 -0
  61. package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.func.spec.js +42 -0
  62. package/ds-controlled-form/ds-input-text/aria-disabled/DSInputText.aria-disabled.visual.spec.js +28 -0
  63. package/ds-controlled-form/ds-input-text/placeholder/DSInputText.placeholder.visual.spec.js +15 -0
  64. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.axe-core.func.spec.js +23 -0
  65. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.func.spec.js +23 -0
  66. package/ds-controlled-form/ds-input-text/read-only/DSInputText.read-only.visual.spec.js +28 -0
  67. package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.axe-core.func.spec.js +23 -0
  68. package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.func.spec.js +35 -0
  69. package/ds-controlled-form/ds-input-text/slots/DSInputText.slots.visual.spec.js +19 -0
  70. package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +2 -1
  71. package/ds-controlled-form/react-hook-form/ReactHook.visual.spec.js +2 -1
  72. package/ds-controlled-form/react-hook-form/ReactHookCO.js +0 -10
  73. package/ds-controlled-form/useMask/Number/UseNumberMask.axe-core.func.spec.js +48 -0
  74. package/ds-controlled-form/useMask/Number/UseNumberMask.func.spec.js +37 -36
  75. package/ds-controlled-form/useMask/Number/UseNumberMask.visual.spec.js +7 -6
  76. package/ds-controlled-form/useMask/Phone/UsePhoneMask.func.spec.js +9 -8
  77. package/ds-controlled-form/useMask/Phone/UsePhoneMask.visual.spec.js +4 -3
  78. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.func.spec.js +4 -3
  79. package/ds-controlled-form/useMask/ReackHookFormWithMask/ReactHookFormWithMask.visual.spec.js +5 -4
  80. package/ds-controlled-form/useMask/RegExp/UseRegExpMask.func.spec.js +6 -5
  81. package/ds-controlled-form/useMask/SSN/UseSsnMask.func.spec.js +7 -6
  82. package/ds-controlled-form/useMask/ZipCode/UseZipCodeMask.func.spec.js +6 -5
  83. package/ds-controlled-form/useMask/useMaskCO.js +1 -11
  84. package/ds-data-table-async/components/FiltersCOextra.js +1 -1
  85. package/ds-data-table-async/components/OnRowClickCO.js +1 -1
  86. package/ds-data-table-async/pagination/DSDataTable.pagination.func.spec.js +3 -2
  87. package/ds-dialog/components/DialogFormsCO.js +1 -1
  88. package/ds-dropdownmenu-v2/DSDDMenuV2.axe-core.func.spec.js +2 -15
  89. package/ds-dropdownmenu-v2/DSDDMenuV2.visual.spec.js +5 -5
  90. package/ds-dropdownmenu-v2/DSDDMenuV2CO.js +8 -2
  91. package/ds-dropdownmenu-v2/aria-disabled/DSDDMenuV2.aria-disabled.visual.spec.js +20 -0
  92. package/ds-dropdownmenu-v2/basic/DSDDMenuV2.basic.func.spec.js +27 -27
  93. package/ds-dropdownmenu-v2/mandatory-single/DSDDMenuV2.mandatory-single.func.spec.js +4 -4
  94. package/ds-floating-context/DSFloatingContext.visual.spec.js +46 -0
  95. package/ds-floating-context/DSFloatingContextCO.js +46 -0
  96. package/ds-floating-context/placement/DSFloatingContext.placement.visual.spec.js +48 -0
  97. package/ds-floating-context/slots/DSFloatingContext.slots.axe-core.func.spec.js +23 -0
  98. package/ds-floating-context/slots/DSFloatingContext.slots.func.spec.js +41 -0
  99. package/ds-floating-context/slots/DSFloatingContext.slots.visual.spec.js +18 -0
  100. package/ds-form-layout-blocks/form-layout-block-item/DSFormLayoutBlockItemCO.js +3 -3
  101. package/ds-hooks/DSHook.usetree.func.spec.js +3 -2
  102. package/ds-hooks/useFocusTrap/UseFocusTrap.func.spec.js +36 -0
  103. package/ds-hooks/useFocusTrap/UseFocusTrapCO.js +10 -0
  104. package/ds-hooks/useKeyboardNavigation/DSHook.useKeyboardNavigation.func.spec.js +145 -0
  105. package/ds-hooks/useKeyboardNavigation/UseKeyboardNavigationCO.js +33 -0
  106. package/ds-hooks/useOnBlurOut/UseOnBlurOut.axe-core.func.spec.js +29 -0
  107. package/ds-hooks/useOnBlurOut/UseOnBlurOut.func.spec.js +83 -0
  108. package/ds-hooks/useOnBlurOut/UseOnBlurOutCO.js +11 -0
  109. package/ds-icons/DSIcons.visual.spec.js +45 -0
  110. package/ds-icons/DSIconsCO.js +30 -0
  111. package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.axe-core.func.spec.js +31 -0
  112. package/ds-menu-item/DSMenuItems.func.spec.js +16 -16
  113. package/ds-menu-item/DSMenuItems.visual.spec.js +8 -32
  114. package/ds-menu-item/DSMenuItemsCO.js +4 -0
  115. package/ds-menu-item/aria-disabled/DSMenuItems.aria-disabled.axe-core.func.spec.js +35 -0
  116. package/ds-menu-item/aria-disabled/DSMenuItems.aria-disabled.visual.spec.js +68 -0
  117. package/ds-menu-item/read-only/DSMenuItems.read-only.axe-core.func.spec.js +35 -0
  118. package/ds-menu-item/read-only/DSMenuItems.read-only.visual.spec.js +66 -0
  119. package/ds-query-builder/DSQueryBuilderCO.js +1 -1
  120. package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +4 -2
  121. package/ds-system/DSSystem.visual.spec.js +19 -0
  122. package/ds-system/DSSystemCO.js +15 -0
  123. package/ds-typography/DSTypography.func.spec.js +5 -5
  124. package/ds-typography/DSTypography.visual.spec.js +50 -48
  125. package/ds-typography/DSTypographyCO.js +25 -5
  126. package/ds-typography/theme-font/DSTypography.theme-font.func.spec.js +30 -0
  127. package/package.json +121 -119
  128. package/ds-button-v2/DSButtonV2.axe-core.func.spec.js +0 -22
  129. package/ds-button-v2/DSButtonV2.func.spec.js +0 -139
  130. package/ds-button-v2/DSButtonV2.visual.spec.js +0 -153
  131. package/ds-button-v2/DSButtonV2CO.js +0 -43
  132. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckbox.smoke.spec.js +0 -125
  133. package/ds-indeterminate-progress-indicator/DSIndetermintateProgressIndicator.func.spec.js +0 -17
  134. /package/ds-typography/{DSTypography.resize.visual.spec.js → DSTypography.resize.skipped.js} +0 -0
@@ -18,7 +18,7 @@ if (
18
18
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
19
19
  await checkbox.waitForExist();
20
20
  const result = await axeCoreCheck();
21
- expect(result.length).toBe(0);
21
+ await expect(result).toHaveLength(0);
22
22
  });
23
23
  });
24
24
  }
@@ -11,7 +11,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
11
11
  const checkbox = await DSControlledCheckboxCO.getCheckboxByLabel('Group');
12
12
  await checkbox.waitForDisplayed();
13
13
  await browser.keys(Key.Tab);
14
- const snapshot = await browser.checkSnapshot(DSControlledCheckboxCO.snapshotPath('checkbox-disabled'));
14
+ const snapshot = await browser.percyCheckScreenshot();
15
15
  await expect(snapshot).toEqual(0);
16
16
  });
17
17
  });
@@ -19,24 +19,24 @@ if (
19
19
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
20
20
  await checkbox.waitForExist();
21
21
  const result = await axeCoreCheck();
22
- expect(result.length).toBe(0);
22
+ await expect(result).toHaveLength(0);
23
23
  });
24
24
  it('02: Evaluate checkbox accessibility with axe-core (focused)', async () => {
25
25
  await browser.keys(Key.Tab);
26
26
  const result = await axeCoreCheck();
27
- expect(result.length).toBe(0);
27
+ await expect(result).toHaveLength(0);
28
28
  });
29
29
  it('03: Evaluate checkbox accessibility with axe-core (hovered)', async () => {
30
30
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
31
31
  await mouseOver(checkbox);
32
32
  const result = await axeCoreCheck();
33
- expect(result.length).toBe(0);
33
+ await expect(result).toHaveLength(0);
34
34
  });
35
35
  it('04: Evaluate checkbox accessibility with axe-core (clicked)', async () => {
36
36
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(1);
37
37
  await checkbox.click();
38
38
  const result = await axeCoreCheck();
39
- expect(result.length).toBe(0);
39
+ await expect(result).toHaveLength(0);
40
40
  });
41
41
  });
42
42
  }
@@ -1,3 +1,4 @@
1
+ import { Key } from 'webdriverio';
1
2
  import { mouseOver } from '../../../helpers';
2
3
  import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
3
4
 
@@ -13,7 +14,76 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
13
14
  await checkbox1.click();
14
15
  await checkbox1.click();
15
16
  await mouseOver(checkbox2);
16
- const snapshot = await browser.checkSnapshot(DSControlledCheckboxCO.snapshotPath('checkbox-hasError'));
17
+ const snapshot = await browser.percyCheckScreenshot();
18
+ await expect(snapshot).toEqual(0);
19
+ });
20
+ });
21
+
22
+ describe('PUI-18849 - DSControlledCheckbox - hasError - Visual Test', () => {
23
+ before('loading page', async () => {
24
+ const errorOnGo = await DSControlledCheckboxCO.hasError.go();
25
+ if (errorOnGo) throw errorOnGo;
26
+ });
27
+
28
+ it('01: the partial selected checkbox is not focused', async () => {
29
+ const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
30
+ await checkbox.waitForExist();
31
+ const snapshot = await browser.percyCheckScreenshot();
32
+ await expect(snapshot).toEqual(0);
33
+ });
34
+
35
+ it('02: checkbox hover even when partial selected', async () => {
36
+ const controlBox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
37
+ await controlBox.moveTo();
38
+ const snapshot = await browser.percyCheckScreenshot();
39
+ await expect(snapshot).toEqual(0);
40
+ });
41
+
42
+ it('03: the partial selected checkbox is focused', async () => {
43
+ await browser.keys(Key.Tab);
44
+ const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
45
+ await expect(checkbox).toBeFocused();
46
+ const snapshot = await browser.percyCheckScreenshot();
47
+ await expect(snapshot).toEqual(0);
48
+ });
49
+
50
+ it('04: checkbox is focused but not selected', async () => {
51
+ await browser.keys(Key.Space);
52
+ await browser.keys(Key.Space);
53
+ const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
54
+ await expect(checkbox).toBeFocused();
55
+ const snapshot = await browser.percyCheckScreenshot();
56
+ await expect(snapshot).toEqual(0);
57
+ });
58
+
59
+ it('05: checkbox not focused, not hovered when not selected', async () => {
60
+ await browser.keys(Key.Tab);
61
+ await mouseOver(null, 400, 300);
62
+ const snapshot = await browser.percyCheckScreenshot();
63
+ await expect(snapshot).toEqual(0);
64
+ });
65
+
66
+ it('06: checkbox hover even when not selected', async () => {
67
+ const controlBox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
68
+ await controlBox.moveTo();
69
+ const snapshot = await browser.percyCheckScreenshot();
70
+ await expect(snapshot).toEqual(0);
71
+ });
72
+ it('07: the selected checkbox is focused', async () => {
73
+ await browser.keys(Key.Tab);
74
+ await browser.keys(Key.Space);
75
+ const controlBox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
76
+ await mouseOver(controlBox);
77
+ const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(2);
78
+ await expect(checkbox).toBeFocused();
79
+ const snapshot = await browser.percyCheckScreenshot();
80
+ await expect(snapshot).toEqual(0);
81
+ });
82
+ it('08: the selected checkbox is hovered', async () => {
83
+ await browser.keys(Key.Tab);
84
+ const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(2);
85
+ await mouseOver(checkbox);
86
+ const snapshot = await browser.percyCheckScreenshot();
17
87
  await expect(snapshot).toEqual(0);
18
88
  });
19
89
  });
@@ -19,24 +19,24 @@ if (
19
19
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
20
20
  await checkbox.waitForExist();
21
21
  const result = await axeCoreCheck();
22
- expect(result.length).toBe(0);
22
+ await expect(result).toHaveLength(0);
23
23
  });
24
24
  it('02: Evaluate checkbox accessibility with axe-core (focused)', async () => {
25
25
  await browser.keys(Key.Tab);
26
26
  const result = await axeCoreCheck();
27
- expect(result.length).toBe(0);
27
+ await expect(result).toHaveLength(0);
28
28
  });
29
29
  it('03: Evaluate checkbox accessibility with axe-core (hovered)', async () => {
30
30
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
31
31
  await mouseOver(checkbox);
32
32
  const result = await axeCoreCheck();
33
- expect(result.length).toBe(0);
33
+ await expect(result).toHaveLength(0);
34
34
  });
35
35
  it('04: Evaluate checkbox accessibility with axe-core (clicked)', async () => {
36
36
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(2);
37
37
  await checkbox.click();
38
38
  const result = await axeCoreCheck();
39
- expect(result.length).toBe(0);
39
+ await expect(result).toHaveLength(0);
40
40
  });
41
41
  });
42
42
  }
@@ -1,6 +1,4 @@
1
1
  /* eslint-disable max-lines */
2
- /* eslint-disable wdio/no-pause */
3
- import { Key } from 'webdriverio';
4
2
  import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
5
3
 
6
4
  if (
@@ -13,11 +11,18 @@ if (
13
11
  const errorOnGo = await DSControlledCheckboxCO.mixed.go();
14
12
  if (errorOnGo) throw errorOnGo;
15
13
  });
16
- it('should have custom data-testid for group container', async () => {
17
- const checkboxGroup = await DSControlledCheckboxCO.getCheckboxGroup();
18
- await expect(checkboxGroup).toBeDisplayed();
19
- });
20
- it('should check all the checkboxes when checking the global one', async () => {
14
+ if (
15
+ (!browser.capabilities['ice:options'].isPhone &&
16
+ !browser.capabilities['ice:options'].isTablet &&
17
+ browser.capabilities.browserName === 'chrome') ||
18
+ browser.capabilities.browserName === 'Chrome'
19
+ ) {
20
+ it('01: Should have a custom data-testid for the group container', async () => {
21
+ const checkboxGroup = await DSControlledCheckboxCO.getCheckboxGroup();
22
+ await expect(checkboxGroup).toBeDisplayed();
23
+ });
24
+ }
25
+ it('02: Should check all checkboxes when the global checkbox is selected', async () => {
21
26
  const globalCheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
22
27
  await globalCheckbox.click();
23
28
  const checkedCheckbox = await DSControlledCheckboxCO.isChecked(globalCheckbox);
@@ -29,7 +34,7 @@ if (
29
34
  await expect(checkedCheckbox2).toBe(true);
30
35
  await expect(checkedCheckbox3).toBe(true);
31
36
  });
32
- it('should uncheck all the checkboxes when unchecking the global one', async () => {
37
+ it('03: Should uncheck all checkboxes when the global checkbox is deselected', async () => {
33
38
  const globalCheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
34
39
  await globalCheckbox.click();
35
40
  await globalCheckbox.click();
@@ -42,48 +47,25 @@ if (
42
47
  await expect(checkedCheckbox2).toBe(false);
43
48
  await expect(checkedCheckbox3).toBe(false);
44
49
  });
45
- it('should check the global checkbox when checking all the others', async () => {
50
+ it('04: Should check the global checkbox when all other checkboxes are selected', async () => {
46
51
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(2);
47
52
  await checkbox.click();
48
53
  const checkedCheckbox = await DSControlledCheckboxCO.isChecked(checkbox);
49
54
  await expect(checkedCheckbox).toBe(true);
50
55
  });
51
- it('should uncheck the global checkbox when unchecking all the others', async () => {
56
+ it('05: Should uncheck the global checkbox when all other checkboxes are deselected', async () => {
52
57
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(1);
53
58
  await checkbox.click();
54
59
  const checkedCheckbox = await DSControlledCheckboxCO.isChecked(checkbox);
55
60
  await expect(checkedCheckbox).toBe(false);
56
61
  });
57
- });
58
- describe('PUI-8649 - DSControlledCheckbox:: Keyboard behavior global checkbox', () => {
59
- before('loading page', async () => {
60
- const errorOnGo = await DSControlledCheckboxCO.mixed.go();
61
- if (errorOnGo) throw errorOnGo;
62
- });
63
- it('should check all the checkboxes when checking the global one', async () => {
64
- await browser.keys(Key.Tab);
65
- await browser.keys(Key.Space);
62
+ it('06: Should check and focus the global checkbox when label is clicked', async () => {
66
63
  const globalCheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
64
+ const checkboxLabel = await DSControlledCheckboxCO.getCheckboxByLabel('All Condiments');
65
+ await checkboxLabel.click();
67
66
  const checkedCheckbox = await DSControlledCheckboxCO.isChecked(globalCheckbox);
68
- const checkbox2 = await DSControlledCheckboxCO.getCheckboxByIndex(1);
69
- const checkedCheckbox2 = await DSControlledCheckboxCO.isChecked(checkbox2);
70
- const checkbox3 = await DSControlledCheckboxCO.getCheckboxByIndex(2);
71
- const checkedCheckbox3 = await DSControlledCheckboxCO.isChecked(checkbox3);
67
+ await expect(globalCheckbox).toBeFocused(true);
72
68
  await expect(checkedCheckbox).toBe(true);
73
- await expect(checkedCheckbox2).toBe(true);
74
- await expect(checkedCheckbox3).toBe(true);
75
- });
76
- it('should uncheck all the checkboxes when unchecking the global one', async () => {
77
- await browser.keys(Key.Space);
78
- const globalCheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
79
- const checkedCheckbox = await DSControlledCheckboxCO.isChecked(globalCheckbox);
80
- const checkbox2 = await DSControlledCheckboxCO.getCheckboxByIndex(1);
81
- const checkedCheckbox2 = await DSControlledCheckboxCO.isChecked(checkbox2);
82
- const checkbox3 = await DSControlledCheckboxCO.getCheckboxByIndex(2);
83
- const checkedCheckbox3 = await DSControlledCheckboxCO.isChecked(checkbox3);
84
- await expect(checkedCheckbox).toBe(false);
85
- await expect(checkedCheckbox2).toBe(false);
86
- await expect(checkedCheckbox3).toBe(false);
87
69
  });
88
70
  });
89
71
  }
@@ -0,0 +1,51 @@
1
+ /* eslint-disable max-lines */
2
+ /* eslint-disable wdio/no-pause */
3
+ import { Key } from 'webdriverio';
4
+ import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
5
+
6
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
+ describe('PUI-8649 - DSControlledCheckbox:: Mixed - Keyboard navigation', () => {
8
+ before('loading page', async () => {
9
+ const errorOnGo = await DSControlledCheckboxCO.mixed.go();
10
+ if (errorOnGo) throw errorOnGo;
11
+ });
12
+ it('01: Should check all checkboxes when the global checkbox is selected', async () => {
13
+ await browser.keys(Key.Tab);
14
+ await browser.keys(Key.Space);
15
+ const globalCheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
16
+ const checkedCheckbox = await DSControlledCheckboxCO.isChecked(globalCheckbox);
17
+ const checkbox2 = await DSControlledCheckboxCO.getCheckboxByIndex(1);
18
+ const checkedCheckbox2 = await DSControlledCheckboxCO.isChecked(checkbox2);
19
+ const checkbox3 = await DSControlledCheckboxCO.getCheckboxByIndex(2);
20
+ const checkedCheckbox3 = await DSControlledCheckboxCO.isChecked(checkbox3);
21
+ await expect(checkedCheckbox).toBe(true);
22
+ await expect(checkedCheckbox2).toBe(true);
23
+ await expect(checkedCheckbox3).toBe(true);
24
+ });
25
+ it('02: Should uncheck all checkboxes when the global checkbox is deselected.', async () => {
26
+ await browser.keys(Key.Space);
27
+ const globalCheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
28
+ const checkedCheckbox = await DSControlledCheckboxCO.isChecked(globalCheckbox);
29
+ const checkbox2 = await DSControlledCheckboxCO.getCheckboxByIndex(1);
30
+ const checkedCheckbox2 = await DSControlledCheckboxCO.isChecked(checkbox2);
31
+ const checkbox3 = await DSControlledCheckboxCO.getCheckboxByIndex(2);
32
+ const checkedCheckbox3 = await DSControlledCheckboxCO.isChecked(checkbox3);
33
+ await expect(checkedCheckbox).toBe(false);
34
+ await expect(checkedCheckbox2).toBe(false);
35
+ await expect(checkedCheckbox3).toBe(false);
36
+ });
37
+ it('03: Should check the 2nd checkbox, and the global checkbox should reflect a mixed state', async () => {
38
+ await browser.keys(Key.Tab);
39
+ await browser.keys(Key.Return);
40
+ const globalCheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
41
+ const checkedCheckbox = await globalCheckbox.getProperty('checked');
42
+ const checkbox2 = await DSControlledCheckboxCO.getCheckboxByIndex(1);
43
+ const checkedCheckbox2 = await DSControlledCheckboxCO.isChecked(checkbox2);
44
+ const checkbox3 = await DSControlledCheckboxCO.getCheckboxByIndex(2);
45
+ const checkedCheckbox3 = await DSControlledCheckboxCO.isChecked(checkbox3);
46
+ await expect(checkedCheckbox).toBe('mixed');
47
+ await expect(checkedCheckbox2).toBe(true);
48
+ await expect(checkedCheckbox3).toBe(false);
49
+ });
50
+ });
51
+ }
@@ -1,20 +1,18 @@
1
1
  import { mouseOver } from '../../../helpers';
2
2
  import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
3
3
 
4
- if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
- describe('PUI-7100 - DSControlledCheckbox - Visual Test - mixed', () => {
6
- before('loading page', async () => {
7
- const errorOnGo = await DSControlledCheckboxCO.mixed.go();
8
- if (errorOnGo) throw errorOnGo;
9
- });
10
- it('should display checkbox mixed styles correctly', async () => {
11
- const checkbox1 = await DSControlledCheckboxCO.getCheckboxByIndex(1);
12
- const checkbox2 = await DSControlledCheckboxCO.getCheckboxByIndex(2);
13
- await checkbox1.click();
14
- await checkbox1.click();
15
- await mouseOver(checkbox2);
16
- const snapshot = await browser.checkSnapshot(DSControlledCheckboxCO.snapshotPath('checkbox-mixed'));
17
- await expect(snapshot).toEqual(0);
18
- });
4
+ describe('PUI-7100 - DSControlledCheckbox - Visual Test - mixed', () => {
5
+ before('loading page', async () => {
6
+ const errorOnGo = await DSControlledCheckboxCO.mixed.go();
7
+ if (errorOnGo) throw errorOnGo;
19
8
  });
20
- }
9
+ it('should display checkbox mixed styles correctly', async () => {
10
+ const checkbox1 = await DSControlledCheckboxCO.getCheckboxByIndex(1);
11
+ const checkbox2 = await DSControlledCheckboxCO.getCheckboxByIndex(2);
12
+ await checkbox1.click();
13
+ await checkbox1.click();
14
+ await mouseOver(checkbox2);
15
+ const snapshot = await browser.percyCheckScreenshot();
16
+ await expect(snapshot).toEqual(0);
17
+ });
18
+ });
@@ -17,18 +17,18 @@ if (
17
17
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
18
18
  await checkbox.waitForExist();
19
19
  const result = await axeCoreCheck();
20
- expect(result.length).toBe(0);
20
+ await expect(result).toHaveLength(0);
21
21
  });
22
22
  it('02: Evaluate checkbox accessibility with axe-core (focused)', async () => {
23
23
  await browser.keys(Key.Tab);
24
24
  const result = await axeCoreCheck();
25
- expect(result.length).toBe(0);
25
+ await expect(result).toHaveLength(0);
26
26
  });
27
27
  it('03: Evaluate checkbox accessibility with axe-core (hovered)', async () => {
28
28
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
29
29
  await mouseOver(checkbox);
30
30
  const result = await axeCoreCheck();
31
- expect(result.length).toBe(0);
31
+ await expect(result).toHaveLength(0);
32
32
  });
33
33
  });
34
34
  }
@@ -14,7 +14,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
14
14
  await checkbox1.click();
15
15
  await checkbox1.click();
16
16
  await mouseOver(checkbox2);
17
- const snapshot = await browser.eyesCheckSnapshot(DSControlledCheckboxCO.snapshotPath('checkbox-readOnly'));
17
+ const snapshot = await browser.percyCheckScreenshot();
18
18
  await expect(snapshot).toEqual(0);
19
19
  });
20
20
  });
@@ -16,7 +16,7 @@ if (
16
16
  const checkboxLabel = await DSControlledCheckboxCO.getCheckboxLabelByIndex(4);
17
17
  await mouseOver(checkboxLabel);
18
18
  const result = await axeCoreCheck();
19
- expect(result.length).toBe(0);
19
+ await expect(result).toHaveLength(0);
20
20
  });
21
21
  });
22
22
  }
@@ -11,9 +11,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
11
11
  await browser.eyesOpen();
12
12
  const checkboxLabel = await DSControlledCheckboxCO.getCheckboxLabelByIndex(4);
13
13
  await mouseOver(checkboxLabel);
14
- const snapshot = await browser.eyesCheckSnapshot(
15
- DSControlledCheckboxCO.snapshotPath('checkbox-tooltip-longword'),
16
- );
14
+ const snapshot = await browser.percyCheckScreenshot();
17
15
  await expect(snapshot).toEqual(0);
18
16
  });
19
17
  });
@@ -16,7 +16,7 @@ if (
16
16
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
17
17
  await checkbox.waitForExist();
18
18
  const result = await axeCoreCheck();
19
- expect(result.length).toBe(0);
19
+ await expect(result).toHaveLength(0);
20
20
  });
21
21
  });
22
22
  }
@@ -10,7 +10,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
10
10
  await browser.eyesOpen();
11
11
  const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(1);
12
12
  await checkbox.waitForExist();
13
- const snapshot = await browser.eyesCheckSnapshot(DSControlledCheckboxCO.snapshotPath('checkbox-wrapped'));
13
+ const snapshot = await browser.percyCheckScreenshot();
14
14
  await expect(snapshot).toEqual(0);
15
15
  });
16
16
  });
@@ -0,0 +1,25 @@
1
+ import { Key } from 'webdriverio';
2
+ import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-14379 - [ControlledCheckbox] applyAriaDisabled prop - visual Test', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSControlledCheckboxCO.applyAriaDisabled.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+ it('01: The first aria-disabled checkbox should be focused - click', async () => {
11
+ await browser.eyesOpen();
12
+ const firstcheckbox = await DSControlledCheckboxCO.getCheckboxByIndex(0);
13
+ await firstcheckbox.click();
14
+ const snapshot = await browser.percyCheckScreenshot();
15
+ await expect(snapshot).toEqual(0);
16
+ });
17
+ it('02: The second aria-disabled checkbox should be focused - KB nav', async () => {
18
+ await browser.eyesOpen();
19
+ await browser.keys(Key.Tab);
20
+ await browser.keys(Key.Enter);
21
+ const snapshot = await browser.percyCheckScreenshot();
22
+ await expect(snapshot).toEqual(0);
23
+ });
24
+ });
25
+ }
@@ -0,0 +1,24 @@
1
+ /* eslint-disable max-lines */
2
+ /* eslint-disable wdio/no-pause */
3
+ import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
4
+ import { axeCoreCheck } from '../../../helpers';
5
+
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-14378 - [ControlledCheckbox] Disabled: Axe Core Accessibility', () => {
13
+ before('loading page', async () => {
14
+ const errorOnGo = await DSControlledCheckboxCO.applyAriaDisabled.go();
15
+ if (errorOnGo) throw errorOnGo;
16
+ });
17
+ it('01: should display checkbox with aria-disabled and pass axe-core scan', async () => {
18
+ const checkbox = await DSControlledCheckboxCO.getCheckboxByIndex(1);
19
+ await checkbox.click();
20
+ const result = await axeCoreCheck();
21
+ await expect(result).toHaveLength(0);
22
+ });
23
+ });
24
+ }
@@ -0,0 +1,78 @@
1
+ import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
2
+
3
+ // Slot surface added when the DSControlledCheckbox label moved to DSTypography under PUI-18774:
4
+ // label-typography, truncated-label, tooltip-container and tooltip-text. The tooltip pair only
5
+ // exists while the label is truncated AND hovered, which is why this lives in E2E rather than in
6
+ // the package's jest slot tests.
7
+ if (
8
+ (!browser.capabilities['ice:options'].isPhone &&
9
+ !browser.capabilities['ice:options'].isTablet &&
10
+ browser.capabilities.browserName === 'chrome') ||
11
+ browser.capabilities.browserName === 'Chrome'
12
+ ) {
13
+ describe('PUI-18976 - DSControlledCheckbox:: label typography and tooltip slots - Func', () => {
14
+ before('loading page', async () => {
15
+ const errorOnGo = await DSControlledCheckboxCO.slotsTest.go();
16
+ if (errorOnGo) throw errorOnGo;
17
+ });
18
+
19
+ it('01: should have custom aria-* for each rendered label slot', async () => {
20
+ const root = await DSControlledCheckboxCO.getSlotsRoot();
21
+ const inputWrapper = await DSControlledCheckboxCO.getSlotsInputWrapper();
22
+ const input = await DSControlledCheckboxCO.getSlotsInput();
23
+ const label = await DSControlledCheckboxCO.getSlotsLabel();
24
+ const labelTypography = await DSControlledCheckboxCO.getSlotsLabelTypography();
25
+ const truncatedLabel = await DSControlledCheckboxCO.getSlotsTruncatedLabel();
26
+ await expect(root).toHaveAttribute('aria-label', 'root aria');
27
+ await expect(inputWrapper).toHaveAttribute('aria-label', 'inputwrapper aria');
28
+ await expect(input).toHaveAttribute('aria-label', 'input aria');
29
+ await expect(label).toHaveAttribute('aria-label', 'label aria');
30
+ await expect(labelTypography).toHaveAttribute('aria-label', 'labeltypography aria');
31
+ await expect(truncatedLabel).toHaveAttribute('aria-label', 'truncatedlabel aria');
32
+ });
33
+
34
+ it('02: should have custom data-* for each rendered label slot', async () => {
35
+ const root = await DSControlledCheckboxCO.getSlotsRoot();
36
+ const inputWrapper = await DSControlledCheckboxCO.getSlotsInputWrapper();
37
+ const input = await DSControlledCheckboxCO.getSlotsInput();
38
+ const label = await DSControlledCheckboxCO.getSlotsLabel();
39
+ const labelTypography = await DSControlledCheckboxCO.getSlotsLabelTypography();
40
+ const truncatedLabel = await DSControlledCheckboxCO.getSlotsTruncatedLabel();
41
+ await expect(root).toHaveAttribute('data-testid', 'root data');
42
+ await expect(inputWrapper).toHaveAttribute('data-testid', 'inputwrapper data');
43
+ await expect(input).toHaveAttribute('data-testid', 'input data');
44
+ await expect(label).toHaveAttribute('data-testid', 'label data');
45
+ await expect(labelTypography).toHaveAttribute('data-testid', 'labeltypography data');
46
+ await expect(truncatedLabel).toHaveAttribute('data-testid', 'truncatedlabel data');
47
+ });
48
+
49
+ it('03: should have custom lang for each rendered label slot', async () => {
50
+ const root = await DSControlledCheckboxCO.getSlotsRoot();
51
+ const inputWrapper = await DSControlledCheckboxCO.getSlotsInputWrapper();
52
+ const input = await DSControlledCheckboxCO.getSlotsInput();
53
+ const label = await DSControlledCheckboxCO.getSlotsLabel();
54
+ const labelTypography = await DSControlledCheckboxCO.getSlotsLabelTypography();
55
+ const truncatedLabel = await DSControlledCheckboxCO.getSlotsTruncatedLabel();
56
+ await expect(root).toHaveAttribute('lang', 'ja');
57
+ await expect(inputWrapper).toHaveAttribute('lang', 'it');
58
+ await expect(input).toHaveAttribute('lang', 'de');
59
+ await expect(label).toHaveAttribute('lang', 'fr');
60
+ await expect(labelTypography).toHaveAttribute('lang', 'es');
61
+ await expect(truncatedLabel).toHaveAttribute('lang', 'pt');
62
+ });
63
+
64
+ it('04: should have custom aria-*, data-* and lang for the tooltip slots on hover', async () => {
65
+ const truncatedLabel = await DSControlledCheckboxCO.getSlotsTruncatedLabel();
66
+ await truncatedLabel.moveTo();
67
+ const tooltipContainer = await DSControlledCheckboxCO.getSlotsTooltipContainer();
68
+ await tooltipContainer.waitForDisplayed();
69
+ const tooltipText = await DSControlledCheckboxCO.getSlotsTooltipText();
70
+ await expect(tooltipContainer).toHaveAttribute('aria-label', 'tooltipcontainer aria');
71
+ await expect(tooltipContainer).toHaveAttribute('data-testid', 'tooltipcontainer data');
72
+ await expect(tooltipContainer).toHaveAttribute('lang', 'zh');
73
+ await expect(tooltipText).toHaveAttribute('aria-label', 'tooltiptext aria');
74
+ await expect(tooltipText).toHaveAttribute('data-testid', 'tooltiptext data');
75
+ await expect(tooltipText).toHaveAttribute('lang', 'ru');
76
+ });
77
+ });
78
+ }
@@ -0,0 +1,30 @@
1
+ import DSControlledCheckboxCO from '../DSControlledCheckboxCO';
2
+
3
+ // Tests the theme-driven font-family mechanism shipped under PUI-18210
4
+ // (the checkbox label renders through DSTypography, which reads theme.fonts.default,
5
+ // falling back to proxima-nova). Theme-agnostic: uses a sentinel font, never the
6
+ // dsConsumer POC theme values, so it survives any future theme change.
7
+ if (
8
+ (!browser.capabilities['ice:options'].isPhone &&
9
+ !browser.capabilities['ice:options'].isTablet &&
10
+ browser.capabilities.browserName === 'chrome') ||
11
+ browser.capabilities.browserName === 'Chrome'
12
+ ) {
13
+ describe('PUI-18799 - DSControlledCheckbox:: theme font-family wiring - Func', () => {
14
+ before('loading page', async () => {
15
+ const errorOnGo = await DSControlledCheckboxCO.themeFontURL.go();
16
+ if (errorOnGo) throw errorOnGo;
17
+ });
18
+
19
+ it('01: should read label font-family from theme with proxima-nova fallback', async () => {
20
+ const themed = await DSControlledCheckboxCO.getThemedCheckboxLabel();
21
+ await themed.waitForDisplayed();
22
+ const themedFont = (await themed.getCSSProperty('font-family')).value.toLowerCase();
23
+ await expect(themedFont).toContain('sentinelfont');
24
+
25
+ const fallback = await DSControlledCheckboxCO.getFallbackCheckboxLabel();
26
+ const fallbackFont = (await fallback.getCSSProperty('font-family')).value.toLowerCase();
27
+ await expect(fallbackFont).toContain('proxima-nova');
28
+ });
29
+ });
30
+ }
@@ -2,15 +2,15 @@ import { PATH_E2E_CONTROLLED_FORM_INPUT_GROUP } from '../../../environments/stor
2
2
  import { PageObject, Urlbuilder, getElementByIndex } from '../../helpers';
3
3
 
4
4
  export default class DSControlledInputGroupCO extends PageObject {
5
- static basicURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'basic');
5
+ static basicURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'basic-test');
6
6
 
7
- static protectedURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'protected-input');
7
+ static protectedURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'protected-input-test');
8
8
 
9
- static autocompleteURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'with-auto-complete');
9
+ static autocompleteURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'with-auto-complete-test');
10
10
 
11
- static comboboxURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'with-combobox');
11
+ static comboboxURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'with-combobox-test');
12
12
 
13
- static formitemURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'with-form-item-layout');
13
+ static formitemURL = new Urlbuilder(PATH_E2E_CONTROLLED_FORM_INPUT_GROUP, 'with-form-item-layout-test');
14
14
 
15
15
  static async getButton() {
16
16
  return $('[data-testid="ds-button"]');
@@ -22,28 +22,14 @@ export default class DSControlledInputGroupCO extends PageObject {
22
22
 
23
23
  static getButtonByIndex = async (index) => getElementByIndex(this.getButtons, index);
24
24
 
25
- static async getInput() {
26
- return $('[data-testid="ds-input-text-input"]');
27
- }
28
-
29
- static async getInputValue(value) {
30
- return $(`[data-testid="ds-input-text-input"][value="${value}"]`);
31
- }
32
-
33
- static async getInputs() {
34
- return $$('[data-testid="ds-input-text-input"]');
35
- }
36
-
37
- static getInputByIndex = async (index) => getElementByIndex(this.getInputs, index);
38
-
39
25
  static getRightAddons() {
40
- return $$('[data-testid="ds-button-right-addon"]');
26
+ return $$('[data-testid="ds-input-group-right-addon"]');
41
27
  }
42
28
 
43
29
  static getRightAddOnByIndex = async (index) => getElementByIndex(this.getRightAddons, index);
44
30
 
45
31
  static getLeftAddons() {
46
- return $$('[data-testid="ds-button-left-addon"]');
32
+ return $$('[data-testid="ds-input-group-left-addon"]');
47
33
  }
48
34
 
49
35
  static getLeftAddOnByIndex = async (index) => getElementByIndex(this.getLeftAddons, index);