chore(ui): Add Test Case list filters while creating a bundle suite#26293
chore(ui): Add Test Case list filters while creating a bundle suite#26293shah-harshit wants to merge 5 commits intomainfrom
Conversation
…d E2E coverage - Add filters to AddTestCaseList: Status (single), Test type (single), Table (multi), Column (multi) - Use SearchDropdown for all four filters with hideCounts - Client-side filtering for Table/Column; API refetch for Status/Test type - Add AddTestCaseListFilters component and constants - Add AddTestCaseList.utils (getTableFilterOptions, getColumnFilterOptions, filterTestCasesByTableAndColumn, getSelectedOptionsFromKeys) - Unit tests: AddTestCaseList.component.test.tsx (filter tests), AddTestCaseList.utils.test.ts - E2E: TestSuite.spec.ts - flatten steps, verify/apply/clear filters in create flow Fixes open-metadata/openmetadata-collate#3045 Made-with: Cursor
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
...c/main/resources/ui/src/components/DataQuality/AddTestCaseList/AddTestCaseList.component.tsx
Show resolved
Hide resolved
|
@gitar-bot review the PR again. I have addressed your comments. |
Thanks for the update! I can confirm the The important finding regarding client-side Table/Column filtering is still present — If this is intentional (e.g., for simplicity or because the use case doesn't require filtering across all pages), please clarify and I'll close the finding. Otherwise, making Table/Column filters server-side (like Status/Test Type) would fully resolve it. |
|
@gitar-bot Table/Column filters on the client-side are intentional. |
Understood — client-side filtering for Table/Column is intentional. Thanks for clarifying! |
...c/main/resources/ui/src/components/DataQuality/AddTestCaseList/AddTestCaseList.component.tsx
Show resolved
Hide resolved
🔍 CI failure analysis for 62f0e8e: The `playwright-ci-postgresql (2, 6)` job fails due to a race condition in the new E2E test in `TestSuite.spec.ts` — `waitForResponse` is registered after the action that triggers the API call.IssueThe The definitive failure is: This failure persisted through retry #1 with the same error. Root CauseThe new test code introduced in this PR has a race condition in the await page.click('[data-testid="add-test-suite-btn"]'); // triggers API call
await page.fill('[data-testid="test-suite-name"]', ...);
await page.locator(descriptionBox).fill(...);
// ❌ waitForResponse registered AFTER the click that triggers the request
const initialListResponse = page.waitForResponse(
`/api/v1/dataQuality/testCases/search/list*`
);
await initialListResponse;
Details
Code Review ✅ Approved 3 resolved / 3 findingsUI enhancement adding test case list filters to bundle suite creation, with stale callback reference and missing useMemo dependency resolved. No remaining issues found. ✅ 3 resolved✅ Bug: onScroll callback has stale
|
| Auto-apply | Compact |
|
|
Was this helpful? React with 👍 / 👎 | Gitar
|



Description
Adds filters to the Add Test Case modal (when creating a test suite or adding test cases): Status (single), Test type (single), Table (multi), Column (multi). Uses SearchDropdown for all four; Table/Column are client-side filtered, Status/Test type trigger API refetch.
Screen.Recording.2026-03-06.at.7.06.03.PM.mov
Changes
filteredItemsfromfilterTestCasesByTableAndColumn, API refetch on Status/Test type changegetTableFilterOptions,getColumnFilterOptions,getSelectedOptionsFromKeys,filterTestCasesByTableAndColumnTEST_CASE_TYPE_FILTER_OPTIONS,TEST_CASE_STATUS_FILTER_OPTIONS(used by filters)search-dropdown-Status, etc.)Issue
Fixes https://github.com/open-metadata/openmetadata-collate/issues/3045
Made with Cursor