Skip to content

Commit 08577ec

Browse files
committed
fix(e2e): fix flaky userDetails & users spec (#26917)
* fix(e2e): fix flaky userDetails & users spec * address gitar (cherry picked from commit a9ad2ae)
1 parent 9345a51 commit 08577ec

2 files changed

Lines changed: 35 additions & 29 deletions

File tree

openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/UserDetails.spec.ts

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -82,43 +82,47 @@ test.describe('User with different Roles', () => {
8282
await afterAction();
8383
});
8484

85-
test(
86-
'Admin user can edit teams from the user profile',
87-
PLAYWRIGHT_SAMPLE_DATA_TAG_OBJ,
88-
async ({ adminPage }) => {
89-
test.slow();
90-
await redirectToUserPage(adminPage);
85+
test('Admin user can edit teams from the user profile', async ({
86+
adminPage,
87+
}) => {
88+
test.slow();
89+
await visitUserProfilePage(adminPage, user1.getUserName());
9190

92-
// Check if the avatar is visible
93-
await expect(adminPage.getByTestId('user-profile-teams')).toBeVisible();
91+
// Check if the avatar is visible
92+
await expect(adminPage.getByTestId('user-profile-teams')).toBeVisible();
9493

95-
const teamsListResponse = adminPage.waitForResponse(
96-
(response) =>
97-
response.url().includes('/api/v1/teams/hierarchy') &&
98-
response.request().method() === 'GET'
99-
);
94+
const teamsListResponse = adminPage.waitForResponse(
95+
(response) =>
96+
response.url().includes('/api/v1/teams/hierarchy') &&
97+
response.request().method() === 'GET'
98+
);
10099

101-
await adminPage.getByTestId('edit-teams-button').click();
102-
await teamsListResponse;
100+
await adminPage.getByTestId('edit-teams-button').click();
101+
await teamsListResponse;
103102

104-
await adminPage.locator('.ant-tree-select-dropdown').waitFor({
105-
state: 'visible',
106-
});
103+
await adminPage.locator('.ant-tree-select-dropdown').waitFor({
104+
state: 'visible',
105+
});
107106

108-
const teamOption = adminPage
109-
.locator('[title="' + team.responseData.displayName + '"]')
110-
.first();
107+
const teamOption = adminPage
108+
.locator('[title="' + team.responseData.displayName + '"]')
109+
.first();
111110

112-
await expect(teamOption).toBeVisible();
113-
await teamOption.click();
111+
await expect(teamOption).toBeVisible();
112+
await teamOption.click();
114113

115-
await adminPage.getByTestId('teams-edit-save-btn').click();
114+
const saveTeamsResponse = adminPage.waitForResponse(
115+
(response) =>
116+
response.url().includes('/api/v1/users/') &&
117+
response.request().method() === 'PATCH'
118+
);
116119

117-
await expect(adminPage.getByTestId('user-profile-teams')).toContainText(
118-
team.responseData.displayName ?? team.data.displayName
119-
);
120-
}
121-
);
120+
await adminPage.getByTestId('teams-edit-save-btn').click();
121+
await saveTeamsResponse;
122+
await expect(adminPage.getByTestId('user-profile-teams')).toContainText(
123+
team.responseData.displayName ?? team.data.displayName
124+
);
125+
});
122126

123127
test('Create team with domain and verify visibility of inherited domain in user profile after team removal', async ({
124128
adminPage,

openmetadata-ui/src/main/resources/ui/playwright/utils/user.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -707,8 +707,10 @@ export const addUser = async (
707707
personas?: string[];
708708
}
709709
) => {
710+
await waitForAllLoadersToDisappear(page);
710711
await page.click('[data-testid="add-user"]');
711712

713+
await page.waitForResponse('/api/v1/roles?default=false&limit=100&fields=');
712714
await page.fill('[data-testid="email"]', email);
713715

714716
await page.fill('[data-testid="displayName"]', name);

0 commit comments

Comments
 (0)