mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-01-19 15:37:08 +01:00
30 lines
1008 B
TypeScript
30 lines
1008 B
TypeScript
import * as fs from 'node:fs';
|
|
import * as path from 'node:path';
|
|
import { describe, expect, test } from 'vitest';
|
|
import { convertOpenApi } from '../src';
|
|
|
|
describe('importer-openapi', () => {
|
|
const p = path.join(__dirname, 'fixtures');
|
|
const fixtures = fs.readdirSync(p);
|
|
|
|
test('Skips invalid file', async () => {
|
|
const imported = await convertOpenApi('{}');
|
|
expect(imported).toBeUndefined();
|
|
});
|
|
|
|
for (const fixture of fixtures) {
|
|
test(`Imports ${fixture}`, async () => {
|
|
const contents = fs.readFileSync(path.join(p, fixture), 'utf-8');
|
|
const imported = await convertOpenApi(contents);
|
|
expect(imported?.resources.workspaces).toEqual([
|
|
expect.objectContaining({
|
|
name: 'Swagger Petstore - OpenAPI 3.0',
|
|
description: expect.stringContaining('This is a sample Pet Store Server'),
|
|
}),
|
|
]);
|
|
expect(imported?.resources.httpRequests.length).toBe(19);
|
|
expect(imported?.resources.folders.length).toBe(7);
|
|
});
|
|
}
|
|
});
|