dimsum-e2e-tests 3.70.0-next.62 → 3.70.0-next.63

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.
@@ -126,8 +126,14 @@ export default class DSAppPickerCO extends PageObject {
126
126
  return $$('[data-testid="ds-chip-label"]')[index];
127
127
  }
128
128
 
129
+ // Selection is exposed as `aria-current="true"`, not `aria-selected`. The chips are `role="button"`,
130
+ // which does not support `aria-selected` — PUI-17213/PUI-17860 (#8260) swapped it for `aria-current`
131
+ // plus the "X of Y" position announcement, signed off with the A11y SME.
132
+ // The attribute is omitted (not `false`) when unselected, so `getAttribute` resolves to null: compare
133
+ // the value instead of calling a string method on it, so an unselected chip returns false rather than
134
+ // throwing.
129
135
  static async isSelected(element) {
130
- return (await element.getAttribute('aria-selected')).includes('true');
136
+ return (await element.getAttribute('aria-current')) === 'true';
131
137
  }
132
138
 
133
139
  // Slots
@@ -1,11 +1,7 @@
1
1
  import { Key } from 'webdriverio';
2
2
  import DSAppPickerCO from '../DSAppPickerCO';
3
3
 
4
- if (
5
- !browser.capabilities['ice:options'].isPhone &&
6
- !browser.capabilities['ice:options'].isTablet &&
7
- browser.capabilities.browserName !== 'Safari'
8
- ) {
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
9
5
  describe('PUI-8030 - AppPicker:: Basic - keyboard nav func', () => {
10
6
  before('loading page', async () => {
11
7
  const errorOnGo = await DSAppPickerCO.basicURL.go();
@@ -34,12 +30,27 @@ if (
34
30
  const appPickerChip = await DSAppPickerCO.getChipByIndex(1);
35
31
  await expect(appPickerChip).toBeFocused();
36
32
  });
37
- it('05: should close the menu - Escape', async () => {
33
+ // PUI-17950 made Escape the dismissal mechanism for a chip's expanded label, satisfying the
34
+ // "Dismissible" clause of WCAG 2.1 AA 1.4.13. Escape on an open panel is therefore two-stage
35
+ // whenever the focused chip's label truncates: the first press dismisses the expansion, only
36
+ // the second reaches the dialog. Chip 1 here truncates, so both presses are needed. The
37
+ // dismissal is conditional, not blanket — on a chip whose label fits, Escape still closes the
38
+ // panel in a single press, so this is not a rule that can be applied by rote to every spec.
39
+ it('05: should dismiss the expanded chip label and keep the menu open - Escape', async () => {
40
+ const appPickerChip = await DSAppPickerCO.getChipByIndex(1);
41
+ expect(await appPickerChip.getAttribute('data-expanded')).toEqual('true');
42
+ await browser.keys(Key.Escape);
43
+ const appPicker = await DSAppPickerCO.getAppPickerRoot();
44
+ await expect(appPicker).toBeDisplayedInViewport();
45
+ await expect(appPickerChip).toBeFocused();
46
+ expect(await appPickerChip.getAttribute('data-expanded')).not.toEqual('true');
47
+ });
48
+ it('06: should close the menu - Escape', async () => {
38
49
  const openAppPickerBtn = await DSAppPickerCO.getOpenAppPicker();
39
50
  await browser.keys(Key.Escape);
40
51
  await expect(openAppPickerBtn).toBeFocused();
41
52
  });
42
- it('06: should reopen the menu and focus the first enabled chip - Space', async () => {
53
+ it('07: should reopen the menu and focus the first enabled chip - Space', async () => {
43
54
  await browser.keys(Key.Space);
44
55
  const appPicker = await DSAppPickerCO.getAppPickerRoot();
45
56
  const appPickerChip = await DSAppPickerCO.getChipByIndex(1);
@@ -20,7 +20,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
20
20
  await expect(appPicker).not.toBeDisplayedInViewport();
21
21
  await expect(triggerBtn).toBeFocused();
22
22
  });
23
- it('03: should open appPicker and have the third chip still focused', async () => {
23
+ it('03: should reopen appPicker with the selected app still marked as current', async () => {
24
24
  const openAppPickerBtn = await DSAppPickerCO.getOpenAppPicker();
25
25
  await openAppPickerBtn.click();
26
26
  const reportChip = await DSAppPickerCO.getChipByIndex(6);
@@ -1,18 +1,19 @@
1
1
  /* eslint-disable wdio/no-pause */
2
2
  import DSAppPickerCO from '../DSAppPickerCO';
3
+ import { setTextSize } from '../../helpers';
3
4
 
4
5
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
6
  describe('PUI-17867 - AppPicker:: Reflow test -visual', () => {
6
7
  before('loading page', async () => {
7
8
  const errorOnGo = await DSAppPickerCO.reflowURL.go();
8
9
  if (errorOnGo) throw errorOnGo;
9
- await browser.maximizeWindow();
10
+ await setTextSize('26');
10
11
  });
11
12
 
12
13
  it('01: should show appPicker open', async () => {
13
14
  const openAppPickerBtn = await DSAppPickerCO.getOpenAppPicker();
14
15
  await openAppPickerBtn.click();
15
- const snapshot = await browser.percyCheckScreenshot(DSAppPickerCO.snapshotPath('reflow-appPicker-open'));
16
+ const snapshot = await browser.percyCheckScreenshot();
16
17
  await expect(snapshot).toEqual(0);
17
18
  });
18
19
 
@@ -20,16 +21,14 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
20
21
  const secondPipelineChip = await DSAppPickerCO.getChipByLabelAndIndex('Pipeline', 1);
21
22
  await secondPipelineChip.scrollIntoView();
22
23
  await browser.pause(300);
23
- const snapshot = await browser.percyCheckScreenshot(DSAppPickerCO.snapshotPath('reflow-appPicker-scrolled'));
24
+ const snapshot = await browser.percyCheckScreenshot();
24
25
  await expect(snapshot).toEqual(0);
25
26
  });
26
27
 
27
28
  it('03: should select the 2nd Pipeline chip', async () => {
28
29
  const secondPipelineChip = await DSAppPickerCO.getChipByLabelAndIndex('Pipeline', 1);
29
30
  await secondPipelineChip.click();
30
- const snapshot = await browser.percyCheckScreenshot(
31
- DSAppPickerCO.snapshotPath('reflow-appPicker-pipeline-selected'),
32
- );
31
+ const snapshot = await browser.percyCheckScreenshot();
33
32
  await expect(snapshot).toEqual(0);
34
33
  });
35
34
  });
@@ -1,14 +1,17 @@
1
1
  import DSBannerCO from './DSBannerCO';
2
+ import { setTextSize } from '../helpers';
2
3
 
3
4
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
5
  describe('PUI-17535 - DSBanner - Text Resize In Different Layouts - Visual Test', () => {
5
6
  before('loading page', async () => {
6
7
  const errorOnGo = await DSBannerCO.textResizeInDifferentLayoutsTest.go();
7
8
  if (errorOnGo) throw errorOnGo;
9
+ await setTextSize('26');
8
10
  });
9
11
  it('01: should display text resize in different layouts properly', async () => {
10
- await browser.eyesOpen();
11
- const snapshot = await browser.eyesCheckSnapshot(DSBannerCO.snapshotPath('text-resize-in-different-layouts'));
12
+ const banner = await DSBannerCO.getBannerByIndex();
13
+ await banner.waitForDisplayed();
14
+ const snapshot = await browser.percyCheckScreenshot();
12
15
  await expect(snapshot).toEqual(0);
13
16
  });
14
17
  });
@@ -62,6 +62,10 @@ export default class DSBannerCO extends PageObject {
62
62
  return $('[data-testid="ds-banner"');
63
63
  }
64
64
 
65
+ static async getBannerByIndex(index = 0) {
66
+ return $$('[data-testid="ds-banner"]')[index];
67
+ }
68
+
65
69
  static async getBannerContainer() {
66
70
  return $('[data-testid="ds-banner-container"]');
67
71
  }
@@ -1,10 +1,12 @@
1
1
  import DSCardV3CO from '../DSCardV3CO';
2
+ import { setTextSize } from '../../helpers';
2
3
 
3
4
  if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
5
  describe('PUI-13981 - CardV3: Reflow -Visual Test', () => {
5
6
  before('loading page', async () => {
6
7
  const errorOnGo = await DSCardV3CO.reflowURL.go();
7
8
  if (errorOnGo) throw errorOnGo;
9
+ await setTextSize('26');
8
10
  });
9
11
  it('01: should display cards after a 200% of text resize', async () => {
10
12
  const expandContentButton = await DSCardV3CO.getExpandContentButton();
@@ -65,8 +65,7 @@ if (!browser.capabilities['ice:options'].isPhone) {
65
65
 
66
66
  // fails on firefox due to fake-positive of infinte loop
67
67
  if (browser.capabilities.browserName !== 'Firefox') {
68
- // Skipped until PUI-16334 gets fixed
69
- describe.skip('PUI-9401 - DSDataViz, TimeLinear axis -Visual', () => {
68
+ describe('PUI-9401 - DSDataViz, TimeLinear axis -Visual', () => {
70
69
  before('loading page', async () => {
71
70
  const errorOnGo = await DSDataVizCO.timeLinearAxis.go();
72
71
  if (errorOnGo) throw errorOnGo;
@@ -62,8 +62,7 @@ if (!browser.capabilities['ice:options'].isPhone) {
62
62
  });
63
63
  });
64
64
 
65
- // Skipped until PUI-16334 gets fixed
66
- describe.skip('PUI-10321 - DSDataViz, Force ticks -Visual', () => {
65
+ describe('PUI-10321 - DSDataViz, Force ticks -Visual', () => {
67
66
  before('loading page', async () => {
68
67
  const errorOnGo = await DSDataVizCO.forceTicks.go();
69
68
  if (errorOnGo) throw errorOnGo;
@@ -11,8 +11,10 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
11
11
  });
12
12
  it('01: The first aria-disabled combobox should be focused', async () => {
13
13
  await browser.eyesOpen();
14
- const firstCombobox = await DSComboboxMultiCO.getComboboxByIndex(0);
15
- await firstCombobox.click();
14
+ // the container centre lands on the aria-hidden overlay input, which never focuses the
15
+ // combobox; the selected-values area is the only pointer target that reliably focuses it
16
+ const firstComboboxValues = await DSComboboxMultiCO.getSelectedValuesByIndex(0);
17
+ await firstComboboxValues.click();
16
18
  const snapshot = await browser.eyesCheckSnapshot(
17
19
  DSComboboxMultiCO.snapshotPath('combobox-multi-aria-disabled-click'),
18
20
  );
@@ -43,6 +43,8 @@ export default class DSGridCO extends PageObject {
43
43
 
44
44
  static breakpointsV2 = new Urlbuilder(PATH_E2E_GRID, 'with-breakpoints-v-2-test');
45
45
 
46
+ static layoutMode = new Urlbuilder(PATH_E2E_GRID, 'with-layout-mode-test');
47
+
46
48
  static getUrl(component = 'basic') {
47
49
  return PageObject.getUrl(PATH_E2E_GRID, component);
48
50
  }
@@ -70,6 +72,24 @@ export default class DSGridCO extends PageObject {
70
72
  return $(`//div[text()="Scrollable Body"]`);
71
73
  }
72
74
 
75
+ static async getGridByTestId(testId) {
76
+ return $(`[data-testid="${testId}"]`);
77
+ }
78
+
79
+ // Computed grid-template-columns, e.g. "640px 640px 640px". Returned as a string so callers can
80
+ // compare two grids to each other without depending on the resolved px values.
81
+ static async getResolvedColumns(testId) {
82
+ const grid = await this.getGridByTestId(testId);
83
+ await grid.waitForDisplayed();
84
+ return String((await grid.getCSSProperty('grid-template-columns')).value);
85
+ }
86
+
87
+ // Number of resolved column tracks. This is the only cross-browser-stable signal of which
88
+ // breakpoint definition won, and it never asserts px values.
89
+ static async getResolvedColumnCount(testId) {
90
+ return (await this.getResolvedColumns(testId)).trim().split(/\s+/).filter(Boolean).length;
91
+ }
92
+
73
93
  // Snapshots
74
94
  static snapshotPath(example = 'basic') {
75
95
  return PageObject.getSnapshotPathBuilder('Grid', example);
@@ -0,0 +1,51 @@
1
+ import DSGridCO from '../DSGridCO';
2
+
3
+ // Coverage for the withLayoutMode opt-in shipped in PUI-17417: an opted-in Grid collapses its
4
+ // responsive cols/rows/span OBJECT definitions to the single value selected by the ancestor
5
+ // DSLayoutProvider layoutMode instead of the viewport media-query ladder. The feature has no DOM
6
+ // footprint - the only observable effect is the emitted CSS, since the collapsed array takes the
7
+ // Array.isArray branch of manageCols and emits ONE unconditional grid-template-columns. So we
8
+ // assert the resolved column COUNT (whitespace separated tracks of the computed value), never the
9
+ // px values. Chrome only: a computed CSS read is identical across engines.
10
+ if (
11
+ (!browser.capabilities['ice:options'].isPhone &&
12
+ !browser.capabilities['ice:options'].isTablet &&
13
+ browser.capabilities.browserName === 'chrome') ||
14
+ browser.capabilities.browserName === 'Chrome'
15
+ ) {
16
+ describe('PUI-18978 - DSGrid:: withLayoutMode breakpoint resolution - Func', () => {
17
+ before('loading page', async () => {
18
+ const errorOnGo = await DSGridCO.layoutMode.go();
19
+ if (errorOnGo) throw errorOnGo;
20
+ });
21
+
22
+ it('01: should resolve cols from the ancestor layoutMode when opted in', async () => {
23
+ await expect(await DSGridCO.getResolvedColumnCount('ds-grid-layout-mode-l')).toEqual(3);
24
+ await expect(await DSGridCO.getResolvedColumnCount('ds-grid-layout-mode-m')).toEqual(2);
25
+ await expect(await DSGridCO.getResolvedColumnCount('ds-grid-layout-mode-s')).toEqual(1);
26
+ });
27
+
28
+ it('02: should honor an explicit xsmall definition, keeping xs distinct from s', async () => {
29
+ await expect(await DSGridCO.getResolvedColumnCount('ds-grid-layout-mode-xs-explicit')).toEqual(1);
30
+ await expect(await DSGridCO.getResolvedColumnCount('ds-grid-layout-mode-s-explicit')).toEqual(2);
31
+ });
32
+
33
+ it('03: should resolve xs to the small definition when xsmall is not declared', async () => {
34
+ await expect(await DSGridCO.getResolvedColumnCount('ds-grid-layout-mode-xs-backfilled')).toEqual(1);
35
+ });
36
+
37
+ it('04: should ignore the ancestor layoutMode when not opted in', async () => {
38
+ // Width independent invariant: opting out inside a provider must render exactly what the same
39
+ // grid renders with no provider at all. The layoutMode path can never satisfy this.
40
+ const optedOut = await DSGridCO.getResolvedColumns('ds-grid-opt-out-in-provider');
41
+ const noProvider = await DSGridCO.getResolvedColumns('ds-grid-opt-out-no-provider');
42
+ await expect(optedOut).toEqual(noProvider);
43
+
44
+ // The failure mode being guarded against is the provider mode s leaking in, which is exactly
45
+ // 1 column. The correct value is whatever the viewport resolves to (3 above 1024px), so we
46
+ // assert more than one column rather than pinning a viewport width.
47
+ const columnCount = await DSGridCO.getResolvedColumnCount('ds-grid-opt-out-in-provider');
48
+ await expect(columnCount).toBeGreaterThan(1);
49
+ });
50
+ });
51
+ }
@@ -0,0 +1,22 @@
1
+ import DSGridCO from '../DSGridCO';
2
+
3
+ // Coverage for the withLayoutMode opt-in shipped in PUI-17417. Every grid in the story shares one
4
+ // responsive cols definition and one viewport width, so this single snapshot is the human readable
5
+ // proof that each grid lays out for the DSLayoutProvider mode of the container it lives in - and
6
+ // that the two opted-out grids stay viewport driven.
7
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
8
+ describe('PUI-18979 - DSGrid:: withLayoutMode breakpoint resolution - Visual', () => {
9
+ before('loading page', async () => {
10
+ const errorOnGo = await DSGridCO.layoutMode.go();
11
+ if (errorOnGo) throw errorOnGo;
12
+ });
13
+
14
+ it('01: should display each grid laid out for its own LayoutProvider mode', async () => {
15
+ const firstGrid = await DSGridCO.getGridByTestId('ds-grid-layout-mode-l');
16
+ await firstGrid.waitForDisplayed();
17
+
18
+ const snapshot = await browser.percyCheckScreenshot(DSGridCO.snapshotPath('layout-mode'));
19
+ await expect(snapshot).toEqual(0);
20
+ });
21
+ });
22
+ }
@@ -7,6 +7,7 @@ describe('PUI-11669 - UseFontSizeMedia:: Basic ', () => {
7
7
  if (errorOnGo) throw errorOnGo;
8
8
  });
9
9
  it('01: should render correctly initial font size values (4 columns)', async () => {
10
+ await DSHookCO.waitForColumnCount(4);
10
11
  const snapshot = await browser.checkSnapshot(DSHookCO.snapshotPath('use-font-size-media-initial-values'));
11
12
  await expect(snapshot).toEqual(0);
12
13
  });
@@ -15,12 +16,14 @@ describe('PUI-11669 - UseFontSizeMedia:: Basic ', () => {
15
16
  !browser.capabilities?.['bstack:options']?.deviceName?.includes('iPad')
16
17
  ) {
17
18
  it('02: should increase font size correctly (1 column)', async () => {
18
- await DSHookCO.increaseFontSize(10);
19
+ await DSHookCO.setFontSizeForRatio(DSHookCO.FONT_SIZE_RATIOS.large);
20
+ await DSHookCO.waitForColumnCount(1);
19
21
  const snapshot = await browser.checkSnapshot(DSHookCO.snapshotPath('use-font-size-media-increase-size'));
20
22
  await expect(snapshot).toEqual(0);
21
23
  });
22
24
  it('03: should decrease font size correctly (2 columns)', async () => {
23
- await DSHookCO.decreaseFontSize(2);
25
+ await DSHookCO.setFontSizeForRatio(DSHookCO.FONT_SIZE_RATIOS.medium);
26
+ await DSHookCO.waitForColumnCount(2);
24
27
  const snapshot = await browser.checkSnapshot(DSHookCO.snapshotPath('use-font-size-media-decrease-size'));
25
28
  await expect(snapshot).toEqual(0);
26
29
  });
@@ -1,8 +1,20 @@
1
1
  /* eslint-disable import/no-relative-packages */
2
2
  import { PATH_HOOKS, PATH_E2E_HOOKS, PATH_E2E_USE_FONT_SIZE_DETECTOR, PATH_E2E_USE_FONT_SIZE_MEDIA } from '../paths';
3
- import { PageObject, Urlbuilder, getElementByIndex } from '../helpers';
3
+ import { PageObject, Urlbuilder, getElementByIndex, setTextSize } from '../helpers';
4
+
5
+ // useFontSizeDetector reduces the page to a single number:
6
+ // ratio = floor(documentElement.clientWidth / heightOf(#DS_FONT_DETECTOR))
7
+ // and useFontsizeMedia buckets it against BREAKPOINTS (ds-hooks-fontsize-detector):
8
+ // ratio <= 30 -> largeFont | 31..40 -> mediumFont | > 40 -> smallFont
9
+ // The ratio depends on the viewport width, which BrowserStack decides per platform,
10
+ // so a hardcoded font size lands in a different bucket on every browser. Aim at the
11
+ // middle of each bucket instead and let setFontSizeForRatio solve for the px.
12
+ const FONT_DETECTOR_SELECTOR = '[data-testid="DS_FONT_DETECTOR"]';
13
+ const FONT_SIZE_RATIOS = { large: 25, medium: 35, small: 50 };
4
14
 
5
15
  export default class DSHookCO extends PageObject {
16
+ static FONT_SIZE_RATIOS = FONT_SIZE_RATIOS;
17
+
6
18
  // Desktop
7
19
  static specificFocus = new Urlbuilder(PATH_HOOKS, 'use-on-specific-focus');
8
20
 
@@ -173,5 +185,47 @@ export default class DSHookCO extends PageObject {
173
185
  }
174
186
  }
175
187
 
188
+ // Solve for the root font size that puts the detector ratio at targetRatio, then
189
+ // apply it with setTextSize. The line-height factor is measured live instead of
190
+ // assumed: #DS_FONT_DETECTOR is a `<p>&nbsp;</p>` appended to body, so its height
191
+ // tracks the root font size by a constant that depends on the stylesheet.
192
+ static async setFontSizeForRatio(targetRatio) {
193
+ const fontSize = await browser.execute(
194
+ (ratio, detectorSelector) => {
195
+ const root = document.documentElement;
196
+ const detector = document.querySelector(detectorSelector);
197
+ if (!detector) return null;
198
+ const rootFontSize = parseFloat(window.getComputedStyle(root).fontSize);
199
+ const lineHeightFactor = detector.getBoundingClientRect().height / rootFontSize;
200
+ return Math.floor(root.clientWidth / (ratio * lineHeightFactor));
201
+ },
202
+ targetRatio,
203
+ FONT_DETECTOR_SELECTOR,
204
+ );
205
+ if (!fontSize) throw new Error(`${FONT_DETECTOR_SELECTOR} not found: useFontSizeDetector never mounted`);
206
+ await setTextSize(fontSize);
207
+ return fontSize;
208
+ }
209
+
176
210
  // utils
211
+
212
+ static async getResponsiveGrid() {
213
+ return $('[data-testid="fontsize-media-responsive-grid"]');
214
+ }
215
+
216
+ static async getColumnCount() {
217
+ const grid = await this.getResponsiveGrid();
218
+ const { value } = await grid.getCSSProperty('grid-template-columns');
219
+ return String(value).trim().split(/\s+/).filter(Boolean).length;
220
+ }
221
+
222
+ // The ResizeObserver behind useFontSizeDetector reports the new detector height a
223
+ // frame after the font size lands, so the grid reflows after setTextSize returns.
224
+ // Wait for the reflow instead of snapshotting a half-applied layout.
225
+ static async waitForColumnCount(expected) {
226
+ await browser.waitUntil(async () => (await this.getColumnCount()) === expected, {
227
+ timeout: 10000,
228
+ timeoutMsg: `expected the responsive grid to reflow to ${expected} column(s)`,
229
+ });
230
+ }
177
231
  }
@@ -8,22 +8,22 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
8
8
  const errorOnGo = await DSQueryBuilderCO.dateRangeV2.go();
9
9
  if (errorOnGo) throw errorOnGo;
10
10
  });
11
- it('should be displayed date range inputs empties', async () => {
11
+ it('01: should be displayed date range inputs empties', async () => {
12
12
  await (await DSQueryBuilderCO.getDatePickerBtn()).waitForDisplayed();
13
- const snapshot = await browser.checkSnapshot(DSQueryBuilderCO.snapshotPath('qb-date-range-empty'));
13
+ const snapshot = await browser.percyCheckScreenshot();
14
14
  await expect(snapshot).toEqual(0);
15
15
  });
16
- it('should be displayed calendar opened and range selected', async () => {
16
+ it('should be displayed date range inputs filled', async () => {
17
17
  await (await DSQueryBuilderCO.getDatePickerBtn()).click();
18
18
  await (await DSQueryBuilderCO.getDate(12)).waitForDisplayed();
19
19
  await (await DSQueryBuilderCO.getDate(12)).click();
20
20
  await (await DSQueryBuilderCO.getDate(16)).click();
21
- const snapshot = await browser.checkSnapshot(DSQueryBuilderCO.snapshotPath('qb-date-range-calendar-opened'));
21
+ const snapshot = await browser.percyCheckScreenshot();
22
22
  await expect(snapshot).toEqual(0);
23
23
  });
24
- it('should be displayed date range values entered', async () => {
24
+ it('03: should be displayed date range values entered', async () => {
25
25
  await (await DSQueryBuilderCO.getDatePickerBtn()).click();
26
- const snapshot = await browser.checkSnapshot(DSQueryBuilderCO.snapshotPath('qb-date-range-completed'));
26
+ const snapshot = await browser.percyCheckScreenshot();
27
27
  await expect(snapshot).toEqual(0);
28
28
  });
29
29
  });