fix: few flaky e2e tests (#24690)

* fix: flaky e2e tests

* fix one more flakes

* update
This commit is contained in:
Anik Dhabal Babu
2025-10-27 08:38:59 -03:00
committed by GitHub
parent 435587f043
commit f8ede75dd8
3 changed files with 13 additions and 8 deletions
+10 -6
View File
@@ -1,5 +1,6 @@
import type { Page } from "@playwright/test";
import { expect } from "@playwright/test";
import { submitAndWaitForResponse } from "playwright/lib/testUtils";
// Helper function to get text within a specific table column
export const getByTableColumnText = (page: Page, columnId: string, text: string) =>
@@ -142,11 +143,14 @@ export async function deleteSegment(page: Page, segmentName: string) {
await page.getByTestId("filter-segment-select-submenu-content").getByText("Delete").click();
await page
.locator('[role="dialog"]')
.filter({ hasText: "Delete Segment" })
.getByRole("button", { name: "Delete" })
.click();
await submitAndWaitForResponse(page, "/api/trpc/filterSegments/delete?batch=1", {
action: () =>
page
.locator('[role="dialog"]')
.filter({ hasText: "Delete Segment" })
.getByRole("button", { name: "Delete" })
.click(),
});
await page.keyboard.press("Escape");
await expect(page.getByText("Filter segment deleted")).toBeVisible();
@@ -156,7 +160,7 @@ export async function deleteSegment(page: Page, segmentName: string) {
* List all available segments
*/
export async function listSegments(page: Page): Promise<string[]> {
await page.getByTestId("filter-segment-select").click();
await page.getByTestId("filter-segment-select").nth(0).click();
const menuItems = page.locator('[data-testid="filter-segment-select-content"] [role="menuitem"]');
const count = await menuItems.count();
+2 -1
View File
@@ -78,6 +78,7 @@ test.describe("Filter Segment Functionality", () => {
await test.step("Can delete a filter segment", async () => {
await deleteSegment(page, "Admin Users");
await page.reload();
const segments = await listSegments(page);
expect(segments.includes(segmentName)).toBe(false);
@@ -109,7 +110,7 @@ test.describe("Filter Segment Functionality", () => {
await page.goto(`/settings/organizations/${org.slug}/members`);
const dataTable = page.getByTestId("user-list-data-table");
const dataTable = page.getByTestId('user-list-data-table').nth(0);
await expect(dataTable).toBeVisible();
await applySelectFilter(page, "role", "admin");
@@ -89,7 +89,7 @@ test.describe("Team", () => {
const context = await browser.newContext();
const inviteLinkPage = await context.newPage();
await inviteLinkPage.goto(inviteLink);
await inviteLinkPage.waitForLoadState("domcontentloaded");
await inviteLinkPage.waitForTimeout(3000);
await inviteLinkPage.locator("button[type=submit]").click();
await expect(inviteLinkPage.locator('[data-testid="field-error"]')).toHaveCount(2);