import { expect, test } from "@playwright/test"; test.describe("detail page back navigation", () => { test("plant detail returns to plants tab", async ({ page }) => { const suffix = Date.now().toString(); const plantName = `Back Nav Plant ${suffix}`; await page.goto("/garden?tab=plants"); await page.getByRole("link", { name: /add plant/i }).click(); await page.getByLabel("Name").fill(plantName); await page.getByRole("button", { name: /create/i }).click(); await expect(page).toHaveURL(/\/garden\/plants\//); const backLink = page.getByRole("link", { name: "Back to Plants" }); await expect(backLink).toBeVisible(); await backLink.click(); await expect(page).toHaveURL(/\/garden\?tab=plants$/); await expect(page.getByRole("heading", { name: "Garden" })).toBeVisible(); await page.getByText(plantName).click(); await page.getByRole("button", { name: /delete/i }).click(); await page.getByRole("button", { name: /confirm/i }).click(); }); test("note detail returns to notes index", async ({ page }) => { const suffix = Date.now().toString(); const title = `Back Nav Note ${suffix}`; await page.goto("/notes/new"); await page.getByLabel("Title").fill(title); await page.getByRole("button", { name: "Save note" }).click(); await expect(page).toHaveURL(/\/notes\/[0-9a-f-]+$/); const backLink = page.getByRole("link", { name: "Back to Notes" }); await expect(backLink).toBeVisible(); await backLink.click(); await expect(page).toHaveURL(/\/notes$/); await expect(page.getByRole("heading", { name: "Notes" })).toBeVisible(); await page.getByRole("link", { name: new RegExp(title) }).click(); await page.getByRole("button", { name: "Delete note" }).click(); }); test("list detail returns to lists index", async ({ page }) => { const suffix = Date.now().toString(); const listName = `Back Nav List ${suffix}`; await page.goto("/lists"); 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(); const backLink = page.getByRole("link", { name: "Back to Lists" }); await expect(backLink).toBeVisible(); await backLink.click(); await expect(page).toHaveURL(/\/lists$/); await expect(page.getByRole("heading", { name: "Lists" })).toBeVisible(); }); });