Problem
PR #27200 shipped a significant UI refactor of the Ontology Explorer, fixing glossary term positioning for large datasets and adding MAX_SAFE_PAGES concurrency guards to prevent infinite loops in API pagination. However, no Playwright E2E test was added alongside this change.
The existing Glossary.spec.ts is known to be flaky (flagged in PR #24937), and the specific interactions that PR #27200 introduced term reordering, pagination boundary handling, and the new MAX_SAFE_PAGES guard are not covered by any existing test.
This means:
- The infinite-loop protection logic has no automated regression test
- Term drag-and-drop reordering in the Ontology Explorer has no E2E coverage
- Pagination with large glossary datasets (the core scenario of the fix) is untested at the UI layer
Expected Behavior
When a glossary has more terms than one page can display:
- The Ontology Explorer should correctly paginate and display page controls
- Dragging a term to reorder it should persist the new position via API
- Clicking past MAX_SAFE_PAGES should gracefully stop fetching, not loop
Suggested Test Cases
OntologyExplorerPagination.spec.ts
- should display pagination controls when glossary exceeds MAX_SAFE_PAGES terms
- should stop fetching after MAX_SAFE_PAGES and show remaining count
- should persist reordered term position after page navigation
- should not trigger infinite pagination loop on rapid next-click
GlossaryReorder.spec.ts (split from flaky Glossary.spec.ts)
- should allow drag-and-drop reordering of glossary terms
- should reflect reordered position in API response after save
- should revert position if reorder is cancelled
Relevant Files
- openmetadata-ui/src/main/resources/ui/src/pages/OntologyVersion/ OntologyVersion.component.tsx (or similar path for Ontology Explorer)
- playwright/e2e/Features/Glossary/Glossary.spec.ts (existing to replace or extend)
- playwright/e2e/Features/Glossary/GlossaryReorder.spec.ts (new file)
- playwright/e2e/Features/Glossary/OntologyExplorerPagination.spec.ts (new file)
Problem
PR #27200 shipped a significant UI refactor of the Ontology Explorer, fixing glossary term positioning for large datasets and adding MAX_SAFE_PAGES concurrency guards to prevent infinite loops in API pagination. However, no Playwright E2E test was added alongside this change.
The existing Glossary.spec.ts is known to be flaky (flagged in PR #24937), and the specific interactions that PR #27200 introduced term reordering, pagination boundary handling, and the new MAX_SAFE_PAGES guard are not covered by any existing test.
This means:
Expected Behavior
When a glossary has more terms than one page can display:
Suggested Test Cases
OntologyExplorerPagination.spec.ts
GlossaryReorder.spec.ts (split from flaky Glossary.spec.ts)
Relevant Files