diff --git a/src/app/(dashboard)/home/ProviderQuotaWidget.tsx b/src/app/(dashboard)/home/ProviderQuotaWidget.tsx index eb267fafdb..41cd067db2 100644 --- a/src/app/(dashboard)/home/ProviderQuotaWidget.tsx +++ b/src/app/(dashboard)/home/ProviderQuotaWidget.tsx @@ -175,7 +175,11 @@ export default function ProviderQuotaWidget({ autoRefreshInterval = 0 }: Provide onClick={refreshAll} disabled={refreshingAll || loading} className="flex items-center gap-1.5 px-3 py-1.5 rounded-lg border border-border bg-bg-subtle text-xs font-medium text-text-main disabled:opacity-50 disabled:cursor-not-allowed hover:bg-surface transition-colors" - title={autoRefreshIntervalMs > 0 ? tr("autoRefreshing", "Auto-refreshing") : tr("refreshAll", "Refresh All")} + title={ + autoRefreshIntervalMs > 0 + ? tr("autoRefreshing", "Auto-refreshing") + : tr("refreshAll", "Refresh All") + } > 0 ? `${tr("autoRefreshing", "Auto-refreshing")} ${formatAutoRefreshCountdown( - Math.max(0, autoRefreshIntervalMs - (autoRefreshClock - lastRefreshAllAtRef.current)) + Math.max( + 0, + autoRefreshIntervalMs - (autoRefreshClock - lastRefreshAllAtRef.current) + ) )}` : tr("refreshAll", "Refresh All")} @@ -224,7 +231,7 @@ export default function ProviderQuotaWidget({ autoRefreshInterval = 0 }: Provide className="rounded-lg border border-border bg-surface/40 p-3 flex flex-col gap-2" >
- + {provider.charAt(0).toUpperCase() + provider.slice(1)} diff --git a/tests/unit/provider-quota-widget-icon-prop.test.ts b/tests/unit/provider-quota-widget-icon-prop.test.ts new file mode 100644 index 0000000000..be3e4af6b5 --- /dev/null +++ b/tests/unit/provider-quota-widget-icon-prop.test.ts @@ -0,0 +1,22 @@ +import test from "node:test"; +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; + +const ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", ".."); +const PROVIDER_QUOTA_WIDGET_PATH = join(ROOT, "src/app/(dashboard)/home/ProviderQuotaWidget.tsx"); + +const providerQuotaWidgetSrc = readFileSync(PROVIDER_QUOTA_WIDGET_PATH, "utf8"); + +test("ProviderQuotaWidget passes provider IDs using ProviderIcon's providerId prop", () => { + assert.ok( + providerQuotaWidgetSrc.includes(""), + "ProviderQuotaWidget must pass provider through ProviderIcon's providerId prop" + ); + assert.equal( + providerQuotaWidgetSrc.includes("