mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-25 10:51:57 +01:00
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>
152 lines
3.5 KiB
TypeScript
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!" }],
|
|
},
|
|
],
|
|
},
|
|
}),
|
|
);
|
|
});
|
|
});
|