feat: establish reproducible FreeCAD web compatibility baseline
This commit is contained in:
6
tests/productionDocument.test.ts
Normal file
6
tests/productionDocument.test.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { test } from 'node:test'
|
||||
import assert from 'node:assert/strict'
|
||||
import { createProductionDocument } from '../src/facade/productionDocument'
|
||||
|
||||
test('production document closes the four document workbench dependency graph', () => { const document = createProductionDocument(); document.add({ id: 'sheet', kind: 'Spreadsheet', dependencies: [], payload: { cells: 4 } }); document.add({ id: 'draft', kind: 'Draft', dependencies: [], payload: { objects: 2 } }); document.add({ id: 'page', kind: 'TechDraw', dependencies: ['draft'], payload: { views: 1 } }); document.add({ id: 'plot', kind: 'Plot', dependencies: ['sheet'], payload: { series: 1 } }); assert.equal(document.closure().complete, true); const saved = document.save(); const reopened = createProductionDocument(); assert.equal(reopened.load(saved).artifacts.length, 4); assert.equal(reopened.closure().complete, true) })
|
||||
test('production document reports missing dependencies and cycles', () => { const document = createProductionDocument(); document.add({ id: 'sheet', kind: 'Spreadsheet', dependencies: ['missing'], payload: {} }); document.add({ id: 'plot', kind: 'Plot', dependencies: ['sheet'], payload: {} }); assert.equal(document.closure().complete, false); assert.deepEqual(document.closure().missingKinds, ['TechDraw', 'Draft']); assert.deepEqual(document.closure().missingDependencies, ['sheet->missing']) })
|
||||
Reference in New Issue
Block a user