- добавлен operationsTree для сборки полного клиента - удален режим генерации both - обновлена документация под npm SDK workflow - поднята версия пакета до 4.0.0
60 lines
2.1 KiB
TypeScript
60 lines
2.1 KiB
TypeScript
import { describe, test, expect } from 'bun:test';
|
||
import { validateConfig, type GeneratorConfig } from '../../src/config.js';
|
||
|
||
describe('config', () => {
|
||
describe('validateConfig', () => {
|
||
test('должен пройти валидацию для корректной конфигурации', () => {
|
||
const config: Partial<GeneratorConfig> = {
|
||
inputPath: './openapi.json',
|
||
outputPath: './output',
|
||
fileName: 'Api',
|
||
};
|
||
|
||
expect(() => validateConfig(config)).not.toThrow();
|
||
expect(validateConfig(config)).toBe(true);
|
||
});
|
||
|
||
test('должен пройти валидацию без опционального fileName', () => {
|
||
const config: Partial<GeneratorConfig> = {
|
||
inputPath: './openapi.json',
|
||
outputPath: './output',
|
||
};
|
||
|
||
expect(() => validateConfig(config)).not.toThrow();
|
||
expect(validateConfig(config)).toBe(true);
|
||
});
|
||
|
||
test('должен выбросить ошибку без inputPath', () => {
|
||
const config: Partial<GeneratorConfig> = {
|
||
outputPath: './output',
|
||
};
|
||
|
||
expect(() => validateConfig(config)).toThrow('Не указан путь к OpenAPI спецификации');
|
||
});
|
||
|
||
test('должен выбросить ошибку без outputPath', () => {
|
||
const config: Partial<GeneratorConfig> = {
|
||
inputPath: './openapi.json',
|
||
};
|
||
|
||
expect(() => validateConfig(config)).toThrow('Не указана директория для генерации');
|
||
});
|
||
|
||
test('должен выбросить ошибку без обоих обязательных полей', () => {
|
||
const config: Partial<GeneratorConfig> = {};
|
||
|
||
expect(() => validateConfig(config)).toThrow('Ошибка конфигурации');
|
||
});
|
||
|
||
test('должен выбросить ошибку для удаленного both режима', () => {
|
||
const config = {
|
||
inputPath: './openapi.json',
|
||
outputPath: './output',
|
||
mode: 'both',
|
||
};
|
||
|
||
expect(() => validateConfig(config as Partial<GeneratorConfig>)).toThrow('Доступные значения: split, single');
|
||
});
|
||
});
|
||
});
|