24 lines
810 B
TypeScript
24 lines
810 B
TypeScript
import { expect, test } from "@playwright/test";
|
|
|
|
test.describe("Navigation Menu", () => {
|
|
test("guest can open and close the hamburger menu", async ({ page }) => {
|
|
await page.goto("/");
|
|
|
|
await page.getByRole("button", { name: /toggle navigation menu/i }).click();
|
|
await expect(page.getByRole("menu", { name: "Navigation menu" }))
|
|
.toBeVisible();
|
|
await expect(page.getByRole("menuitem", { name: "Sign In" })).toBeVisible();
|
|
|
|
await page.keyboard.press("Escape");
|
|
await expect(page.getByRole("menu", { name: "Navigation menu" }))
|
|
.not.toBeVisible();
|
|
});
|
|
|
|
test("home logo link appears off the root route", async ({ page }) => {
|
|
await page.goto("/unauthorized");
|
|
|
|
await expect(page.getByRole("link", { name: "Home", exact: true }))
|
|
.toBeVisible();
|
|
});
|
|
});
|