diff --git a/apps/web/playwright/filter-helpers.ts b/apps/web/playwright/filter-helpers.ts index e0d24dbe08..5ac092db51 100644 --- a/apps/web/playwright/filter-helpers.ts +++ b/apps/web/playwright/filter-helpers.ts @@ -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 { - 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(); diff --git a/apps/web/playwright/filter-segment.e2e.ts b/apps/web/playwright/filter-segment.e2e.ts index b8ec89d43b..9719e156a1 100644 --- a/apps/web/playwright/filter-segment.e2e.ts +++ b/apps/web/playwright/filter-segment.e2e.ts @@ -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"); diff --git a/apps/web/playwright/team/team-invitation.e2e.ts b/apps/web/playwright/team/team-invitation.e2e.ts index a50210b0b9..fb934709eb 100644 --- a/apps/web/playwright/team/team-invitation.e2e.ts +++ b/apps/web/playwright/team/team-invitation.e2e.ts @@ -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);