ForgeFlow-ERP/frontend/scripts/test-sales-order-item-promised-date-default.mjs
2026-06-12 16:00:56 +08:00

35 lines
1.0 KiB
JavaScript

import assert from "node:assert/strict";
import fs from "node:fs";
import path from "node:path";
const viewPath = path.resolve("src/views/SalesPlanningView.vue");
const source = fs.readFileSync(viewPath, "utf8");
assert.match(
source,
/promised_date_touched:\s*false/,
"new sales order lines should track whether line promised date was manually edited"
);
assert.match(
source,
/@input="markSalesOrderItemPromisedDateTouched\(item\)"/,
"line promised date input should mark the row as user-edited"
);
assert.match(
source,
/syncSalesOrderItemPromisedDatesFromHeader/,
"header promised date changes should synchronize eligible line dates"
);
assert.match(
source,
/!item\.promised_date_touched/,
"sync should only update untouched line promised dates"
);
assert.match(
source,
/promised_date:\s*item\.promised_date\s*\|\|\s*salesOrderForm\.promised_date\s*\|\|\s*null/,
"submit should fall back empty line dates to the sales order promised date"
);
console.log("sales order line promised date default checks passed");