| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import assert from 'node:assert/strict'
- import test from 'node:test'
- import {
- canEditDeviceSemantics,
- canReviewDeviceSemantics,
- codeStatusLabel,
- codeTypeLabel,
- semanticCoverage
- } from '../src/views/dataGovernance/ontology/deviceSemanticsModel.js'
- test('separates device semantic editing from accountable review', () => {
- assert.equal(
- canEditDeviceSemantics(['device-semantics:edit']),
- true
- )
- assert.equal(
- canReviewDeviceSemantics(['device-semantics:edit']),
- false
- )
- assert.equal(
- canReviewDeviceSemantics(['device-semantics:review']),
- true
- )
- })
- test('presents governed code types and workflow states in Chinese', () => {
- assert.equal(codeTypeLabel('fault'), '故障')
- assert.equal(codeTypeLabel('cause'), '原因')
- assert.equal(codeTypeLabel('action'), '措施')
- assert.equal(codeStatusLabel('in_review'), '待审批')
- assert.equal(codeStatusLabel('published'), '已发布')
- })
- test('summarizes semantic coverage without dividing by zero', () => {
- assert.deepEqual(
- semanticCoverage({
- class_count: 11,
- relation_count: 10,
- mapping_count: 6,
- missing_classes: [],
- missing_relations: [],
- missing_mappings: []
- }),
- { covered: 27, missing: 0, total: 27, percent: 100 }
- )
- assert.deepEqual(
- semanticCoverage({}),
- { covered: 0, missing: 0, total: 0, percent: 0 }
- )
- })
|