27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
|
|
test("lists happy path", async ({ page }) => {
|
|
const suffix = Date.now().toString();
|
|
const listName = `E2E List ${suffix}`;
|
|
const itemText = `E2E Item ${suffix}`;
|
|
|
|
await page.goto("/lists");
|
|
await expect(page.getByRole("heading", { name: "Lists" })).toBeVisible();
|
|
|
|
await page.getByLabel("Type").fill("task");
|
|
await page.getByLabel("Name").fill(listName);
|
|
await page.getByRole("button", { name: "New list" }).click();
|
|
await page.getByRole("link", { name: new RegExp(listName) }).click();
|
|
|
|
await page.getByLabel("Add item").fill(itemText);
|
|
await page.keyboard.press("Enter");
|
|
await expect(page.getByLabel(`${itemText} text`)).toBeVisible();
|
|
|
|
await page.getByLabel(`Complete ${itemText}`).check();
|
|
await expect(page.getByLabel(`Complete ${itemText}`)).toBeChecked();
|
|
|
|
await page.getByRole("button", { name: "Archive list" }).click();
|
|
await expect(page).toHaveURL(/\/lists$/);
|
|
await expect(page.getByRole("link", { name: new RegExp(listName) })).toBeHidden();
|
|
});
|