import { expect, test } from "@playwright/test"; test("create, filter, complete and reload a local task", async ({ page }) => { const errors: string[] = []; page.on("pageerror", (error) => errors.push(error.message)); await page.goto("/projects/widefrog/tasks"); await expect(page.getByRole("heading", { name: "Tasks", exact: true })).toBeVisible(); await page.getByRole("button", { name: "New Task", exact: true }).click(); await page.getByLabel("Task Title").fill("Task queue browser regression"); await page.getByLabel("Linked Feature").click(); await page.getByRole("option").first().click(); await page.getByRole("button", { name: "Create Task", exact: true }).click(); await page.getByRole("textbox", { name: "Search tasks", exact: true }).fill("Task queue browser regression"); await expect(page.getByText("Task queue browser regression", { exact: true })).toBeVisible(); await page.getByRole("checkbox", { name: "Mark Task queue browser regression done", exact: true }).check(); await page.reload(); await expect(page.getByRole("checkbox", { name: "Mark Task queue browser regression done", exact: true })).toBeChecked(); await expect(page.getByRole("textbox", { name: "Search tasks", exact: true })).toHaveValue("Task queue browser regression"); await page.getByRole("textbox", { name: "Search tasks", exact: true }).fill("no-such-task-xyz"); await expect(page.getByText("No matching tasks", { exact: true })).toBeVisible(); await page.getByRole("button", { name: "Clear filters" }).click(); await expect(page.getByText("Task queue browser regression", { exact: true })).toBeVisible(); expect(errors).toEqual([]); });