Skip to content

Conversation

@chirag-madlani
Copy link
Collaborator

@chirag-madlani chirag-madlani commented Dec 18, 2025

Describe your changes:

Fixes

I worked on ... because ...


Summary by Gitar

  • New utility function:
    • descriptionTableObject() in src/utils/TableColumn.util.tsx provides reusable description column configuration for table components
  • Code refactoring:
    • Replaced inline description column definitions in 30+ components (Container, Dashboard, Database, Drive, Custom Property, etc.) with new utility
  • Playwright test reliability:
    • Fixed flaky lineage tests by adding performZoomOut() for viewport visibility and replacing waitForTimeout() with waitForResponse() for proper async handling
  • Test coverage:
    • Added 9+ unit tests for descriptionTableObject() utility covering edge cases and integration scenarios

This will update automatically on new commits.


Type of change:

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

@github-actions
Copy link
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 64%
64.28% (50819/79056) 41.94% (24786/59101) 45.36% (7797/17189)

@sonarqubecloud
Copy link

@gitar-bot
Copy link

gitar-bot bot commented Dec 18, 2025

🔍 CI failure analysis for 1ea2095: Glossary async delete test fails because entity not found during bulk delete operation.

Issue

The Playwright test Glossary tests › Async Delete - multiple deletes with mixed results is failing with an unexpected error message during bulk delete operations.

Root Cause

The test expects to see the message "Delete operation initiated" when performing bulk deletes, but instead receives an error:

glossary instance for "PW%'34fe59eb.Lively7d6f3769" not found

This indicates the glossary entity no longer exists when the delete operation attempts to process it.

Details

Error Location: Line 158 in playwright/utils/common.ts in the toastNotification function

Expected behavior:

await expect(page.getByTestId('alert-bar')).toHaveText(/Delete operation initiated/i)

Actual behavior: Alert bar shows "glossary instance for [name] not found" error

Test attempted: At line 1492 in Glossary.spec.ts during async delete test

Failure pattern:

  • Failed twice consecutively (initial run + retry Create teams page similar to tags #1)
  • Timeout of 5000ms waiting for expected text that never appears
  • Error message suggests a race condition or timing issue where the glossary entity is already deleted or doesn't exist

Potential Causes

  1. Race condition in bulk delete: Multiple delete operations may be attempting to delete the same glossary or related entities simultaneously, causing one to fail with "not found"

  2. Test cleanup issue: A previous test may have already deleted the glossary entity, leaving stale references

  3. Special characters in name: The glossary name contains special characters (PW%'34fe59eb.Lively7d6f3769) which might be causing issues with entity lookup or deletion

  4. Async delete timing: The async delete operation may be completing or partially completing before the expected notification appears, or the entity is being deleted by another process

Solution

The fix should address the race condition in the async delete test by:

  • Ensuring proper test isolation and cleanup between test runs
  • Verifying entities exist before attempting deletion
  • Handling the "not found" error gracefully or adjusting expectations for bulk delete scenarios
  • Potentially sanitizing special characters in test entity names
Code Review ✅ Approved

Clean test reliability improvements for Playwright E2E tests with proper async patterns.

What Works Well

  • Correctly moves waitForResponse before reload() to ensure the response listener is set up before triggering the action
  • Removes unreliable waitForLoadState('networkidle') which is a known anti-pattern in Playwright
  • Adds performZoomOut(page) to ensure elements are visible in viewport before assertions, improving test stability

The changes follow Playwright best practices for async handling and should make the E2E tests more reliable.

Tip

Comment Gitar fix CI or enable auto-apply: gitar auto-apply:on

Options

Auto-apply is off Gitar will not commit updates to this branch.
✅ Code review is on Gitar will review this change.
Display: compact Hiding non-applicable rules.

Comment with these commands to change:

Auto-apply ✅ Code review Compact
gitar auto-apply:on         
gitar code-review:off         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | This comment will update automatically (Docs)

@chirag-madlani chirag-madlani changed the base branch from main to fix-lineage-loader December 18, 2025 16:31
@chirag-madlani chirag-madlani merged commit e5869fc into fix-lineage-loader Dec 18, 2025
23 of 25 checks passed
@chirag-madlani chirag-madlani deleted the fix-flaky-lienage-specs branch December 18, 2025 16:32
chirag-madlani added a commit that referenced this pull request Dec 19, 2025
* ui: fix infinite loader issue in lineage section

* nit

* fix failing sonar

* nit

* Fix flaky lienage specs (#24893)

* chore(ui): handle description render common with util

* fix lint error

* fix unit tests

* fix unit tests

* add license to new file

* fix unit tests

* address copilot comments and if metric spec failure

* fix unit tests

* fix flaky domain spec failure

* fix domain spec issue

* remove afterAll block as not required

* fix(test): lineage spec failure for AUT

* fix certification test issue

* fix api wait issue on reload

* fix tour spec

---------

Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
harsh-vador added a commit that referenced this pull request Dec 19, 2025
* ui: fix infinite loader issue in lineage section

* nit

* fix failing sonar

* nit

* Fix flaky lienage specs (#24893)

* chore(ui): handle description render common with util

* fix lint error

* fix unit tests

* fix unit tests

* add license to new file

* fix unit tests

* address copilot comments and if metric spec failure

* fix unit tests

* fix flaky domain spec failure

* fix domain spec issue

* remove afterAll block as not required

* fix(test): lineage spec failure for AUT

* fix certification test issue

* fix api wait issue on reload

* fix tour spec

---------

Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
(cherry picked from commit 6e582da)
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 UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants