import { describe, expect, it } from 'vitest'; import * as documentApi from '@/lib/document'; import { DEFAULT_DOCUMENT_TRANSFORMS, DocumentTransformRegistry, createDefaultDocumentTransformRegistry, } from '@/lib/document'; describe('document transform registry', () => { it('exposes the deterministic default transform order', () => { const registry = createDefaultDocumentTransformRegistry(); expect(registry.list().map((transform) => transform.id)).toEqual(['normalize', 'remove-noise']); expect(DEFAULT_DOCUMENT_TRANSFORMS).toHaveLength(2); expect(documentApi).not.toHaveProperty('detectDocumentStructureTransform'); }); it('rejects duplicate IDs and reports missing required transforms', () => { const transform = DEFAULT_DOCUMENT_TRANSFORMS[0]; const registry = new DocumentTransformRegistry([transform]); expect(() => registry.register(transform)).toThrow(/already registered/); expect(() => registry.require('missing')).toThrow(/Unknown document transform/); }); });