import { test, expect } from "@playwright/test"; import { login } from "./test-helpers"; test("seeded entries render with tags and no-tag state", async ({ page }) => { await login(page, "owner1@fiddy.dev", "FiddyDev123!"); await expect(page).toHaveURL("/"); await expect(page.getByRole("heading", { name: "Entries" })).toBeVisible(); await expect(page.getByText("$12.50")).toBeVisible(); await expect(page.getByText("#Food")).toBeVisible(); await expect(page.getByText("#Travel")).toBeVisible(); await expect(page.getByText("No tags")).toBeVisible(); }); test("entry details modal opens", async ({ page }) => { await login(page, "owner1@fiddy.dev", "FiddyDev123!"); await expect(page).toHaveURL("/"); await page.getByText("$12.50").click(); await expect(page.getByRole("heading", { name: "Entry details" })).toBeVisible(); await page.getByRole("button", { name: "Close" }).click(); await expect(page.getByRole("heading", { name: "Entry details" })).toBeHidden(); }); test("empty tag callout shows contact admin for members", async ({ page }) => { await login(page, "admin1@fiddy.dev", "FiddyDev123!"); await expect(page).toHaveURL("/"); const dropdown = page.getByRole("button", { name: /Group:/ }); await dropdown.click(); const waitSetActive = page.waitForResponse(res => res.url().includes("/api/groups/active") && res.request().method() === "POST"); await page.getByRole("button", { name: /Gamma Club/ }).click(); await waitSetActive; await page.getByRole("button", { name: "Add entry" }).click(); const callout = page.getByRole("button", { name: "No Tags Assigned Yet - Contact Your Group Admin" }); await expect(callout).toBeVisible(); await expect(callout).toBeDisabled(); }); test("empty tag callout navigates to settings for admins", async ({ page }) => { await login(page, "member1@fiddy.dev", "FiddyDev123!"); await expect(page).toHaveURL("/"); const dropdown = page.getByRole("button", { name: /Group:/ }); await dropdown.click(); const waitSetActive = page.waitForResponse(res => res.url().includes("/api/groups/active") && res.request().method() === "POST"); await page.getByRole("button", { name: /Gamma Club/ }).click(); await waitSetActive; await page.getByRole("button", { name: "Add entry" }).click(); await page.getByRole("button", { name: "No Tags Assigned Yet - Click To Assign Tags" }).click(); await expect(page).toHaveURL(/\/groups\/[0-9]+\/settings/); });