From 5bf8113afe9bf8160c37409e539d034beb1f816f Mon Sep 17 00:00:00 2001 From: sonika-shah <58761340+sonika-shah@users.noreply.github.com> Date: Fri, 21 Aug 2026 16:16:36 +0530 Subject: [PATCH] test(it): accept multi-select testCaseStatus[] URL param in DQ dashboard pie nav PR #31662 made the test-case status filter multi-select and changed BINARY_STATUS_PIE_SEGMENT_ORDER to TestCaseStatus[][]. The Entity Health pie segment now navigates with an array of statuses, serialized with bracket array syntax (testCaseStatus[]=Failed&testCaseStatus[]=Aborted, URL-encoded as testCaseStatus%5B%5D=), instead of a bare testCaseStatus=. The Java IT page object still waited on the old testCaseStatus= regex, so waitForURL never matched and the flow timed out after 20s. Widen the pattern to accept the bare, literal-bracket, and encoded-bracket forms so both single- and multi-status pies satisfy the navigation contract, mirroring the TS spec update that shipped in the same PR. --- .../playwright/ui/pages/DataQualityDashboardPage.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/openmetadata-integration-tests/src/test/java/org/openmetadata/playwright/ui/pages/DataQualityDashboardPage.java b/openmetadata-integration-tests/src/test/java/org/openmetadata/playwright/ui/pages/DataQualityDashboardPage.java index 9148eb6dc61d..5279da37f422 100644 --- a/openmetadata-integration-tests/src/test/java/org/openmetadata/playwright/ui/pages/DataQualityDashboardPage.java +++ b/openmetadata-integration-tests/src/test/java/org/openmetadata/playwright/ui/pages/DataQualityDashboardPage.java @@ -56,10 +56,16 @@ public boolean tryClickDimensionCard(final String displayText, final String urlV /** * Click the first available pie chart segment and assert the URL navigates to - * {@code /data-quality/test-cases} carrying ANY {@code testCaseStatus=} param. + * {@code /data-quality/test-cases} carrying ANY {@code testCaseStatus} param. * Recharts only renders segments for non-zero data and the rendering order isn't * stable across data shapes, so this method asserts the navigation contract * rather than a specific segment-to-status mapping. + * + *
The status filter is multi-select, so a segment may map to one status + * ({@code testCaseStatus=Failed}) or several, which serialize with bracket array + * syntax ({@code testCaseStatus[]=Failed&testCaseStatus[]=Aborted}, URL-encoded as + * {@code testCaseStatus%5B%5D=}). The pattern accepts the bare, literal-bracket, and + * encoded-bracket forms so both single- and multi-status pies satisfy the contract. */ public DataQualityDashboardPage clickPieChartSegmentExpectsStatusNav(final String chartId) { final Locator segment = @@ -68,7 +74,7 @@ public DataQualityDashboardPage clickPieChartSegmentExpectsStatusNav(final Strin .isVisible(new LocatorAssertions.IsVisibleOptions().setTimeout(15_000)); segment.evaluate("el => el.dispatchEvent(new MouseEvent('click', { bubbles: true }))"); page.waitForURL( - Pattern.compile("/data-quality/test-cases.*testCaseStatus="), + Pattern.compile("/data-quality/test-cases.*testCaseStatus(%5B%5D|\\[\\])?="), new Page.WaitForURLOptions().setTimeout(20_000)); return this; }