import { describe, expect, it } from 'vitest' import { TypeDeclarationGenerator } from '../src/discovery/type-generator.js' import type { TypeRegistry } from '../src/types/index.js' const registry: TypeRegistry = { 'GET /users': { method: 'GET', lastSeen: Date.now(), samples: [], request: { type: 'object', properties: { id: { type: 'string' } }, required: ['id'] }, response: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, email: { type: 'string' } }, required: ['id'] } } } } describe('type generator', () => { it('emits request and response aliases', () => { const generator = new TypeDeclarationGenerator(registry) const snapshot = generator.generate({ namespace: 'API' }) expect(snapshot).toContain('export type GetUsersRequest') expect(snapshot).toContain('declare namespace API') expect(snapshot).toContain("'GET /users': { request: GetUsersRequest; response: GetUsersResponse; method: 'GET'; path: '/users' }") }) })