import assert from "node:assert/strict";
import fs from "node:fs";
import path from "node:path";

const viewPath = path.resolve("src/views/InventoryLedgerView.vue");
const source = fs.readFileSync(viewPath, "utf8");

assert.match(source, /<span>包装备注<\/span>/, "sales out drawer should show the packaging remark field");

assert.match(
  source,
  /placeholder="有无提供篮子等"/,
  "packaging remark field should guide the user with the requested placeholder"
);

assert.match(
  source,
  /remark:\s*""/,
  "delivery form state should include a remark field so the packaging remark is reset with the drawer"
);

assert.match(
  source,
  /remark:\s*deliveryForm\.remark\s*\|\|\s*null,[\s\S]*items:\s*allocationRows\.value\.map/,
  "sales out payload should persist the packaging remark on the delivery header"
);

assert.match(
  source,
  /unit_price:\s*Number\(selectedSalesOrderItem\.value\?\.unit_price\s*\|\|\s*0\),\s*remark:\s*deliveryForm\.remark\s*\|\|\s*null/,
  "sales out payload should copy the packaging remark onto generated delivery detail rows"
);

console.log("sales out packaging remark checks passed");
