From da728687a335c7f05441dba892b81c9615e39c08 Mon Sep 17 00:00:00 2001 From: Pranita Fulsundar Date: Mon, 28 Jul 2025 18:14:42 +0530 Subject: [PATCH] fix(test): ExploreTree.spec (#22606) * fix explore tree tests * fix test --------- Co-authored-by: Aniket Katkar --- .../playwright/e2e/Pages/ExploreTree.spec.ts | 64 +++++++++++-------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExploreTree.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExploreTree.spec.ts index bb0b4868b1c..22c01a2cc41 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExploreTree.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExploreTree.spec.ts @@ -51,7 +51,7 @@ test.beforeEach(async ({ page }) => { await sidebarClick(page, SidebarItem.EXPLORE); }); -test.describe('Explore Tree scenarios ', () => { +test.describe('Explore Tree scenarios', () => { test('Explore Tree', async ({ page }) => { await test.step('Check the explore tree', async () => { await page.waitForLoadState('networkidle'); @@ -60,15 +60,30 @@ test.describe('Explore Tree scenarios ', () => { state: 'detached', }); - await expect(page.getByRole('tree')).toContainText('Databases'); - await expect(page.getByRole('tree')).toContainText('Dashboards'); - await expect(page.getByRole('tree')).toContainText('Pipelines'); - await expect(page.getByRole('tree')).toContainText('Topics'); - await expect(page.getByRole('tree')).toContainText('ML Models'); - await expect(page.getByRole('tree')).toContainText('Containers'); - await expect(page.getByRole('tree')).toContainText('Search Indexes'); - await expect(page.getByRole('tree')).toContainText('Governance'); - await expect(page.getByRole('tree')).toContainText('APIs'); + await expect( + page.getByTestId('explore-tree-title-Databases') + ).toContainText('Databases'); + await expect( + page.getByTestId('explore-tree-title-Dashboards') + ).toContainText('Dashboards'); + await expect( + page.getByTestId('explore-tree-title-Pipelines') + ).toContainText('Pipelines'); + await expect(page.getByTestId('explore-tree-title-Topics')).toContainText( + 'Topics' + ); + await expect( + page.getByTestId('explore-tree-title-ML Models') + ).toContainText('ML Models'); + await expect( + page.getByTestId('explore-tree-title-Containers') + ).toContainText('Containers'); + await expect( + page.getByTestId('explore-tree-title-Search Indexes') + ).toContainText('Search Indexes'); + await expect( + page.getByTestId('explore-tree-title-Governance') + ).toContainText('Governance'); await page .locator('div') @@ -77,18 +92,12 @@ test.describe('Explore Tree scenarios ', () => { .first() .click(); - await expect(page.getByRole('tree')).toContainText('Glossaries'); - await expect(page.getByRole('tree')).toContainText('Tags'); - - // APIs - await page - .locator('div') - .filter({ hasText: /^APIs$/ }) - .locator('svg') - .first() - .click(); - - await expect(page.getByRole('tree')).toContainText('rest'); + await expect( + page.getByTestId('explore-tree-title-Glossaries') + ).toContainText('Glossaries'); + await expect(page.getByTestId('explore-tree-title-Tags')).toContainText( + 'Tags' + ); }); await test.step('Check the quick filters', async () => { @@ -285,6 +294,8 @@ test.describe('Explore page', () => { }); test.beforeEach('Setup pre-requisits', async ({ page }) => { + test.slow(true); + const { apiContext, afterAction } = await getApiContext(page); await table.create(apiContext); await glossary.create(apiContext); @@ -308,6 +319,8 @@ test.describe('Explore page', () => { }); test.afterEach('Cleanup', async ({ page }) => { + test.slow(true); + const { apiContext, afterAction } = await getApiContext(page); await table.delete(apiContext); await glossary.delete(apiContext); @@ -380,17 +393,16 @@ test.describe('Explore page', () => { const buckets = response.aggregations?.['sterms#entityType']?.buckets ?? []; - const bucketMap = new Map(buckets.map((b: Bucket) => [b.key, b.doc_count])); - const filteredAssets = DATA_ASSETS.filter((asset) => - bucketMap.has(asset.key) + buckets.find((b: Bucket) => b.key === asset.key) ); let i = 0; do { const asset = filteredAssets[i]; - const doc_count = Number(bucketMap.get(asset.key) ?? 0); + const bucket = buckets.find((b: Bucket) => b.key === asset.key); + const doc_count = Number(bucket.doc_count); const tab = page.getByTestId(`${asset.label}-tab`); if (i !== 0) {