import { describe, test, expect } from 'bun:test'; import { validateConfig, type GeneratorConfig } from '../../src/config.js'; describe('config', () => { describe('validateConfig', () => { test('должен пройти валидацию для корректной конфигурации', () => { const config: Partial = { inputPath: './openapi.json', outputPath: './output', fileName: 'Api', }; expect(() => validateConfig(config)).not.toThrow(); expect(validateConfig(config)).toBe(true); }); test('должен пройти валидацию без опционального fileName', () => { const config: Partial = { inputPath: './openapi.json', outputPath: './output', }; expect(() => validateConfig(config)).not.toThrow(); expect(validateConfig(config)).toBe(true); }); test('должен выбросить ошибку без inputPath', () => { const config: Partial = { outputPath: './output', }; expect(() => validateConfig(config)).toThrow('Input path is required'); }); test('должен выбросить ошибку без outputPath', () => { const config: Partial = { inputPath: './openapi.json', }; expect(() => validateConfig(config)).toThrow('Output path is required'); }); test('должен выбросить ошибку без обоих обязательных полей', () => { const config: Partial = {}; expect(() => validateConfig(config)).toThrow('Configuration validation failed'); }); }); });