diff --git a/ui/litellm-dashboard/src/components/EntityUsageExport/ExportTypeSelector.test.tsx b/ui/litellm-dashboard/src/components/EntityUsageExport/ExportTypeSelector.test.tsx index 053f1235168..6743167bff6 100644 --- a/ui/litellm-dashboard/src/components/EntityUsageExport/ExportTypeSelector.test.tsx +++ b/ui/litellm-dashboard/src/components/EntityUsageExport/ExportTypeSelector.test.tsx @@ -50,7 +50,9 @@ describe("ExportTypeSelector", () => { renderWithProviders(); expect(screen.queryByRole("radio", { name: /and user/i })).not.toBeInTheDocument(); - expect(screen.getByRole("radio", { name: /Day-by-day breakdown by user Daily metrics for each user$/i })).toBeInTheDocument(); + expect( + screen.getByRole("radio", { name: /Day-by-day breakdown by user Daily metrics for each user$/i }), + ).toBeInTheDocument(); expect(screen.getByRole("radio", { name: /Day-by-day breakdown by user and key/i })).toBeInTheDocument(); expect(screen.getByRole("radio", { name: /Day-by-day by user and model/i })).toBeInTheDocument(); }); diff --git a/ui/litellm-dashboard/src/components/EntityUsageExport/utils.test.ts b/ui/litellm-dashboard/src/components/EntityUsageExport/utils.test.ts index 980d2b4d4c4..26b2b3c7895 100644 --- a/ui/litellm-dashboard/src/components/EntityUsageExport/utils.test.ts +++ b/ui/litellm-dashboard/src/components/EntityUsageExport/utils.test.ts @@ -2728,9 +2728,7 @@ describe("EntityUsageExport utils", () => { it("should roll multiple keys owned by one user in a team into a single row", () => { const rows = generateDailyWithUsersData(usersFixture, "Team"); - const matches = rows.filter( - (r) => r.Date === "2025-03-01" && r["Team ID"] === "team-1" && r["User ID"] === "u1", - ); + const matches = rows.filter((r) => r.Date === "2025-03-01" && r["Team ID"] === "team-1" && r["User ID"] === "u1"); expect(matches).toHaveLength(1); const row = matches[0]; @@ -2749,7 +2747,9 @@ describe("EntityUsageExport utils", () => { it("should bucket keys with no owner into an Unassigned row without dropping spend", () => { const rows = generateDailyWithUsersData(usersFixture, "Team"); - const row = rows.find((r) => r.Date === "2025-03-01" && r["Team ID"] === "team-1" && r["User ID"] === "Unassigned"); + const row = rows.find( + (r) => r.Date === "2025-03-01" && r["Team ID"] === "team-1" && r["User ID"] === "Unassigned", + ); expect(row).toBeDefined(); expect(row?.["User Email"]).toBe("-"); @@ -2905,7 +2905,13 @@ describe("EntityUsageExport utils", () => { }, api_key_breakdown: { kA: { - metrics: { spend: 1.1, api_requests: 11, successful_requests: 10, failed_requests: 1, total_tokens: 110 }, + metrics: { + spend: 1.1, + api_requests: 11, + successful_requests: 10, + failed_requests: 1, + total_tokens: 110, + }, metadata: { team_id: "team-1", user_id: "u1", user_email: "a@x" }, }, }, @@ -2916,7 +2922,13 @@ describe("EntityUsageExport utils", () => { metrics: { spend: 1.1, api_requests: 11, total_tokens: 110 }, api_key_breakdown: { kA: { - metrics: { spend: 1.1, api_requests: 11, successful_requests: 10, failed_requests: 1, total_tokens: 110 }, + metrics: { + spend: 1.1, + api_requests: 11, + successful_requests: 10, + failed_requests: 1, + total_tokens: 110, + }, metadata: {}, }, }, diff --git a/ui/litellm-dashboard/src/components/EntityUsageExport/utils.ts b/ui/litellm-dashboard/src/components/EntityUsageExport/utils.ts index 1c47c609b8f..5cb00f69158 100644 --- a/ui/litellm-dashboard/src/components/EntityUsageExport/utils.ts +++ b/ui/litellm-dashboard/src/components/EntityUsageExport/utils.ts @@ -240,9 +240,7 @@ export const generateDailyWithKeysData = ( [`${entityLabel} ID`]: item.entityId, "Key Alias": item.keyAlias || "-", "Key ID": item.keyId, - ...(entityLabel === "User" - ? {} - : { "User ID": item.userId || "-", "User Email": item.userEmail || "-" }), + ...(entityLabel === "User" ? {} : { "User ID": item.userId || "-", "User Email": item.userEmail || "-" }), "Spend ($)": formatNumberWithCommas(item.metrics.spend, 4), Requests: item.metrics.api_requests, "Successful Requests": item.metrics.successful_requests, @@ -288,10 +286,7 @@ export const generateDailyWithUsersData = ( userId, userEmail: null, keyIds: new Set(), - metrics: Object.fromEntries(METRIC_KEYS.map((k) => [k, 0])) as Record< - (typeof METRIC_KEYS)[number], - number - >, + metrics: Object.fromEntries(METRIC_KEYS.map((k) => [k, 0])) as Record<(typeof METRIC_KEYS)[number], number>, }; } const bucket = aggregatedData[uniqueKey];