From 58f95e9e98fec96e05d9853969706a8980b92e8d Mon Sep 17 00:00:00 2001 From: Ashish Gupta Date: Wed, 15 Jan 2025 17:47:53 +0530 Subject: [PATCH] MINOR: fix the wrong team count displayed on team tab (#19368) * fix the wrong team count displayed on team tab * added playwright test for checking counts --- .../ui/playwright/e2e/Pages/Teams.spec.ts | 3 +++ .../src/main/resources/ui/playwright/utils/team.ts | 14 ++++++++++++++ .../Settings/Team/TeamDetails/TeamDetailsV1.tsx | 7 ++----- .../resources/ui/src/pages/TeamsPage/TeamsPage.tsx | 2 +- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Teams.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Teams.spec.ts index b4ce23d496a..f5c2650b8fa 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Teams.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Teams.spec.ts @@ -34,6 +34,7 @@ import { settingClick } from '../../utils/sidebar'; import { addTeamOwnerToEntity, addUserInTeam, + checkTeamTabCount, createTeam, hardDeleteTeam, searchTeam, @@ -114,6 +115,8 @@ test.describe('Teams Page', () => { test('Teams Page Flow', async ({ page }) => { await test.step('Create a new team', async () => { await settingClick(page, GlobalSettingOptions.TEAMS); + + await checkTeamTabCount(page); await page.waitForLoadState('networkidle'); await page.waitForSelector('[data-testid="add-team"]'); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/team.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/team.ts index 503984e340b..7229cd3c101 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/team.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/team.ts @@ -349,3 +349,17 @@ export const addUserInTeam = async (page: Page, user: UserClass) => { page.locator(`[data-testid="${userName.toLowerCase()}"]`) ).toBeVisible(); }; + +export const checkTeamTabCount = async (page: Page) => { + const fetchResponse = page.waitForResponse( + '/api/v1/teams/name/*?fields=*childrenCount*include=all' + ); + const response = await fetchResponse; + const jsonRes = await response.json(); + + await expect( + page.locator( + '[data-testid="teams"] [data-testid="count"] [data-testid="filter-count"]' + ) + ).toContainText(jsonRes.childrenCount.toString()); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx index ba4dee350f5..680d6e73222 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx @@ -210,11 +210,8 @@ const TeamDetailsV1 = ({ ); const teamCount = useMemo( - () => - isOrganization && currentTeam && currentTeam.childrenCount - ? currentTeam.childrenCount + 1 - : childTeamList.length, - [childTeamList, isOrganization, currentTeam.childrenCount] + () => currentTeam.childrenCount ?? childTeamList.length, + [childTeamList, currentTeam.childrenCount] ); const updateActiveTab = (key: string) => { history.push({ search: Qs.stringify({ activeTab: key }) }); diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/TeamsPage/TeamsPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/TeamsPage/TeamsPage.tsx index 7cde8c3d8cc..dde3fe706b2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/TeamsPage/TeamsPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/TeamsPage/TeamsPage.tsx @@ -288,8 +288,8 @@ const TeamsPage = () => { const res = await createTeam(teamData); if (res) { - fetchTeamBasicDetails(selectedTeam.name, true); handleAddTeam(false); + await fetchTeamBasicDetails(selectedTeam.name, true); loadAdvancedDetails(); } } catch (error) {