mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 10:11:24 +00:00
test: dedupe provider usage tests and expand coverage
This commit is contained in:
27
src/infra/provider-usage.shared.test.ts
Normal file
27
src/infra/provider-usage.shared.test.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { clampPercent, resolveUsageProviderId, withTimeout } from "./provider-usage.shared.js";
|
||||
|
||||
describe("provider-usage.shared", () => {
|
||||
it("normalizes supported usage provider ids", () => {
|
||||
expect(resolveUsageProviderId("z-ai")).toBe("zai");
|
||||
expect(resolveUsageProviderId(" GOOGLE-ANTIGRAVITY ")).toBe("google-antigravity");
|
||||
expect(resolveUsageProviderId("unknown-provider")).toBeUndefined();
|
||||
expect(resolveUsageProviderId()).toBeUndefined();
|
||||
});
|
||||
|
||||
it("clamps usage percents and handles non-finite values", () => {
|
||||
expect(clampPercent(-5)).toBe(0);
|
||||
expect(clampPercent(120)).toBe(100);
|
||||
expect(clampPercent(Number.NaN)).toBe(0);
|
||||
expect(clampPercent(Number.POSITIVE_INFINITY)).toBe(0);
|
||||
});
|
||||
|
||||
it("returns work result when it resolves before timeout", async () => {
|
||||
await expect(withTimeout(Promise.resolve("ok"), 100, "fallback")).resolves.toBe("ok");
|
||||
});
|
||||
|
||||
it("returns fallback when timeout wins", async () => {
|
||||
const late = new Promise<string>((resolve) => setTimeout(() => resolve("late"), 50));
|
||||
await expect(withTimeout(late, 1, "fallback")).resolves.toBe("fallback");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user