mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-21 00:49:17 +01:00
61 lines
1.7 KiB
TypeScript
61 lines
1.7 KiB
TypeScript
import * as fs from 'node:fs';
|
|
import * as path from 'node:path';
|
|
import { describe, expect, test } from 'vitest';
|
|
import { convertPostman } from '../src';
|
|
|
|
describe('importer-postman', () => {
|
|
const p = path.join(__dirname, 'fixtures');
|
|
const fixtures = fs.readdirSync(p);
|
|
|
|
for (const fixture of fixtures) {
|
|
if (fixture.includes('.output')) {
|
|
continue;
|
|
}
|
|
|
|
test(`Imports ${fixture}`, () => {
|
|
const contents = fs.readFileSync(path.join(p, fixture), 'utf-8');
|
|
const expected = fs.readFileSync(path.join(p, fixture.replace('.input', '.output')), 'utf-8');
|
|
const result = convertPostman(contents);
|
|
// console.log(JSON.stringify(result, null, 2))
|
|
expect(JSON.stringify(result, null, 2)).toEqual(
|
|
JSON.stringify(JSON.parse(expected), null, 2),
|
|
);
|
|
});
|
|
}
|
|
|
|
test('Imports object descriptions without [object Object]', () => {
|
|
const result = convertPostman(
|
|
JSON.stringify({
|
|
info: {
|
|
name: 'Description Test',
|
|
schema: 'https://schema.getpostman.com/json/collection/v2.1.0/collection.json',
|
|
},
|
|
item: [
|
|
{
|
|
name: 'Request 1',
|
|
request: {
|
|
method: 'GET',
|
|
description: {
|
|
content: 'Lijst van klanten',
|
|
type: 'text/plain',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
}),
|
|
);
|
|
|
|
expect(result?.resources.workspaces).toEqual([
|
|
expect.objectContaining({
|
|
name: 'Description Test',
|
|
}),
|
|
]);
|
|
expect(result?.resources.httpRequests).toEqual([
|
|
expect.objectContaining({
|
|
name: 'Request 1',
|
|
description: 'Lijst van klanten',
|
|
}),
|
|
]);
|
|
});
|
|
});
|