import { describe, expect, it } from 'vitest' import { bioTemplateCatalog } from '../../../src/templates/catalog' import { bioTemplatePacks } from '../../../src/templates/packs' import { bioTemplatePresets } from '../../../src/templates/presets' import { extractTemplatePacks, extractTemplatePresets, extractTemplates, } from '../../../scripts/extract-docs-templates' describe('extract docs template helpers', () => { it('maps catalog templates into docs manifest entries', () => { const entry = bioTemplateCatalog[0]! const template = extractTemplates()[0]! expect(extractTemplates()).toHaveLength(bioTemplateCatalog.length) expect(template).toMatchObject({ name: entry.name, kind: 'template', group: entry.category, source: 'packages/sdk-frontend/src/templates/catalog.ts', description: entry.purpose, template_id: entry.template_id, template_version: entry.template_version, add_command: entry.add_command, }) }) it('maps curated presets and packs into docs manifest entries', () => { const presetEntry = bioTemplatePresets[0]! const preset = extractTemplatePresets()[0]! const packEntry = bioTemplatePacks[0]! const pack = extractTemplatePacks()[0]! expect(extractTemplatePresets()).toHaveLength(bioTemplatePresets.length) expect(preset).toMatchObject({ name: presetEntry.name, kind: 'template-preset', group: presetEntry.category, source: 'packages/sdk-frontend/src/templates/presets.ts', templates: presetEntry.templates, }) expect(extractTemplatePacks()).toHaveLength(bioTemplatePacks.length) expect(pack).toMatchObject({ name: packEntry.name, kind: 'template-pack', group: packEntry.category, source: 'packages/sdk-frontend/src/templates/packs.ts', add_command: packEntry.add_command, docs_command: packEntry.docs_command, }) }) })