ForgeFlow-ERP/frontend/scripts/test-inventory-ledger-transaction-ledger.mjs
2026-06-12 16:00:56 +08:00

26 lines
1.3 KiB
JavaScript

import fs from "node:fs";
import path from "node:path";
const root = process.cwd();
const viewPath = path.join(root, "src/views/InventoryLedgerView.vue");
const view = fs.readFileSync(viewPath, "utf8");
const checks = [
["ledger button exists", view.includes("openWarehouseLedgerDrawer") && view.includes("查看当前仓库出入库流水")],
["ledger drawer exists", view.includes("warehouseLedgerDrawerOpen") && view.includes("出入库流水")],
["ledger endpoint used", view.includes("/inventory/transaction-ledger")],
["warehouse tab drives ledger", view.includes("activeWarehouseType") && view.includes("activeInventoryLabel")],
["server pagination state exists", view.includes("warehouseLedgerPage") && view.includes("warehouseLedgerPageSize") && view.includes("warehouseLedgerTotal")],
["existing material stock detail remains", view.includes("openStockDetail(balance)") && view.includes("selectedTransactions")],
["six warehouse tabs still present", ["raw", "semi", "finished", "auxiliary", "scrap", "return"].every((key) => view.includes(`key: "${key}"`))]
];
const failed = checks.filter(([, passed]) => !passed);
if (failed.length) {
console.error("Warehouse transaction ledger UI checks failed:");
failed.forEach(([name]) => console.error(`- ${name}`));
process.exit(1);
}
console.log("Warehouse transaction ledger UI checks passed");