diff --git a/e2e/analyzer.spec.ts b/e2e/analyzer.spec.ts index 75201ac5c..9d0357ebf 100644 --- a/e2e/analyzer.spec.ts +++ b/e2e/analyzer.spec.ts @@ -71,6 +71,9 @@ test.describe("Build Analyzer", () => { await swimSpeedAbilityButtonLocator.click(); await expect(swimSpeedAbilityLocator).toBeVisible(); await swimSpeedAbilityButtonLocator.click(); + await expect( + page.locator("[data-testid='ability-selector'] [data-testid='SSU-ability']"), + ).toHaveCount(2); await page.getByTestId("ap-tab").click(); await expect(page.getByTestId("ap-compare-1").first()).toContainText( diff --git a/e2e/navigation.spec.ts b/e2e/navigation.spec.ts index f2643e76b..016b56170 100644 --- a/e2e/navigation.spec.ts +++ b/e2e/navigation.spec.ts @@ -27,21 +27,24 @@ test.describe("Navigation", () => { // TopNavMenus — Play await page.getByRole("button", { name: "Play" }).click(); - await expect(page.getByRole("link", { name: "SendouQ" })).toBeVisible(); - await expect(page.getByRole("link", { name: "Scrims" })).toBeVisible(); - await page.getByRole("link", { name: "SendouQ" }).click(); - await expect(page.getByRole("link", { name: "SendouQ" })).not.toBeVisible(); + const playMenu = page.locator("[class*='menuContent']"); + await expect(playMenu.getByRole("link", { name: "SendouQ" })).toBeVisible(); + await expect(playMenu.getByRole("link", { name: "Scrims" })).toBeVisible(); + await playMenu.getByRole("link", { name: "SendouQ" }).click(); + await expect(playMenu.getByRole("link", { name: "SendouQ" })).not.toBeVisible(); await navigate({ page, url: "/" }); // TopNavMenus — Tools await page.getByRole("button", { name: "Tools" }).click(); - await expect(page.getByRole("link", { name: "Analyzer" })).toBeVisible(); + const toolsMenu = page.locator("[class*='menuContent']"); + await expect(toolsMenu.getByRole("link", { name: "Analyzer" })).toBeVisible(); await page.keyboard.press("Escape"); // TopNavMenus — Community await page.getByRole("button", { name: "Community" }).click(); - await expect(page.getByRole("link", { name: "Builds" })).toBeVisible(); + const communityMenu = page.locator("[class*='menuContent']"); + await expect(communityMenu.getByRole("link", { name: "Builds" })).toBeVisible(); await page.keyboard.press("Escape"); // SideNav footer — user info @@ -69,9 +72,10 @@ test.describe("Navigation", () => { // Menu panel — open and verify contents await menuTab.click(); - await expect(page.getByRole("link", { name: "SendouQ" })).toBeVisible(); - await expect(page.getByRole("link", { name: "Analyzer" })).toBeVisible(); - await expect(page.getByRole("link", { name: "Builds" })).toBeVisible(); + const mobileMenu = page.getByLabel("Menu", { exact: true }); + await expect(mobileMenu.getByRole("link", { name: "SendouQ" })).toBeVisible(); + await expect(mobileMenu.getByRole("link", { name: "Analyzer" })).toBeVisible(); + await expect(mobileMenu.getByRole("link", { name: "Builds" })).toBeVisible(); await expect( page.locator("h3").filter({ hasText: "Streams" }), ).toBeVisible(); @@ -83,7 +87,7 @@ test.describe("Navigation", () => { .locator("[class*='ghostTab']:not([class*='ghostTabBar'])") .nth(1) .dispatchEvent("click"); - await expect(page.getByRole("link", { name: "SendouQ" })).not.toBeVisible(); + await expect(mobileMenu.getByRole("link", { name: "SendouQ" })).not.toBeVisible(); const friendsViewAll = page.getByRole("link", { name: /View all/ }); await expect(friendsViewAll).toBeVisible(); @@ -141,7 +145,8 @@ test.describe("Navigation", () => { // TopNavMenus still work await page.getByRole("button", { name: "Play" }).click(); - await expect(page.getByRole("link", { name: "SendouQ" })).toBeVisible(); + const tabletPlayMenu = page.locator("[class*='menuContent']"); + await expect(tabletPlayMenu.getByRole("link", { name: "SendouQ" })).toBeVisible(); await page.keyboard.press("Escape"); // MobileNav hidden diff --git a/e2e/tournament-bracket.spec.ts b/e2e/tournament-bracket.spec.ts index eeda557a5..d42d589e3 100644 --- a/e2e/tournament-bracket.spec.ts +++ b/e2e/tournament-bracket.spec.ts @@ -135,8 +135,10 @@ const reportResult = async ({ }; const backToBracket = async (page: Page) => { - await page.getByTestId("back-to-bracket-button").click(); - await expect(page.getByTestId("brackets-viewer")).toBeVisible(); + await expect(async () => { + await page.getByTestId("back-to-bracket-button").click({ timeout: 5000 }); + await expect(page.getByTestId("brackets-viewer")).toBeVisible(); + }).toPass(); }; const expectScore = (page: Page, score: [number, number]) => @@ -197,6 +199,7 @@ test.describe("Tournament bracket", () => { // 6) Try to reopen N-ZAP's first match and succeed // 7) As N-ZAP, undo all scores and switch to different team sweeping test("reports score and sees bracket update", async ({ page }) => { + test.slow(); const tournamentId = 2; await startBracket(page); @@ -496,6 +499,7 @@ test.describe("Tournament bracket", () => { test("changes SOS format and progresses with it & adds a member to another team", async ({ page, }) => { + test.slow(); const tournamentId = 4; await seed(page, "SMALL_SOS");