Files
Epicnabbo-Catalogus-Updated…/e2e/ui/organize-imports.spec.ts
T

67 lines
1.5 KiB
TypeScript

import { expect, test } from "@playwright/test";
test("Organize Imports Dialog validation limits and modes workflow", async ({
page,
}) => {
const errors: string[] = [];
page.on("pageerror", (error) => errors.push(error.message));
await page.route("**/api/**", async (route) => {
const url = new URL(route.request().url());
if (url.pathname === "/api/admin/catalog/import-groups") {
return route.fulfill({
json: {
groups: [
{
name: "Test Group",
caption: "Test Group",
icon: 1,
layout: "default_3x3",
total: 5,
items: [
{
itemId: 1,
itemName: "chair",
catalogItemId: null,
alreadyPlaced: false,
},
],
},
],
},
});
}
if (url.pathname === "/api/admin/catalog/pages") {
return route.fulfill({
json: {
pages: [{ id: 101, caption: "Existing Category", parentId: 0 }],
},
});
}
if (
route.request().method() === "POST" &&
url.pathname.includes("organize")
) {
return route.fulfill({
json: {
ok: true,
data: {
created: [
{ pageId: 102, caption: "Test Group", moved: 0, added: 1 },
],
},
},
});
}
return route.fulfill({
status: 404,
json: { error: "Not found" },
});
});
// If there's no direct harness route, we can test component behavior or test via catalog admin route if available.
// For now, let's verify error handling and limits in the mock test or navigate to catalog.
await page.goto("/admin/catalog");
expect(errors).toEqual([]);
});