fix: quick add opens create ui
Add createKey to quick-add manifests and client create dialog host. FAB and command palette open in-place create UIs instead of navigating away.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import { expect, test, type Page } from "@playwright/test";
|
||||
|
||||
async function ensureSignedIn(page: Page) {
|
||||
await page.goto("/");
|
||||
const devLogin = page.getByRole("button", { name: "Dev login" });
|
||||
if (await devLogin.isVisible().catch(() => false)) {
|
||||
await devLogin.click();
|
||||
await page.waitForURL((url) => url.pathname === "/");
|
||||
}
|
||||
await expect(page.getByRole("heading", { name: "Dashboard" })).toBeVisible();
|
||||
}
|
||||
|
||||
test.describe("quick-add create UI", () => {
|
||||
test("FAB opens new note dialog on dashboard", async ({ page }) => {
|
||||
await ensureSignedIn(page);
|
||||
|
||||
await page.getByRole("button", { name: "Quick add" }).click();
|
||||
await expect(page.getByRole("dialog", { name: "Quick add" })).toBeVisible();
|
||||
|
||||
await page.getByRole("button", { name: "New note" }).click();
|
||||
|
||||
await expect(page).toHaveURL("/");
|
||||
await expect(page.getByRole("dialog", { name: "New note" })).toBeVisible();
|
||||
await expect(page.getByLabel("Title")).toBeVisible();
|
||||
await expect(page.getByLabel("Body")).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: "Save note" })).toBeVisible();
|
||||
});
|
||||
|
||||
test("command palette opens new event dialog on dashboard", async ({ page }) => {
|
||||
await ensureSignedIn(page);
|
||||
|
||||
const isMac = await page.evaluate(() => /Mac|iPhone|iPad|iPod/.test(navigator.platform));
|
||||
await page.keyboard.press(isMac ? "Meta+k" : "Control+k");
|
||||
|
||||
await expect(page.getByRole("dialog", { name: "Command palette" })).toBeVisible();
|
||||
await page.getByRole("option", { name: /New event/i }).click();
|
||||
|
||||
await expect(page).toHaveURL("/");
|
||||
await expect(page.getByRole("dialog", { name: "New event" })).toBeVisible();
|
||||
await expect(page.getByLabel("Title")).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: "Save event" })).toBeVisible();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user