import { describe, expect, it } from "vitest"; import { resolveUmansConfig } from "./resolver.js"; describe("resolveUmansConfig", () => { it("activate uses UMANS_BASE_URL override when set (default otherwise)", () => { const override = resolveUmansConfig( { UMANS_API_KEY: "sk-test", UMANS_BASE_URL: "https://custom.example.com/v1" }, undefined, ); expect(override?.baseURL).toBe("https://custom.example.com/v1"); const fallback = resolveUmansConfig({ UMANS_API_KEY: "sk-test" }, undefined); expect(fallback?.baseURL).toBe("https://api.code.umans.ai/v1"); }); it('activate uses config provider.umans.model → UMANS_MODEL → "umans-coder" resolution', () => { // config wins over env + default const fromConfig = resolveUmansConfig( { UMANS_API_KEY: "sk-test", UMANS_MODEL: "env-model" }, "config-model", ); expect(fromConfig?.model).toBe("config-model"); // env wins when config is absent const fromEnv = resolveUmansConfig( { UMANS_API_KEY: "sk-test", UMANS_MODEL: "env-model" }, undefined, ); expect(fromEnv?.model).toBe("env-model"); // default when neither is set const fromDefault = resolveUmansConfig({ UMANS_API_KEY: "sk-test" }, undefined); expect(fromDefault?.model).toBe("umans-coder"); }); it("returns null when UMANS_API_KEY is unset", () => { expect(resolveUmansConfig({}, undefined)).toBeNull(); }); it("returns null when UMANS_API_KEY is empty string", () => { expect(resolveUmansConfig({ UMANS_API_KEY: "" }, undefined)).toBeNull(); }); });