Files
docs/悦/货代SAAS平台后台/tests/verify-container-cost-trucking-supplier.cjs
T
2026-08-19 14:28:55 +08:00

24 lines
1.7 KiB
JavaScript

const assert = require('node:assert/strict');
const fs = require('node:fs');
const path = require('node:path');
const root = path.resolve(__dirname, '..');
const overlays = fs.readFileSync(path.join(root, 'prototype-src/overlays.html'), 'utf8');
const moduleHtml = fs.readFileSync(path.join(root, 'prototype-src/modules/06-containers.html'), 'utf8');
const appJs = fs.readFileSync(path.join(root, 'prototype-src/app.js'), 'utf8');
assert.ok(overlays.includes('id="cost-supplier-field"'), '新增费用缺少供应商控件容器');
assert.ok(overlays.includes('id="cost-supplier"'), '新增费用缺少供应商选择框');
assert.ok(overlays.includes('id="cost-supplier-field" style="margin-bottom:14px"'), '供应商控件不应默认隐藏');
assert.ok(!overlays.includes('onchange="syncCtCostSupplierField()"'), '费用类型不应再控制供应商显示');
assert.ok(moduleHtml.includes('onclick="openCtCostAdd()"'), '新增费用按钮未接入初始化函数');
assert.ok(appJs.includes('function openCtCostAdd'), '缺少新增费用初始化函数');
assert.ok(appJs.includes("(supplierData||[]).map(function(s)"), '供应商选项未使用全部供应商数据');
assert.ok(appJs.includes("if(!supplier){showToast('请选择供应商','error');return;}"), '保存未统一校验供应商');
assert.ok(!appJs.includes('function isCtCostSupplierRequired'), '不应保留仅拖车费判断函数');
assert.ok(!appJs.includes('function syncCtCostSupplierField'), '不应保留费用类型条件联动函数');
assert.ok(appJs.includes("(document.getElementById('cost-supplier')||{}).value||''"), '保存函数未读取供应商');
assert.ok(appJs.includes('supplier:supplier'), '费用记录未保存供应商');
console.log('货柜费用全项目供应商回归校验通过');