Files
KArtSell.Aegis/docs/Design/kbx-foundation-v36/tests/unit/kbx-template-state-matrix.contract.spec.ts
T

16 lines
893 B
TypeScript

import { describe, expect, it } from 'vitest'
import { kbxTemplateManifest } from '@kbx/ui'
describe('KBX template state matrix',()=>{
it('requires explicit idle/runtime/permission states where applicable',()=>{
const byCode=new Map(kbxTemplateManifest.map(item=>[item.code,item]))
expect(byCode.get('T01')?.runtimeStates).toContain('idle')
for(const template of kbxTemplateManifest)expect(template.stateCapabilities).toContain('permission')
expect(byCode.get('T02')?.stateCapabilities).toEqual(expect.arrayContaining(['dirty','conflict']))
expect(byCode.get('T03')?.stateCapabilities).toEqual(expect.arrayContaining(['dirty','conflict','validation']))
expect(byCode.get('T04')?.stateCapabilities).toContain('validation')
expect(byCode.get('T08')?.stateCapabilities).toContain('job')
expect(byCode.get('T09')?.stateCapabilities).toContain('network')
})
})