import { describe, expect, it } from "vitest" import { fetchBalance } from "../src/balance" import { DEFAULT_BASE_URL } from "../src/store" const apiKey = process.env.GREENPT_API_KEY const enabled = process.env.GREENPT_INTEGRATION === "1" && typeof apiKey === "string" && apiKey.length > 0 const suite = enabled ? describe : describe.skip suite("GreenPT live API", () => { it("returns a finite balance from the free HEAD probe", async () => { const result = await fetchBalance(DEFAULT_BASE_URL, apiKey as string) if ("kind" in result) { throw new Error(`expected a balance, got error: ${result.kind}`) } expect(Number.isFinite(result.credits)).toBe(true) expect(result.credits).toBeGreaterThanOrEqual(0) }) it("reports unauthorized for an invalid key", async () => { const result = await fetchBalance(DEFAULT_BASE_URL, "sk-definitely-invalid") expect(result).toEqual({ kind: "unauthorized" }) }) })