Files
platforms/frontend/platform_admin/scripts/check-gasorder-contract-candidates.mjs
2026-08-13 23:38:29 +08:00

21 lines
1.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 功能:静态检查订单创建与合同气瓶绑定使用正确的合同候选范围。
* 版本v1.0.0
*/
import assert from 'node:assert/strict';
import { readFileSync } from 'node:fs';
const resources = readFileSync(new URL('../src/api/resources.ts', import.meta.url), 'utf8');
const relations = readFileSync(new URL('../src/views/resource/use-resource-relations.ts', import.meta.url), 'utf8');
const linkage = readFileSync(new URL('../src/views/resource/use-resource-relation-linkage.ts', import.meta.url), 'utf8');
assert.match(resources, /relationFilters: \{ candidate: 'order' \}/, '订单创建必须只加载可履约合同');
assert.match(resources, /relationFilters: \{ candidate: 'binding' \}/, '合同气瓶绑定必须只加载草稿合同');
assert.match(resources, /暂无可下单的生效合同,请先启用或续签配送合同/, '订单页缺少无可用合同时的引导');
assert.match(resources, /暂无可绑定气瓶的草稿合同,请先新建配送合同/, '合同气瓶页缺少无草稿合同时的引导');
assert.match(resources, /relationStrictFilter: true/, '合同候选必须启用严格筛选');
assert.match(relations, /\.\.\.\(field\.relationFilters \?\? \{\}\)/, '关联请求未携带字段级筛选参数');
assert.match(linkage, /clearInvalidStrictSelections/, '刷新后未清理失效合同选择');
console.log('配送合同候选检查通过:订单仅显示可履约合同,气瓶绑定仅显示草稿合同。');