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", }), ]); }); });