authorgravatar for saiansh2525@gmail.comYash Singh <saiansh2525@gmail.com> 2026-09-26 15:09:03-05:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-26 15:09:03-05:00
logd110f9867041f0466bed9b032c15efcfcefcbfc5
treec3aeecf8112e1dc576bc686d65f6f89b6abd5041
parentdd582dee36976ccfd2a896cf50c3ee957ca7b9be
signature Signed by PGP key B5690EEEBB952194

test(usage): assert contract mismatch details (#13861)


1 files changed, 8 insertions(+), 2 deletions(-)

packages/shared/src/usageMerge.test.ts+8-2
......@@ -433,7 +433,7 @@ describe("mergeUsage", () => {
433433 const merged = mergeUsage([environment("env-a", decoded)], USAGE_CONTRACT_VERSION);
434434 expect(merged.costUsd).toBe(10);
435435 expect(merged.totalTokens).toBe(1160);
436 expect(merged.staleEnvironments).toEqual([]);
436 expect(merged.contractMismatches).toEqual([]);
437437 });
438438
439439 it("normalizes model names during decoding before grouping usage", () => {
......@@ -479,7 +479,13 @@ describe("mergeUsage", () => {
479479 );
480480 const merged = mergeUsage([environment("env-a", decoded)], USAGE_CONTRACT_VERSION);
481481 expect(merged.costUsd).toBe(0);
482 expect(merged.staleEnvironments).toEqual(["env-a"]);
482 expect(merged.contractMismatches).toEqual([
483 {
484 environmentId: "env-a",
485 direction: "clientBehind",
486 contractVersion: USAGE_CONTRACT_VERSION + 1,
487 },
488 ]);
483489 });
484490
485491 it("derives provider shares and cost quality", () => {