mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-05-23 16:35:59 +00:00
fix: use backend thread token usage for header total (#2800)
* fix: use backend thread token usage for header total * Refactor thread token usage fetch
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import { beforeEach, expect, test, vi } from "vitest";
|
||||
|
||||
const fetchWithAuth = vi.fn();
|
||||
|
||||
vi.mock("@/core/api/fetcher", () => ({
|
||||
fetch: fetchWithAuth,
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fetchWithAuth.mockReset();
|
||||
});
|
||||
|
||||
test("fetchThreadTokenUsage uses shared auth fetch without JSON GET headers", async () => {
|
||||
fetchWithAuth.mockResolvedValue({
|
||||
ok: true,
|
||||
json: async () => ({
|
||||
thread_id: "thread-1",
|
||||
total_input_tokens: 3,
|
||||
total_output_tokens: 4,
|
||||
total_tokens: 7,
|
||||
total_runs: 1,
|
||||
by_model: { unknown: { tokens: 7, runs: 1 } },
|
||||
by_caller: {},
|
||||
}),
|
||||
});
|
||||
|
||||
const { fetchThreadTokenUsage } = await import("@/core/threads/api");
|
||||
|
||||
await expect(fetchThreadTokenUsage("thread-1")).resolves.toMatchObject({
|
||||
thread_id: "thread-1",
|
||||
total_tokens: 7,
|
||||
});
|
||||
|
||||
expect(fetchWithAuth).toHaveBeenCalledWith(
|
||||
expect.stringContaining("/api/threads/thread-1/token-usage"),
|
||||
{
|
||||
method: "GET",
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
test("fetchThreadTokenUsage returns null for unavailable token usage", async () => {
|
||||
fetchWithAuth.mockResolvedValue({
|
||||
ok: false,
|
||||
status: 404,
|
||||
});
|
||||
|
||||
const { fetchThreadTokenUsage } = await import("@/core/threads/api");
|
||||
|
||||
await expect(fetchThreadTokenUsage("thread-1")).resolves.toBeNull();
|
||||
});
|
||||
Reference in New Issue
Block a user