import * as fs from 'node:fs'; import * as path from 'node:path'; import { describe, expect, test } from 'vite-plus/test'; 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', }), ]); }); });