From e71c3b5337a720b28cf10e9e26b0d6b057e69da5 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Sat, 15 Nov 2025 10:23:28 -0500 Subject: [PATCH 1/4] Fix the tokenizer tests mocking globally --- src/utils/tokens/tokenStatsCalculator.test.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/utils/tokens/tokenStatsCalculator.test.ts b/src/utils/tokens/tokenStatsCalculator.test.ts index 7cccc64029..148a9b0270 100644 --- a/src/utils/tokens/tokenStatsCalculator.test.ts +++ b/src/utils/tokens/tokenStatsCalculator.test.ts @@ -1,11 +1,4 @@ -import { describe, test, expect, jest } from "@jest/globals"; - -// Mock the tokenizer module before importing tokenStatsCalculator -jest.mock("@/utils/main/tokenizer", () => ({ - getTokenizerForModel: jest.fn(), - countTokensForData: jest.fn(), - getToolDefinitionTokens: jest.fn(), -})); +import { describe, test, expect, mock } from "bun:test"; import { createDisplayUsage, @@ -20,6 +13,13 @@ import { import type { LanguageModelV2Usage } from "@ai-sdk/provider"; import type { MuxMessage } from "@/types/message"; +// Mock the tokenizer module before importing tokenStatsCalculator +mock.module("@/utils/main/tokenizer", () => ({ + getTokenizerForModel: jest.fn(), + countTokensForData: jest.fn(), + getToolDefinitionTokens: jest.fn(), +})); + describe("createDisplayUsage", () => { test("uses usage.reasoningTokens when available", () => { const usage: LanguageModelV2Usage = { From 1b2d2a653dfe4b00eafd5c5bef1778433b056cf8 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Sat, 15 Nov 2025 10:28:36 -0500 Subject: [PATCH 2/4] Fix jest import --- src/utils/tokens/tokenStatsCalculator.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/tokens/tokenStatsCalculator.test.ts b/src/utils/tokens/tokenStatsCalculator.test.ts index 148a9b0270..6af7d584f3 100644 --- a/src/utils/tokens/tokenStatsCalculator.test.ts +++ b/src/utils/tokens/tokenStatsCalculator.test.ts @@ -1,4 +1,4 @@ -import { describe, test, expect, mock } from "bun:test"; +import { describe, test, expect, mock, jest } from "bun:test"; import { createDisplayUsage, From f91061de7acefb860d2602da7db969997a39244b Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Sat, 15 Nov 2025 10:31:17 -0500 Subject: [PATCH 3/4] Try to fix the mock --- src/utils/tokens/tokenStatsCalculator.test.ts | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/utils/tokens/tokenStatsCalculator.test.ts b/src/utils/tokens/tokenStatsCalculator.test.ts index 6af7d584f3..97e08ff290 100644 --- a/src/utils/tokens/tokenStatsCalculator.test.ts +++ b/src/utils/tokens/tokenStatsCalculator.test.ts @@ -1,4 +1,4 @@ -import { describe, test, expect, mock, jest } from "bun:test"; +import { beforeAll, afterAll, describe, test, expect, mock, jest } from "bun:test"; import { createDisplayUsage, @@ -13,12 +13,18 @@ import { import type { LanguageModelV2Usage } from "@ai-sdk/provider"; import type { MuxMessage } from "@/types/message"; -// Mock the tokenizer module before importing tokenStatsCalculator -mock.module("@/utils/main/tokenizer", () => ({ - getTokenizerForModel: jest.fn(), - countTokensForData: jest.fn(), - getToolDefinitionTokens: jest.fn(), -})); +beforeAll(() => { + // Mock the tokenizer module before importing tokenStatsCalculator + mock.module("@/utils/main/tokenizer", () => ({ + getTokenizerForModel: jest.fn(), + countTokensForData: jest.fn(), + getToolDefinitionTokens: jest.fn(), + })); +}); + +afterAll(() => { + mock.restore(); +}); describe("createDisplayUsage", () => { test("uses usage.reasoningTokens when available", () => { From 2d4246ac93f19f94c56a7cc568343547ee439761 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Sat, 15 Nov 2025 10:34:55 -0500 Subject: [PATCH 4/4] Fix --- src/utils/tokens/tokenStatsCalculator.test.ts | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/utils/tokens/tokenStatsCalculator.test.ts b/src/utils/tokens/tokenStatsCalculator.test.ts index 97e08ff290..50ed89730a 100644 --- a/src/utils/tokens/tokenStatsCalculator.test.ts +++ b/src/utils/tokens/tokenStatsCalculator.test.ts @@ -1,30 +1,17 @@ -import { beforeAll, afterAll, describe, test, expect, mock, jest } from "bun:test"; +import { describe, expect, test } from "bun:test"; +import type { MuxMessage } from "@/types/message"; +import type { LanguageModelV2Usage } from "@ai-sdk/provider"; import { + collectUniqueToolNames, + countEncryptedWebSearchTokens, createDisplayUsage, + extractSyncMetadata, extractToolOutputData, isEncryptedWebSearch, - countEncryptedWebSearchTokens, - collectUniqueToolNames, - extractSyncMetadata, mergeResults, type TokenCountJob, } from "./tokenStatsCalculator"; -import type { LanguageModelV2Usage } from "@ai-sdk/provider"; -import type { MuxMessage } from "@/types/message"; - -beforeAll(() => { - // Mock the tokenizer module before importing tokenStatsCalculator - mock.module("@/utils/main/tokenizer", () => ({ - getTokenizerForModel: jest.fn(), - countTokensForData: jest.fn(), - getToolDefinitionTokens: jest.fn(), - })); -}); - -afterAll(() => { - mock.restore(); -}); describe("createDisplayUsage", () => { test("uses usage.reasoningTokens when available", () => {