dimsum-e2e-tests 3.27.0-next.3 → 3.27.0-next.4

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 (50) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/ds-button-v3/DSButtonV3.visual.spec.js +56 -0
  3. package/ds-button-v3/DSButtonV3CO.js +19 -0
  4. package/ds-chat/DSChat-loadmore.func.spec.js +4 -1
  5. package/ds-circular-indeterminate-indicator/DSCircularIndicator.axe-core.func.spec.js +10 -3
  6. package/ds-comments-card/DSComments.axe-core.func.spec.js +4 -2
  7. package/ds-controlled-form/ds-combobox/DSComboboxCO.js +1 -1
  8. package/ds-controlled-form/ds-combobox/DSComboboxbox.func.spec.js +19 -0
  9. package/ds-controlled-form/ds-combobox/error-state/DSComboboxbox.with-form-item-block.visual.spec.js +14 -12
  10. package/ds-controlled-form/ds-controlled-date-time-picker/date-input/DateInput.auto-advance.func.spec.js +1 -1
  11. package/ds-controlled-form/ds-controlled-inputgroup/protected/DSControlledInputGroup.protected.visual.spec.js +1 -1
  12. package/ds-data-table-async/dnd/DSDataTable.dnd.func.spec.js +25 -63
  13. package/ds-data-table-async/dnd/DSDataTable.dnd.visual.spec.js +42 -14
  14. package/ds-datagrids/DSDatagrids-filterable-dates.func.spec.js +5 -1
  15. package/ds-datagrids/DSDatagrids-filterable.func.spec.js +2 -0
  16. package/ds-datagrids/DSDatagrids-toolbar.visual.spec.js +5 -1
  17. package/ds-dataviz/axecore/DSDataViz.extra.axe-core.func.spec.js +2 -2
  18. package/ds-date-picker/DSDatePicker.func.spec.js +3 -5
  19. package/ds-dialog/DSDialog.visual.spec.js +45 -0
  20. package/ds-dialog/DSDialogCO.js +8 -2
  21. package/ds-drag-and-drop/DSDragAndDrop.axe-core.func.spec.js +0 -1
  22. package/ds-dropdownmenu/DSDropddownMenu-loading.visual.spec.js +14 -11
  23. package/ds-dropdownmenu/DropdownMenuCO.js +4 -0
  24. package/ds-form/InputMask/DSInputMask.visual.spec.js +1 -1
  25. package/ds-global-header/GlobalHeader.func.spec.js +49 -0
  26. package/ds-global-header/GlobalHeaderCO.js +8 -0
  27. package/ds-leftnavigation/LeftNavigation.axe-core.func.spec.js +1 -2
  28. package/ds-modal-slide/ModalSlide.visual.spec.js +28 -0
  29. package/ds-modal-slide/ModalSlideCO.js +4 -0
  30. package/ds-pills/DSPills.func.spec.js +1 -0
  31. package/ds-shuttle/DSShuttle-infinite-scroll.visual.spec.js +1 -3
  32. package/ds-shuttle/DSShuttle.func.spec.js +17 -16
  33. package/ds-shuttle-v2/basic/DSShuttleV2.visual.spec.js +6 -36
  34. package/ds-shuttle-v2/disabled/DSShuttleV2.disabled.visual.spec.js +22 -0
  35. package/ds-shuttle-v2/drillingdown/DSShuttleV2.drilldown.axe-core.func.spec.js +2 -1
  36. package/ds-shuttle-v2/responsive/DSShuttleV2.responsive.visual.spec.js +15 -0
  37. package/ds-squareindicator/DSSquareIndicatorCO.js +2 -2
  38. package/ds-tabs/DSTabs.axe-core.func.spec.js +1 -1
  39. package/ds-treeview/TreeView-dnd.visual.spec.js +10 -1
  40. package/ds-wizard/DSWizard.axe-core.func.spec.js +6 -1
  41. package/package.json +119 -119
  42. package/{ds-button-v1 → zzz-eol/ds-button-v1}/DSButton.func.spec.js +1 -1
  43. package/{ds-button-v1 → zzz-eol/ds-button-v1}/DSButtonCO.js +2 -2
  44. package/{ds-button-v2 → zzz-eol/ds-button-v2}/DSButtonV2.axe-core.func.spec.js +1 -1
  45. package/{ds-button-v2 → zzz-eol/ds-button-v2}/DSButtonV2.func.spec.js +1 -1
  46. package/{ds-button-v2 → zzz-eol/ds-button-v2}/DSButtonV2.visual.spec.js +1 -1
  47. package/{ds-button-v2 → zzz-eol/ds-button-v2}/DSButtonV2CO.js +2 -2
  48. package/zzz-eol/ds-group-box/DSGroupBox.axe-core.func.spec.js +6 -4
  49. package/zzz-eol/ds-group-box/DSGroupBox.visual.spec.js +1 -1
  50. /package/{ds-button-v1 → zzz-eol/ds-button-v1}/DSButton.visual.spec.js +0 -0
@@ -60,7 +60,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
60
60
  const errorOnGo = await DSDatePicker.useCasePUI4195.go();
61
61
  if (errorOnGo) throw errorOnGo;
62
62
  });
63
- it('should close calendar after date selection', async () => {
63
+ it('should select a date, close calendar after and focus return to the picker', async () => {
64
64
  const datePickerBtn = await DSDatePicker.getDatePickerBtn();
65
65
  await datePickerBtn.click();
66
66
  const calendar = await DSDatePicker.getCalendar();
@@ -69,12 +69,10 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
69
69
  await datePickerDay.waitForDisplayed();
70
70
  await datePickerDay.click();
71
71
  await expect(calendar).not.toExist();
72
- });
73
- it('should select the day', async () => {
72
+ // should select the day
74
73
  const day = await DSDatePicker.getDay();
75
74
  await expect(day).toHaveValue('16');
76
- });
77
- it('focus will return to the picker', async () => {
75
+ // focus will return to the picker
78
76
  const pickerBtn = await DSDatePicker.getDatePickerBtn();
79
77
  await pickerBtn.waitForDisplayed();
80
78
  await expect(pickerBtn).toBeFocused();
@@ -65,6 +65,51 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
65
65
  await expect(snapshot).toEqual(0);
66
66
  });
67
67
  });
68
+ describe('PUI-12213 - DSDialog, Warning dialog -visual', () => {
69
+ before('loading page', async () => {
70
+ const errorOnGo = await DSDialog.warningURL.go();
71
+ if (errorOnGo) throw errorOnGo;
72
+ });
73
+ it('should display Warning DSDialog correctly', async () => {
74
+ await browser.eyesOpen();
75
+ const triggerBtn = await DSDialog.getTriggerBtn();
76
+ await triggerBtn.click();
77
+ const dialog = await DSDialog.getDialog();
78
+ await dialog.waitForDisplayed();
79
+ const snapshot = await browser.eyesCheckSnapshot(DSDialog.snapshotPath('dialog-warning-layout'));
80
+ await expect(snapshot).toEqual(0);
81
+ });
82
+ });
83
+ describe('PUI-12216 - DSDialog, Error dialog -visual', () => {
84
+ before('loading page', async () => {
85
+ const errorOnGo = await DSDialog.errorURL.go();
86
+ if (errorOnGo) throw errorOnGo;
87
+ });
88
+ it('should display Error DSDialog correctly', async () => {
89
+ await browser.eyesOpen();
90
+ const triggerBtn = await DSDialog.getTriggerBtn();
91
+ await triggerBtn.click();
92
+ const dialog = await DSDialog.getDialog();
93
+ await dialog.waitForDisplayed();
94
+ const snapshot = await browser.eyesCheckSnapshot(DSDialog.snapshotPath('dialog-error-layout'));
95
+ await expect(snapshot).toEqual(0);
96
+ });
97
+ });
98
+ describe('PUI-12215 - DSDialog, Success dialog -visual', () => {
99
+ before('loading page', async () => {
100
+ const errorOnGo = await DSDialog.successURL.go();
101
+ if (errorOnGo) throw errorOnGo;
102
+ });
103
+ it('should display Success DSDialog correctly', async () => {
104
+ await browser.eyesOpen();
105
+ const triggerBtn = await DSDialog.getTriggerBtn();
106
+ await triggerBtn.click();
107
+ const dialog = await DSDialog.getDialog();
108
+ await dialog.waitForDisplayed();
109
+ const snapshot = await browser.eyesCheckSnapshot(DSDialog.snapshotPath('dialog-success-layout'));
110
+ await expect(snapshot).toEqual(0);
111
+ });
112
+ });
68
113
  describe('PUI-7877 - DSDialog, Shuttle dialog -visual', () => {
69
114
  before('loading page', async () => {
70
115
  const errorOnGo = await DSDialog.shuttleURL.go();
@@ -10,11 +10,11 @@ export default class DSDialog extends PageObject {
10
10
 
11
11
  static withPopperjs = new Urlbuilder(PATH_E2E_DIALOG, 'with-popperjs');
12
12
 
13
- static decisionURL = new Urlbuilder(PATH_DIALOG_EXAMPLES, 'decision');
13
+ static decisionURL = new Urlbuilder(PATH_E2E_DIALOG, 'decision-test');
14
14
 
15
15
  static formDialogURL = new Urlbuilder(PATH_DIALOG_EXAMPLES, 'form-dialog');
16
16
 
17
- static informationURL = new Urlbuilder(PATH_DIALOG_EXAMPLES, 'information');
17
+ static informationURL = new Urlbuilder(PATH_E2E_DIALOG, 'informational-test');
18
18
 
19
19
  static manageFocusURL = new Urlbuilder(PATH_DIALOG_EXAMPLES, 'manage-focus-after-close');
20
20
 
@@ -40,6 +40,12 @@ export default class DSDialog extends PageObject {
40
40
 
41
41
  static backdropCoverFullPage = new Urlbuilder(PATH_E2E_DIALOG, 'backdrop-cover-full-page');
42
42
 
43
+ static warningURL = new Urlbuilder(PATH_E2E_DIALOG, 'warning-test');
44
+
45
+ static successURL = new Urlbuilder(PATH_E2E_DIALOG, 'success-test');
46
+
47
+ static errorURL = new Urlbuilder(PATH_E2E_DIALOG, 'error-test');
48
+
43
49
  // Selectors
44
50
  static async getTriggerBtn() {
45
51
  return $('[data-testid="open-dialog-button"]');
@@ -63,7 +63,6 @@ if (
63
63
  const thirdItemDNDHandler = await DSDragAndDropCO.getSVGByListAndIndex(leftList, 3);
64
64
  await secondItemDNDHandler.dragAndDrop(thirdItemDNDHandler);
65
65
  await browser.keys(Key.Tab);
66
- await browser.keys(Key.Tab);
67
66
  await browser.keys(Key.Return);
68
67
  const result = await axeCoreCheck();
69
68
  expect(result.length).toBe(0);
@@ -1,5 +1,4 @@
1
1
  import DropdownMenuCO from './DropdownMenuCO';
2
- import { DimsumConfig } from '../helpers';
3
2
 
4
3
  if (!browser.capabilities['ice:options'].isPhone) {
5
4
  describe('Dropdown Menu with select', () => {
@@ -7,21 +6,25 @@ if (!browser.capabilities['ice:options'].isPhone) {
7
6
  const errorOnGo = await DropdownMenuCO.loadingURL.go();
8
7
  if (errorOnGo) throw errorOnGo;
9
8
  });
10
- it('should display menu with loading indicator when loading=true', async () => {
11
- const button = await $(`.${DimsumConfig.classNamePrefix}-button`);
9
+ it('01: should display menu with loading indicator when loading=true', async () => {
10
+ await browser.eyesOpen();
11
+ const button = await DropdownMenuCO.getTriggerBtn();
12
12
  await button.click();
13
- await browser.waitUntil(async () => (await $(`.${DimsumConfig.classNamePrefix}-menu`)).isExisting());
14
- const snapshot = await browser.checkSnapshot(DropdownMenuCO.snapshotPath('dropdownmenu--loading-true'));
13
+ const menu = await DropdownMenuCO.getMenu();
14
+ await menu.waitForExist();
15
+ const snapshot = await browser.eyesCheckSnapshot(DropdownMenuCO.snapshotPath('dropdownmenu--loading-true'));
15
16
  await expect(snapshot).toEqual(0);
16
17
  });
17
18
 
18
- it('should display menu without loading indicator when loading=false', async () => {
19
- const button = await $(`.${DimsumConfig.classNamePrefix}-button`);
19
+ it('02: should display menu without loading indicator when loading=false', async () => {
20
+ await browser.eyesOpen();
21
+ const button = await DropdownMenuCO.getTriggerBtn();
20
22
  await button.click();
21
- await browser.waitUntil(async () =>
22
- (await $(`.${DimsumConfig.classNamePrefix}-menu`).$('.menu-component-internal-wrapper')).isExisting(),
23
- );
24
- const snapshot = await browser.checkSnapshot(DropdownMenuCO.snapshotPath('dropdownmenu--loading-false'));
23
+ // eslint-disable-next-line wdio/no-pause
24
+ await browser.pause(6000);
25
+ const menuItem = await DropdownMenuCO.getMenuItem(0);
26
+ await menuItem.waitForDisplayed({ timeout: 7000 });
27
+ const snapshot = await browser.eyesCheckSnapshot(DropdownMenuCO.snapshotPath('dropdownmenu--loading-false'));
25
28
  await expect(snapshot).toEqual(0);
26
29
  });
27
30
  });
@@ -50,6 +50,10 @@ export default class DSDropdownMenu extends PageObject {
50
50
  }
51
51
  }
52
52
 
53
+ static async getMenu() {
54
+ return $('[data-testid="em-ds-menu"]');
55
+ }
56
+
53
57
  // Snapshots
54
58
  static snapshotPath(example = 'loading') {
55
59
  return PageObject.getSnapshotPathBuilder('DSDropdownMenu', example, 'ds-dropdownmenu');
@@ -10,7 +10,7 @@ describe('PUI-3889 - InputMask, visual tests', () => {
10
10
  await expect(snapshot).toEqual(0);
11
11
  });
12
12
 
13
- if (!browser.capabilities['ice:options'].isPhone) {
13
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
14
14
  it('should format numbers properly', async () => {
15
15
  await (await DSInputMaskCO.getInput()).click();
16
16
  await DSInputMaskCO.type();
@@ -1,3 +1,4 @@
1
+ import { Key } from 'webdriverio';
1
2
  import GlobalHeader from './GlobalHeaderCO';
2
3
 
3
4
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
@@ -31,4 +32,52 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
31
32
  await expect(popupContent).not.toBeDisplayed();
32
33
  });
33
34
  });
35
+
36
+ describe('PUI-12184 - GlobalHeader: TabStops', () => {
37
+ before(async () => {
38
+ const errorOnGo = await GlobalHeader.basicURL.go();
39
+ if (errorOnGo) throw errorOnGo;
40
+ });
41
+ it('01: should tab and have skipTo btn focused', async () => {
42
+ await browser.keys(Key.Tab);
43
+ const skipTo = await GlobalHeader.getSkipTo();
44
+ await expect(skipTo).toBeFocused();
45
+ });
46
+ it('02: should tab and have first breadcrumb item focused', async () => {
47
+ await browser.keys(Key.Tab);
48
+ const breadcrumbItem = await GlobalHeader.getGHBreadcrumbBtn('pipeline');
49
+ await expect(breadcrumbItem).toBeFocused();
50
+ });
51
+ it('03: should tab x2 and have third breadcrumb item focused', async () => {
52
+ await browser.keys(Key.Tab);
53
+ await browser.keys(Key.Tab);
54
+ const breadcrumbItem = await GlobalHeader.getGHBreadcrumbBtn('task');
55
+ await expect(breadcrumbItem).toBeFocused();
56
+ });
57
+ it('04: should tab and have first toolbar item focused', async () => {
58
+ await browser.keys(Key.Tab);
59
+ const toolbarItem = await GlobalHeader.getGHToolbarItem(0);
60
+ await expect(toolbarItem).toBeFocused();
61
+ });
62
+ it('05: should use arrowKey right to move to next toolbar item ', async () => {
63
+ await browser.keys(Key.ArrowRight);
64
+ const toolbarItem = await GlobalHeader.getMenuItems(1);
65
+ await expect(toolbarItem).toBeFocused();
66
+ });
67
+ it('06: should shift tab to go back one item', async () => {
68
+ await browser.keys([Key.Shift, Key.Tab]);
69
+ const toolbarItem = await GlobalHeader.getGHToolbarItem(0);
70
+ await expect(toolbarItem).toBeFocused();
71
+ });
72
+ it('07: should left arrow to move back one item and cycle to the last item on the toolbar ', async () => {
73
+ await browser.keys(Key.ArrowLeft);
74
+ const breadcrumbItem = await GlobalHeader.getMenuItems(4);
75
+ await expect(breadcrumbItem).toBeFocused();
76
+ });
77
+ it('08: should tab and focus should leave toolbar (not cycle)', async () => {
78
+ await browser.keys(Key.Tab);
79
+ const firstToolbarItem = await GlobalHeader.getGHToolbarItem(0);
80
+ await expect(firstToolbarItem).not.toBeFocused();
81
+ });
82
+ });
34
83
  }
@@ -58,6 +58,14 @@ export default class GlobalHeader extends PageObject {
58
58
  return $('[id="my-main-content"]');
59
59
  }
60
60
 
61
+ static async getMenuItems(index = 0) {
62
+ return $$('[role="menuitem"] button')[index];
63
+ }
64
+
65
+ static async getSkipTo() {
66
+ return $('button*=Skip');
67
+ }
68
+
61
69
  // Snapshots
62
70
  static snapshotPath(example = 'basic') {
63
71
  return PageObject.getSnapshotPathBuilder('GlobalHeader', example, 'ds-global-header');
@@ -53,8 +53,7 @@ if (
53
53
  const result = await axeCoreCheck();
54
54
  expect(result.length).toBe(0);
55
55
  });
56
- // unskip when PUI-10663 is fixed
57
- it.skip('03: loading indicator in leftnav opened', async () => {
56
+ it('03: loading indicator in leftnav opened', async () => {
58
57
  const loadingIndicator = await LeftNavCO.loadingIndicator();
59
58
  await loadingIndicator.waitForDisplayed();
60
59
  const footerBtn = await LeftNavCO.footerBtn();
@@ -95,6 +95,34 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
95
95
  await expect(snapshot).toEqual(0);
96
96
  });
97
97
  });
98
+
99
+ describe('PUI-12193 - ModalSlide:: Page Level -Visual', () => {
100
+ before(async () => {
101
+ const errorOnGo = await ModalSlideCO.pageLevelURL.go();
102
+ if (errorOnGo) throw errorOnGo;
103
+ });
104
+ it('01: should display a slide at page level (width: 50%)', async () => {
105
+ await (await ModalSlideCO.getToggleSlide()).waitForDisplayed();
106
+ await (await ModalSlideCO.getToggleSlide()).click();
107
+ await ModalSlideCO.waitModalSlide();
108
+ const snapshot = await browser.checkSnapshot(ModalSlideCO.snapshotPath('slide-pagelevel-50%'));
109
+ await expect(snapshot).toEqual(0);
110
+ });
111
+ });
112
+
113
+ describe('PUI-12194 - ModalSlide:: Page Level (Full width) -Visual', () => {
114
+ before(async () => {
115
+ const errorOnGo = await ModalSlideCO.pageLevelFullWidthURL.go();
116
+ if (errorOnGo) throw errorOnGo;
117
+ });
118
+ it('01: should display a slide at page level (width: 100%)', async () => {
119
+ await (await ModalSlideCO.getToggleSlide()).waitForDisplayed();
120
+ await (await ModalSlideCO.getToggleSlide()).click();
121
+ await ModalSlideCO.waitModalSlide();
122
+ const snapshot = await browser.checkSnapshot(ModalSlideCO.snapshotPath('slide-pagelevel-100%'));
123
+ await expect(snapshot).toEqual(0);
124
+ });
125
+ });
98
126
  }
99
127
  if (browser.capabilities['ice:options'].isTablet) {
100
128
  describe('PUI-9692 - ModalSlide:: Resize - portrait and landscape on tablet', () => {
@@ -22,6 +22,10 @@ export default class ModalSlideCO extends PageObject {
22
22
 
23
23
  static cardsURL = new Urlbuilder(PATH_E2E_MODALSLIDE, 'cards-test');
24
24
 
25
+ static pageLevelURL = new Urlbuilder(PATH_E2E_MODALSLIDE, 'page-level-test');
26
+
27
+ static pageLevelFullWidthURL = new Urlbuilder(PATH_E2E_MODALSLIDE, 'page-level-full-width-test');
28
+
25
29
  static async getModalSlide() {
26
30
  return $('[data-testid="ds-modal-slide"]');
27
31
  }
@@ -57,6 +57,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
57
57
  const removablePillTxt = await DSPillsCO.getRemovablePillText('option 4');
58
58
  await expect(removablePillTxt).toBeDisplayed();
59
59
  const dropDownMenu = await DSPillsCO.getDropDownMenu();
60
+ await dropDownMenu.waitForDisplayed({ reverse: true, timeout: 5000 });
60
61
  await expect(dropDownMenu).not.toBeDisplayed();
61
62
  });
62
63
  });
@@ -1,7 +1,7 @@
1
1
  import { Key } from 'webdriverio';
2
2
  import { DSShuttleCO } from './DSShuttleCO';
3
3
 
4
- if (!browser.capabilities['ice:options'].isPhone) {
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
5
  describe('PUI-3336 - Shuttle Infinite Scroll', () => {
6
6
  beforeEach(async () => {
7
7
  const errorOnGo = await DSShuttleCO.infiniteScrollURL.go();
@@ -19,8 +19,6 @@ if (!browser.capabilities['ice:options'].isPhone) {
19
19
  await expect(snapshot).toEqual(0);
20
20
  });
21
21
  });
22
- }
23
- if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
24
22
  describe('PUI-3337 - Shuttle Infinite Scroll - search', () => {
25
23
  beforeEach(async () => {
26
24
  const errorOnGo = await DSShuttleCO.infiniteScrollURL.go();
@@ -118,21 +118,22 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
118
118
  await expect(searchCbCounterTxt).toBe('1');
119
119
  });
120
120
  });
121
-
122
- describe('PUI-5984 - Shuttle - Shuttle add items fast', () => {
123
- before(async () => {
124
- const errorOnGo = await DSShuttleCO.fastItemsAddURL.go();
125
- if (errorOnGo) throw errorOnGo;
121
+ if (browser.capabilities.browserName !== 'Safari') {
122
+ describe('PUI-5984 - Shuttle - Shuttle add items fast', () => {
123
+ before(async () => {
124
+ const errorOnGo = await DSShuttleCO.fastItemsAddURL.go();
125
+ if (errorOnGo) throw errorOnGo;
126
+ });
127
+ it('should not duplicate items on target', async () => {
128
+ await DSShuttleCO.waitForShuttleToBeDisplayed();
129
+ const moveBtns = await DSShuttleCO.getSourceMoveButtons();
130
+ await moveBtns[10].click();
131
+ await moveBtns[9].click();
132
+ await moveBtns[8].click();
133
+ await moveBtns[7].click();
134
+ const targetItemsLenght = (await DSShuttleCO.targetItems()).length;
135
+ await expect(targetItemsLenght).toBe(4);
136
+ });
126
137
  });
127
- it('should not duplicate items on target', async () => {
128
- await DSShuttleCO.waitForShuttleToBeDisplayed();
129
- const moveBtns = await DSShuttleCO.getSourceMoveButtons();
130
- await moveBtns[10].click();
131
- await moveBtns[9].click();
132
- await moveBtns[8].click();
133
- await moveBtns[7].click();
134
- const targetItemsLenght = (await DSShuttleCO.targetItems()).length;
135
- await expect(targetItemsLenght).toBe(4);
136
- });
137
- });
138
+ }
138
139
  }
@@ -2,23 +2,9 @@ import { Key } from 'webdriverio';
2
2
  import DSShuttleV2CO from '../DSShuttleV2CO';
3
3
  import { mouseOver } from '../../helpers';
4
4
 
5
- if (!browser.capabilities['ice:options'].isPhone) {
6
- describe('PUI-10780 - Shuttle V2, Responsive -Visual.', () => {
7
- before(async () => {
8
- const errorOnGo = await DSShuttleV2CO.basicURL.go();
9
- if (errorOnGo) throw errorOnGo;
10
- });
11
- it('01: Should display the component panels vertically aligned on small viewport', async () => {
12
- await browser.eyesOpen();
13
- const snapshot = await browser.eyesCheckSnapshot(DSShuttleV2CO.snapshotPath('shuttle-v2-basic'));
14
- await expect(snapshot).toEqual(0);
15
- });
16
- });
17
- }
18
-
19
5
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
20
6
  describe('PUI-9817 - Shuttle V2, Custom item renderer -Visual.', () => {
21
- before(async () => {
7
+ before('loading page', async () => {
22
8
  const errorOnGo = await DSShuttleV2CO.customRendererURL.go();
23
9
  if (errorOnGo) throw errorOnGo;
24
10
  });
@@ -37,7 +23,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
37
23
  });
38
24
 
39
25
  describe('PUI-9819 - Shuttle V2, With Icon -Visual.', () => {
40
- before(async () => {
26
+ before('loading page', async () => {
41
27
  const errorOnGo = await DSShuttleV2CO.withIconURL.go();
42
28
  if (errorOnGo) throw errorOnGo;
43
29
  });
@@ -65,7 +51,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
65
51
  });
66
52
 
67
53
  describe('PUI-9818 - Shuttle V2, With subtitle -Visual.', () => {
68
- before(async () => {
54
+ before('loading page', async () => {
69
55
  const errorOnGo = await DSShuttleV2CO.subtitleURL.go();
70
56
  if (errorOnGo) throw errorOnGo;
71
57
  });
@@ -93,7 +79,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
93
79
  });
94
80
 
95
81
  describe('PUI-9821 - Shuttle V2, Soft delete -Visual.', () => {
96
- before(async () => {
82
+ before('loading page', async () => {
97
83
  const errorOnGo = await DSShuttleV2CO.softDeleteURL.go();
98
84
  if (errorOnGo) throw errorOnGo;
99
85
  });
@@ -116,7 +102,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
116
102
  });
117
103
 
118
104
  describe('PUI-9820 - Shuttle V2, Basic styles -Visual.', () => {
119
- before(async () => {
105
+ before('loading page', async () => {
120
106
  const errorOnGo = await DSShuttleV2CO.loadMoreURL.go();
121
107
  if (errorOnGo) throw errorOnGo;
122
108
  });
@@ -135,7 +121,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
135
121
 
136
122
  // beforeEach required since eyesOpen will break DND cycle on automated test
137
123
  describe('PUI-9822 - Shuttle V2, DND -Visual.', () => {
138
- beforeEach(async () => {
124
+ beforeEach('loading page', async () => {
139
125
  const errorOnGo = await DSShuttleV2CO.dndURL.go();
140
126
  if (errorOnGo) throw errorOnGo;
141
127
  });
@@ -179,20 +165,4 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
179
165
  await expect(snapshot).toEqual(0);
180
166
  });
181
167
  });
182
-
183
- describe('PUI-9823 - Shuttle V2, Disabled -Visual.', () => {
184
- before(async () => {
185
- const errorOnGo = await DSShuttleV2CO.disabledItemsURL.go();
186
- if (errorOnGo) throw errorOnGo;
187
- });
188
- it('01: Should display items with disabled movement, not checked after click, no BAB', async () => {
189
- await browser.eyesOpen();
190
- const testItem = await DSShuttleV2CO.getItemWrapper(2);
191
- await testItem.click();
192
- const testItem2 = await DSShuttleV2CO.getItemWrapper(1);
193
- await mouseOver(testItem2);
194
- const snapshot = await browser.eyesCheckSnapshot(DSShuttleV2CO.snapshotPath('shuttle-v2-disabled'));
195
- await expect(snapshot).toEqual(0);
196
- });
197
- });
198
168
  }
@@ -0,0 +1,22 @@
1
+ import DSShuttleV2CO from '../DSShuttleV2CO';
2
+ import { mouseOver } from '../../helpers';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-9823 - Shuttle V2, Disabled -Visual.', () => {
6
+ before(async () => {
7
+ const errorOnGo = await DSShuttleV2CO.disabledItemsURL.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+ it('01: Should display items with disabled movement, not checked after click, no BAB', async () => {
11
+ it('01: Should display items with disabled movement, not checked after click, no BAB', async () => {
12
+ await browser.eyesOpen();
13
+ const testItem = await DSShuttleV2CO.getItemWrapper(2);
14
+ await testItem.click();
15
+ const testItem2 = await DSShuttleV2CO.getItemWrapper(1);
16
+ await mouseOver(testItem2);
17
+ const snapshot = await browser.eyesCheckSnapshot(DSShuttleV2CO.snapshotPath('shuttle-v2-disabled'));
18
+ await expect(snapshot).toEqual(0);
19
+ });
20
+ });
21
+ });
22
+ }
@@ -8,7 +8,8 @@ if (
8
8
  browser.capabilities.browserName === 'Chrome') ||
9
9
  browser.capabilities.browserName === 'chrome'
10
10
  ) {
11
- describe('PUI-10771 - Shuttle V2, Drill Down and NOT Keep parent -AxeCore.', () => {
11
+ // to be unskiped after PUI-11211 is fixed
12
+ describe.skip('PUI-10771 - Shuttle V2, Drill Down and NOT Keep parent -AxeCore.', () => {
12
13
  before(async () => {
13
14
  const errorOnGo = await DSShuttleV2CO.basicURL.go();
14
15
  if (errorOnGo) throw errorOnGo;
@@ -0,0 +1,15 @@
1
+ import DSShuttleV2CO from '../DSShuttleV2CO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone) {
4
+ describe('PUI-10780 - Shuttle V2, Responsive -Visual.', () => {
5
+ before(async () => {
6
+ const errorOnGo = await DSShuttleV2CO.basicURL.go();
7
+ if (errorOnGo) throw errorOnGo;
8
+ });
9
+ it('01: Should display the component panels vertically aligned on small viewport', async () => {
10
+ await browser.eyesOpen();
11
+ const snapshot = await browser.eyesCheckSnapshot(DSShuttleV2CO.snapshotPath('shuttle-v2-basic'));
12
+ await expect(snapshot).toEqual(0);
13
+ });
14
+ });
15
+ }
@@ -1,8 +1,8 @@
1
- import { PATH_SQUARE_INDICATOR, PATH_E2E_SQUARE_INDICATOR } from '../../environments/storybook/paths';
1
+ import { PATH_E2E_SQUARE_INDICATOR } from '../../environments/storybook/paths';
2
2
  import { PageObject, Urlbuilder, getElementByIndex } from '../helpers';
3
3
 
4
4
  export default class DSSquareIndicator extends PageObject {
5
- static basicURL = new Urlbuilder(PATH_SQUARE_INDICATOR, 'basic');
5
+ static basicURL = new Urlbuilder(PATH_E2E_SQUARE_INDICATOR, 'basic-test');
6
6
 
7
7
  static insideDialog = new Urlbuilder(PATH_E2E_SQUARE_INDICATOR, 'inside-dialog-test');
8
8
 
@@ -75,7 +75,7 @@ if (
75
75
  });
76
76
  it('02: should have tabs with a grid, interacted passing axe-core scan', async () => {
77
77
  await (await DSTabsCO.getTab(1)).click();
78
- await (await DSTabsCO.getTab(5)).click();
78
+ await (await DSTabsCO.getTab(4)).click();
79
79
  const result = await axeCoreCheck();
80
80
  expect(result.length).toBe(0);
81
81
  });
@@ -4,7 +4,7 @@ import DSTreeViewCO from './DSTreeViewCO';
4
4
 
5
5
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
6
6
  describe('PUI-11324 - TreeView, Restrict Drag and Drop Functionality - visual', () => {
7
- before(async () => {
7
+ beforeEach(async () => {
8
8
  const errorOnGo = await DSTreeViewCO.restrictDragAndDropTest.go();
9
9
  if (errorOnGo) throw errorOnGo;
10
10
  });
@@ -21,6 +21,10 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
21
21
  });
22
22
  it('02: should display "inside" position restricted correctly', async () => {
23
23
  await browser.eyesOpen();
24
+ await browser.keys(Key.Tab);
25
+ await browser.keys(Key.Tab);
26
+ await browser.keys(Key.Return);
27
+ await DSTreeViewCO.expandCollapseAll();
24
28
  await browser.keys(Key.ArrowDown);
25
29
  const snapshot = await browser.eyesCheckSnapshot(
26
30
  DSTreeViewCO.snapshotPath('treeview-restict-dnd-inside-restricted'),
@@ -29,6 +33,11 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
29
33
  });
30
34
  it('03: drag a parent and drop it in another parent', async () => {
31
35
  await browser.eyesOpen();
36
+ await browser.keys(Key.Tab);
37
+ await browser.keys(Key.Tab);
38
+ await browser.keys(Key.Return);
39
+ await DSTreeViewCO.expandCollapseAll();
40
+ await browser.keys(Key.ArrowDown);
32
41
  await browser.keys(Key.ArrowDown);
33
42
  await browser.keys(Key.ArrowDown);
34
43
  await browser.keys(Key.ArrowDown);
@@ -2,7 +2,12 @@
2
2
  import WizardCO from './DSWizardCO';
3
3
  import { axeCoreCheck } from '../helpers';
4
4
 
5
- if (!browser.capabilities['ice:options'].isPhone) {
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
+ ) {
6
11
  describe('PUI-11863 - Wizard:: Basic - AxeCore', () => {
7
12
  before('loading page', async () => {
8
13
  const errorOnGo = await WizardCO.basicURL.go();