From 22d7bca68beb73bf264475ec9ae2f7989a9515d6 Mon Sep 17 00:00:00 2001 From: Andrei Zhaleznichenka Date: Fri, 21 Feb 2025 16:12:42 +0100 Subject: [PATCH] test: Re-enabled mixed chart hover test (#3306) --- .../__integ__/mixed-line-bar-chart.test.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/mixed-line-bar-chart/__integ__/mixed-line-bar-chart.test.ts b/src/mixed-line-bar-chart/__integ__/mixed-line-bar-chart.test.ts index 5a1d76370d..9375212d97 100644 --- a/src/mixed-line-bar-chart/__integ__/mixed-line-bar-chart.test.ts +++ b/src/mixed-line-bar-chart/__integ__/mixed-line-bar-chart.test.ts @@ -504,26 +504,31 @@ describe('Details popover', () => { await page.windowScrollTo({ top: 150 }); const barChart = createWrapper().findBarChart(); const barGroup = barChart.findBarGroups().get(1).toSelector(); - await expect(page.getWindowScroll()).resolves.toEqual({ top: 150, left: 0 }); + await expect(page.getWindowScroll().then(s => s.top)).resolves.toBe(150); await page.clickBarGroup(barGroup); await page.waitForVisible(barChart.findDetailPopover().toSelector()); await expect(page.getText(barChart.findDetailPopover().findHeader().toSelector())).resolves.toContain('Apr 2023'); - await expect(page.getWindowScroll()).resolves.toEqual({ top: 0, left: 0 }); + await expect(page.getWindowScroll().then(s => s.top)).resolves.toBe(0); }) ); - // Skipped due to failures with WebdriverIO v9. - test.skip( + test( 'does not scroll on hover', setupTest('#/light/bar-chart/drilldown', async page => { await page.setWindowSize({ width: 360, height: 650 }); await page.windowScrollTo({ top: 150 }); const barChart = createWrapper().findBarChart(); const barGroup = barChart.findBarGroups().get(1).toSelector(); - await expect(page.getWindowScroll()).resolves.toEqual({ top: 150, left: 0 }); + await expect(page.getWindowScroll().then(s => s.top)).resolves.toBe(150); await page.hoverElement(barGroup); + await page.waitForVisible(barChart.findDetailPopover().toSelector()); await expect(page.getText(barChart.findDetailPopover().findHeader().toSelector())).resolves.toContain('Apr 2023'); - await expect(page.getWindowScroll()).resolves.toEqual({ top: 150, left: 0 }); + + // Explanation: when a series is hovered we expect no extra scroll, so the page's scroll should stay at 150px. + // However, Webdriver automatically performs scroll adjustments when hovering to make the element fit the screen, + // so we give it a small extra allowance. + await expect(page.getWindowScroll().then(s => s.top)).resolves.toBeGreaterThanOrEqual(150); + await expect(page.getWindowScroll().then(s => s.top)).resolves.toBeLessThan(250); }) );