diff --git a/e2e/invoice-columns.spec.ts b/e2e/invoice-columns.spec.ts index 6a7ff2f..27e6914 100644 --- a/e2e/invoice-columns.spec.ts +++ b/e2e/invoice-columns.spec.ts @@ -27,4 +27,28 @@ test.describe("Invoice Processing columns drawer (AP-45)", () => { page.getByTestId("grid-pending").locator('.MuiDataGrid-columnHeader[data-field="tagging"]'), ).toBeVisible(); }); + + test("locked Vendor column stays visible and Reset clears the hidden search", async ({ + page, + }) => { + await page.goto("/"); + await page.getByTestId("columns-toggle").click(); + const drawer = page.getByTestId("columns-drawer"); + const vendorBox = drawer.getByTestId("columns-visible-vendor").locator('input[type="checkbox"]'); + await expect(vendorBox).toBeDisabled(); + await vendorBox.evaluate((el: HTMLInputElement) => { + el.disabled = false; + el.click(); + }); + await expect( + page.getByTestId("grid-pending").locator('.MuiDataGrid-columnHeader[data-field="vendor"]'), + ).toBeVisible(); + + const search = drawer.getByTestId("columns-hidden-search"); + await search.fill("no-such-column"); + await drawer.getByTestId("columns-selector-reset-button").evaluate((el: HTMLElement) => { + el.click(); + }); + await expect(search).toHaveValue(""); + }); }); diff --git a/src/dashboard/ColumnsDrawer.tsx b/src/dashboard/ColumnsDrawer.tsx index 415d3b6..2ccaa95 100644 --- a/src/dashboard/ColumnsDrawer.tsx +++ b/src/dashboard/ColumnsDrawer.tsx @@ -143,7 +143,15 @@ export function ColumnsDrawer({ Columns - diff --git a/src/dashboard/DashboardGrids.tsx b/src/dashboard/DashboardGrids.tsx index 7a99859..5eee4cb 100644 --- a/src/dashboard/DashboardGrids.tsx +++ b/src/dashboard/DashboardGrids.tsx @@ -5,7 +5,7 @@ import { ColumnsDrawer } from "@/dashboard/ColumnsDrawer"; import { InvoiceFilterToolbar } from "@/dashboard/InvoiceFilterToolbar"; import { CreatePayRunButton } from "@/dashboard/CreatePayRunButton"; import { InvoiceDataGrid } from "@/dashboard/InvoiceDataGrid"; -import { columnsFromCatalogKeys, readyToPayColumns } from "@/dashboard/columns"; +import { columnsFromCatalogKeys } from "@/dashboard/columns"; import { loadColumnPrefs, resetColumnPrefs, @@ -287,7 +287,7 @@ export function DashboardGrids() { setSelection(model)}