import { z } from 'zod' import { buildNunjucksComponent } from './buildNunjucksComponent' describe('buildNunjucksComponent', () => { it('should expose the variant and a render function when options are omitted', () => { // Act const entry = buildNunjucksComponent('text-input', () => '') // Assert expect(entry.variant).toBe('text-input') expect(typeof entry.render).toBe('function') }) it('should omit the inputSchema and multiple keys when options are omitted', () => { // Act const entry = buildNunjucksComponent('text-input', () => '') // Assert expect('inputSchema' in entry).toBe(false) expect('multiple' in entry).toBe(false) }) it('should set inputSchema on the entry when provided', () => { // Arrange const inputSchema = z.string() // Act const entry = buildNunjucksComponent('text-input', () => '', { inputSchema }) // Assert expect(entry.inputSchema).toBe(inputSchema) expect('multiple' in entry).toBe(false) }) it('should set multiple on the entry when provided', () => { // Act const entry = buildNunjucksComponent('checkbox', () => '', { multiple: true }) // Assert expect(entry.multiple).toBe(true) expect('inputSchema' in entry).toBe(false) }) })