Files
yaak/plugins/importer-yaak/tests/index.test.ts
Gregory Schier b4a1c418bb Run oxfmt across repo, add format script and docs
Add .oxfmtignore to skip generated bindings and wasm-pack output.
Add npm format script, update DEVELOPMENT.md for Vite+ toolchain,
and format all non-generated files with oxfmt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:15:49 -07:00

152 lines
3.5 KiB
TypeScript

import { describe, expect, test } from "vite-plus/test";
import { migrateImport } from "../src";
describe("importer-yaak", () => {
test("Skips invalid imports", () => {
expect(migrateImport("not JSON")).toBeUndefined();
expect(migrateImport("[]")).toBeUndefined();
expect(migrateImport(JSON.stringify({ resources: {} }))).toBeUndefined();
});
test("converts schema 1 to 2", () => {
const imported = migrateImport(
JSON.stringify({
yaakSchema: 1,
resources: {
requests: [],
},
}),
);
expect(imported).toEqual(
expect.objectContaining({
resources: {
httpRequests: [],
},
}),
);
});
test("converts schema 2 to 3", () => {
const imported = migrateImport(
JSON.stringify({
yaakSchema: 2,
resources: {
environments: [
{
id: "e_1",
workspaceId: "w_1",
name: "Production",
variables: [{ name: "E1", value: "E1!" }],
},
],
workspaces: [
{
id: "w_1",
variables: [{ name: "W1", value: "W1!" }],
},
],
},
}),
);
expect(imported).toEqual(
expect.objectContaining({
resources: {
workspaces: [
{
id: "w_1",
},
],
environments: [
{
id: "e_1",
workspaceId: "w_1",
name: "Production",
variables: [{ name: "E1", value: "E1!" }],
parentModel: "environment",
parentId: null,
},
{
id: "GENERATE_ID::base_env_w_1",
workspaceId: "w_1",
name: "Global Variables",
variables: [{ name: "W1", value: "W1!" }],
},
],
},
}),
);
});
test("converts schema 4 to 5", () => {
const imported = migrateImport(
JSON.stringify({
yaakSchema: 2,
resources: {
environments: [
{
id: "e_1",
workspaceId: "w_1",
base: false,
name: "Production",
variables: [{ name: "E1", value: "E1!" }],
},
{
id: "e_1",
workspaceId: "w_1",
base: true,
name: "Global Variables",
variables: [{ name: "G1", value: "G1!" }],
},
],
folders: [
{
id: "f_1",
},
],
workspaces: [
{
id: "w_1",
},
],
},
}),
);
expect(imported).toEqual(
expect.objectContaining({
resources: {
workspaces: [
{
id: "w_1",
},
],
folders: [
{
id: "f_1",
},
],
environments: [
{
id: "e_1",
workspaceId: "w_1",
name: "Production",
variables: [{ name: "E1", value: "E1!" }],
parentModel: "environment",
parentId: null,
},
{
id: "e_1",
workspaceId: "w_1",
name: "Global Variables",
parentModel: "workspace",
parentId: null,
variables: [{ name: "G1", value: "G1!" }],
},
],
},
}),
);
});
});