Files
projectbrain-Public/e2e/task-queue.spec.ts
T

25 lines
1.6 KiB
TypeScript

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([]);
});