import assert from "node:assert/strict"; import { readFileSync } from "node:fs"; import path from "node:path"; const root = process.cwd(); function readSource(relativePath) { return readFileSync(path.join(root, relativePath), "utf8"); } const inventory = readSource("src/views/InventoryLedgerView.vue"); const delivery = readSource("src/views/DeliveryManagementView.vue"); const app = readSource("src/App.vue"); const router = readSource("src/router/index.js"); const deliveryWorkspace = readSource("src/views/DeliveryWorkspaceView.vue"); assert.match(inventory, /delivery_mode:\s*"SALES_ORDER"/, "sales-out form should default to sales-order delivery mode"); assert.match(inventory, /直接客户发货/, "warehouse sales-out drawer should support direct customer delivery"); assert.match(inventory, /销售订单发货/, "warehouse sales-out drawer should keep sales-order delivery mode"); assert.match(inventory, /isSalesOrderDelivery/, "sales-out drawer should centralize mode-dependent behavior"); assert.match(inventory, /setDeliveryMode\("DIRECT_CUSTOMER"\)/, "direct customer mode should be selectable"); assert.match(inventory, /deliveryForm\.delivery_mode === "SALES_ORDER"/, "sales order fields should be conditional"); assert.match(inventory, /source_material_summary/, "pre-submit allocation rows should expose source material summary"); assert.match(inventory, />来源材料摘要成品库存批次号来源原材料库存批次号销售订单号