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");