commits
tags
import { describe, expect, it } from "vitest";
import { defaultsFor, flowHasRunParams, parseOptions, resolveRunVars } from "./runvars";
describe("runvars", () => {
it("parseOptions splits and trims", () => {
expect(parseOptions("a, b ,c")).toEqual(["a", "b", "c"]);
expect(parseOptions("")).toEqual([]);
expect(parseOptions(undefined)).toEqual([]);
});
it("defaultsFor only includes inputs with a non-empty default", () => {
expect(
defaultsFor([
{ name: "a", default: "4" },
{ name: "b", default: "" },
{ name: "c" },
]),
).toEqual({ a: "4" });
});
it("resolveRunVars: adhoc overrides fields, blank adhoc names skipped", () => {
expect(
resolveRunVars({ org: "4", kö: "20" }, [
{ name: "org", value: "9" },
{ name: " ", value: "ignored" },
{ name: "ny", value: "x" },
]),
).toEqual({ org: "9", kö: "20", ny: "x" });
});
it("flowHasRunParams", () => {
expect(flowHasRunParams({})).toBe(false);
expect(flowHasRunParams({ inputs: [] })).toBe(false);
expect(flowHasRunParams({ inputs: [{ name: "a" }] })).toBe(true);
expect(flowHasRunParams({ input_sets: { Test: {} } })).toBe(true);
});
});