Skip to content

test(ui): re-enable Domains, Data Product & domain-rename E2E suites#30451

Open
siddhant1 wants to merge 5 commits into
mainfrom
sid/reenable-domains-dataproducts-e2e
Open

test(ui): re-enable Domains, Data Product & domain-rename E2E suites#30451
siddhant1 wants to merge 5 commits into
mainfrom
sid/reenable-domains-dataproducts-e2e

Conversation

@siddhant1

@siddhant1 siddhant1 commented Jul 24, 2026

Copy link
Copy Markdown
Member

ℹ️ Continuation of #30447 — re-opened from a branch on open-metadata/OpenMetadata (previously on a fork) so the Playwright E2E CI runs with full repository access. See #30447 for the earlier review discussion.

What & why

Re-enables Playwright E2E coverage that had been switched off — mostly by the bulk-skip in #29909 ("Skip failing main specs") plus a few one-off skips. When actually run against a current build, the vast majority already pass; this PR fixes the handful that had genuinely broken (all from UI-component migrations) and re-enables everything that is green.

Re-enabled + fixed

Suite Result Fix
Domains (9 describe suites) 49/49 green 47 already passed once run. Fixed the 2 real failures — both selector drift: "Add Assets" migrated to the core-ui asset-selection-modal Dialog (old form-heading testid gone); tree toggle is now a radio, not a button.
DomainDataProductsWidgets 6/6 green Marked test.describe.serial — the suite is one sequential scenario (assign widgets → add assets → verify → remove); parallel execution violated that ordering. Also fixed the data-product asset-removal count-timing bug: wait for the asset card to render before counting (count() doesn't auto-wait, so it read 0 and removed nothing).
GlossaryNavigation empty-state green Asserted the empty-glossary placeholder (message.no-glossary-term) instead of the "No Glossary Term found" row — that row only appears when a status filter matches nothing, not for a 0-term glossary.
Glossary "Request description task", EntityRenameConsolidation domain rename ×2 green Passed as-is; just unskipped.

Left skipped (blocked on product/BE work — documented in-code)

BulkImport is intentionally untouched.

Testing

All re-enabled tests verified green locally against a running stack (localhost:8585): Domains 49/49, DomainDataProductsWidgets 6/6, GlossaryNavigation empty-state, Glossary request-description-task, EntityRenameConsolidation domain-rename ×2.

🤖 Generated with Claude Code

Greptile Summary

Re-enables previously skipped Playwright coverage and updates selectors, empty-state assertions, suite ordering, and asset-removal synchronization.

  • Re-enables domain, glossary, data-product widget, and entity-rename scenarios.
  • Updates migrated UI selectors and glossary empty-state expectations.
  • Serializes the state-dependent widget suite and waits for asset cards before removal.

Confidence Score: 5/5

The PR appears safe to merge from this follow-up review because no additional blocking failure remains beyond the issue already covered by the existing inline thread.

No additional blocking failure remains.

Important Files Changed

Filename Overview
openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/EntityRenameConsolidation.spec.ts Re-enables two domain rename consolidation scenarios without changing their test logic.
openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Glossary/GlossaryNavigation.spec.ts Re-enables the empty-glossary scenario and aligns its assertion with the rendered placeholder.
openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts Runs the sequential widget workflow serially and synchronizes bulk asset removal with card rendering.
openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts Re-enables the domain suites and updates selectors for migrated modal and tree controls.
openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Glossary.spec.ts Re-enables the glossary-term description-task scenario; the existing inline thread already covers its unchanged login-page defect.

Reviews (3): Last reviewed commit: "Merge branch 'main' into sid/reenable-do..." | Re-trigger Greptile

siddhant1 and others added 3 commits July 24, 2026 14:03
Re-enables E2E coverage that was disabled by the mass-skip #29909 and a
few one-off skips, fixing the tests that had broken from UI migrations.

Fixed:
- Domains (9 suites): 47/49 already passed once run; fixed the 2 real
  failures, both migration selector drifts — "Add Assets" moved to the
  core-ui `asset-selection-modal` Dialog (old `form-heading` testid
  gone), and the tree toggle is now a `radio`, not a `button`.
- DomainDataProductsWidgets: marked `test.describe.serial` (the suite is
  one sequential scenario: assign widgets -> add assets -> verify ->
  remove), and fixed the data-product asset-removal count-timing bug —
  wait for the asset card to render before counting, otherwise count()
  reads 0 and removes nothing.
- GlossaryNavigation empty-state: assert the empty-glossary placeholder
  (message.no-glossary-term) instead of the "No Glossary Term found" row
  that only a non-matching status filter shows.

Unskipped as-is (passed without changes):
- Glossary "Request description task for Glossary Term"
- EntityRenameConsolidation domain rename (x2)

Left skipped (blocked on product/BE work, still documented):
- DataMarketplace x3 (routes removed in #27377)
- GlossaryStatusFilterNestedTerms x5 (flat nested status-filter results
  not implemented; status-only queries route through directChildrenOf)
- Glossary "Term should stay approved" (BE approval-workflow reverts it)

BulkImport is untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…dataproducts-e2e

# Conflicts:
#	openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts
@siddhant1
siddhant1 requested a review from a team as a code owner July 24, 2026 09:05
Copilot AI review requested due to automatic review settings July 24, 2026 09:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown
Contributor

❌ PR checklist incomplete

This PR cannot be merged until the following are addressed on its linked issue:

  • No GitHub issue is linked. Link an issue in the Development section of the PR (or add Fixes #12345 to the description). For a same-org cross-repo issue, add Fixes open-metadata/<repo>#123 to the description.

The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically.

Maintainers can bypass this check by adding the skip-pr-checks label.

@github-actions

Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@siddhant1 siddhant1 added safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check labels Jul 24, 2026
@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

🔴 Playwright Results — workflow failed

Validated commit 98909060f2e1e70ee178fe60940c9d72e75d5216 in Playwright run 30091061811, attempt 1.

✅ 0 passed · ❌ 0 failed · 🟡 0 flaky · ⏭️ 0 skipped · 🧰 0 lifecycle flaky

Pipeline and setup failures (2)

  • Shard chromium-01 did not upload a usable Playwright results artifact.
  • Shard chromium-01 did not upload its execution status.

Performance

Blocking targets: ✅ met · Optimization targets: 🟡 in progress

Shard-job maxima below are not the full workflow wall time; the linked run includes build, fixture, planning, and reporting.

🕒 Full workflow signal wall (to summary) 54m 21s

⏱️ Max setup 1m 35s · max shard execution 19m 9s · max shard-job elapsed before upload 22m 51s · reporting 4s

🌐 206.71 requests/attempt · 2.60 app boots/UI scenario · 0.00% common-shard skew

Optimization targets still in progress:

  • Browser traffic was 206.71 requests per attempt (convergence target: fewer than 200).
  • Application boot ratio was 2.6 per UI scenario (442 boots / 170 scenarios; convergence target: at most 1).
Shard Passed Failed Flaky Skipped Lifecycle failed Lifecycle flaky
⛔ Shard chromium-01

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

@siddhant1
siddhant1 enabled auto-merge (squash) July 24, 2026 10:07
@siddhant1
siddhant1 disabled auto-merge July 24, 2026 10:13
Copilot AI review requested due to automatic review settings July 24, 2026 10:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

await selectActiveGlossary(page, glossary1.data.displayName);
await selectActiveGlossaryTerm(page, glossaryTerm1.data.displayName);
test('Request description task for Glossary Term', async ({ browser }) => {
const { page, afterAction, apiContext } = await performAdminLogin(browser);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Authenticated page is never created

When the re-enabled description-task test runs, performAdminLogin(browser) takes the API-only path and returns no page, so the first sidebarClick receives undefined and the test fails before exercising the description-task workflow.

Copilot AI review requested due to automatic review settings July 24, 2026 11:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@gitar-bot

gitar-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Re-enables the Domains, Data Product, and domain-rename Playwright E2E suites by fixing selector drift, test timing, and assertion issues. No issues found.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants