/** * 功能:静态检查订单创建与合同气瓶绑定使用正确的合同候选范围。 * 版本: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('配送合同候选检查通过:订单仅显示可履约合同,气瓶绑定仅显示草稿合同。');