27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
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/);
|
|
});
|
|
});
|