import { expect, test } from "@playwright/test" import { ApiClient } from "../api-client" import { SEED } from "../seed-constants" import { SEL } from "../selectors" const apiClient = new ApiClient() test.describe("Distributions Page @smoke", () => { test.beforeEach(async () => { await apiClient.login(SEED.admin.email, SEED.admin.password) await apiClient.resetDb() }) test("displays recent distributions from seed", async ({ page }) => { await page.goto("/distributions") // Verify distributions table/list is visible await expect( page.locator(SEL.distributions.table).or(page.getByRole("table")) ).toBeVisible() }) test("date filter works", async ({ page }) => { await page.goto("/distributions") // Look for filter buttons/tabs for today/week/month/all const todayFilter = page.getByRole("button", { name: /heute|today/i }) const allFilter = page.getByRole("button", { name: /alle|all/i }) if (await todayFilter.isVisible()) { await todayFilter.click() // Page should update (no error) await expect(page.locator("body")).toBeVisible() } if (await allFilter.isVisible()) { await allFilter.click() await expect(page.locator("body")).toBeVisible() } }) test("new distribution button navigates to form", async ({ page }) => { await page.goto("/distributions") const newBtn = page .locator(SEL.distributions.newButton) .or(page.getByRole("link", { name: /neue ausgabe|new/i })) await expect(newBtn).toBeVisible() await newBtn.click() await page.waitForURL(/\/distributions\/new/) }) test("shows gram total display", async ({ page }) => { await page.goto("/distributions") // The page should show some kind of total/summary await expect( page.getByText(/gramm|gesamt|total/i).first() ).toBeVisible() }) })