mirror of
https://github.com/Sea-Haven-Industries/seahaven-ap.git
synced 2026-10-02 22:43:14 +00:00
54 lines
2 KiB
TypeScript
54 lines
2 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
|
|
test.describe("Invoice Processing columns drawer (AP-45)", () => {
|
|
test("Columns drawer can hide Tagging and Reset restores it", async ({ page }) => {
|
|
await page.goto("/");
|
|
await expect(
|
|
page.getByTestId("grid-pending").locator('.MuiDataGrid-columnHeader[data-field="tagging"]'),
|
|
).toBeVisible();
|
|
|
|
await page.getByTestId("columns-toggle").click();
|
|
const drawer = page.getByTestId("columns-drawer");
|
|
await expect(drawer).toBeVisible();
|
|
|
|
const taggingRow = drawer.getByTestId("columns-visible-tagging");
|
|
await taggingRow.scrollIntoViewIfNeeded();
|
|
await taggingRow.locator('input[type="checkbox"]').evaluate((el: HTMLInputElement) => {
|
|
el.click();
|
|
});
|
|
await expect(
|
|
page.getByTestId("grid-pending").locator('.MuiDataGrid-columnHeader[data-field="tagging"]'),
|
|
).toHaveCount(0);
|
|
|
|
await drawer.getByTestId("columns-selector-reset-button").evaluate((el: HTMLElement) => {
|
|
el.click();
|
|
});
|
|
await expect(
|
|
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("");
|
|
});
|
|
});
|