From 57a05b33b5cb90a972f33f5231c89bc10c1ea4a6 Mon Sep 17 00:00:00 2001 From: Jack Wotherspoon Date: Fri, 13 Feb 2026 09:21:48 -0500 Subject: [PATCH] chore: tests and cleanup --- .../{__tests__ => }/footerItems.test.ts | 6 +- packages/cli/src/config/footerItems.ts | 15 -- .../ui/components/ConsoleSummaryDisplay.tsx | 2 +- .../cli/src/ui/components/Footer.test.tsx | 203 ++++++++++++++++++ packages/cli/src/ui/components/Footer.tsx | 64 +++--- .../FooterConfigDialog.test.tsx | 31 ++- .../src/ui/components/FooterConfigDialog.tsx | 79 ++++--- .../src/ui/components/MemoryUsageDisplay.tsx | 3 +- .../__tests__/FooterCustomItems.test.tsx | 151 ------------- 9 files changed, 323 insertions(+), 231 deletions(-) rename packages/cli/src/config/{__tests__ => }/footerItems.test.ts (94%) rename packages/cli/src/ui/components/{__tests__ => }/FooterConfigDialog.test.tsx (77%) delete mode 100644 packages/cli/src/ui/components/__tests__/FooterCustomItems.test.tsx diff --git a/packages/cli/src/config/__tests__/footerItems.test.ts b/packages/cli/src/config/footerItems.test.ts similarity index 94% rename from packages/cli/src/config/__tests__/footerItems.test.ts rename to packages/cli/src/config/footerItems.test.ts index 5442c504c8..c43ea7be0e 100644 --- a/packages/cli/src/config/__tests__/footerItems.test.ts +++ b/packages/cli/src/config/footerItems.test.ts @@ -5,8 +5,8 @@ */ import { describe, it, expect } from 'vitest'; -import { deriveItemsFromLegacySettings } from '../footerItems.js'; -import { createMockSettings } from '../../test-utils/settings.js'; +import { deriveItemsFromLegacySettings } from './footerItems.js'; +import { createMockSettings } from '../test-utils/settings.js'; describe('deriveItemsFromLegacySettings', () => { it('returns defaults when no legacy settings are customized', () => { @@ -20,7 +20,6 @@ describe('deriveItemsFromLegacySettings', () => { 'sandbox-status', 'model-name', 'quota', - 'error-count', ]); }); @@ -85,7 +84,6 @@ describe('deriveItemsFromLegacySettings', () => { expect(items).toEqual([ 'git-branch', 'sandbox-status', - 'error-count', 'context-remaining', 'memory-usage', ]); diff --git a/packages/cli/src/config/footerItems.ts b/packages/cli/src/config/footerItems.ts index 41d3a31f6c..7990b82f65 100644 --- a/packages/cli/src/config/footerItems.ts +++ b/packages/cli/src/config/footerItems.ts @@ -56,12 +56,6 @@ export const ALL_ITEMS: FooterItem[] = [ description: 'Node.js heap memory usage', defaultEnabled: false, }, - { - id: 'error-count', - label: 'error-count', - description: 'Console errors encountered', - defaultEnabled: true, - }, { id: 'session-id', label: 'session-id', @@ -80,12 +74,6 @@ export const ALL_ITEMS: FooterItem[] = [ description: 'Total tokens used in the session', defaultEnabled: false, }, - { - id: 'corgi', - label: 'corgi', - description: 'A friendly corgi companion', - defaultEnabled: false, - }, ]; export const DEFAULT_ORDER = [ @@ -96,11 +84,9 @@ export const DEFAULT_ORDER = [ 'context-remaining', 'quota', 'memory-usage', - 'error-count', 'session-id', 'code-changes', 'token-count', - 'corgi', ]; export function deriveItemsFromLegacySettings( @@ -112,7 +98,6 @@ export function deriveItemsFromLegacySettings( 'sandbox-status', 'model-name', 'quota', - 'error-count', ]; const items = [...defaults]; diff --git a/packages/cli/src/ui/components/ConsoleSummaryDisplay.tsx b/packages/cli/src/ui/components/ConsoleSummaryDisplay.tsx index 9d19683e22..68b283d401 100644 --- a/packages/cli/src/ui/components/ConsoleSummaryDisplay.tsx +++ b/packages/cli/src/ui/components/ConsoleSummaryDisplay.tsx @@ -5,7 +5,7 @@ */ import type React from 'react'; -import { Box, Text } from 'ink'; +import { Text, Box } from 'ink'; import { theme } from '../semantic-colors.js'; interface ConsoleSummaryDisplayProps { diff --git a/packages/cli/src/ui/components/Footer.test.tsx b/packages/cli/src/ui/components/Footer.test.tsx index 9c253fec92..55a961a2ed 100644 --- a/packages/cli/src/ui/components/Footer.test.tsx +++ b/packages/cli/src/ui/components/Footer.test.tsx @@ -615,3 +615,206 @@ describe('fallback mode display', () => { unmount(); }); }); + +describe('Footer Token Formatting', () => { + const setup = (totalTokens: number) => { + const settings = createMockSettings(); + settings.merged.ui.footer.items = ['token-count']; + + const uiState: { sessionStats: Partial } = { + sessionStats: { + lastPromptTokenCount: 0, + sessionId: 'test-session', + metrics: { + models: { + 'gemini-pro': { + api: { totalRequests: 1, totalErrors: 0, totalLatencyMs: 100 }, + tokens: { + total: totalTokens, + input: totalTokens / 2, + candidates: totalTokens / 2, + prompt: totalTokens / 2, + cached: 0, + thoughts: 0, + tool: 0, + }, + }, + }, + tools: { + totalCalls: 0, + totalSuccess: 0, + totalFail: 0, + totalDurationMs: 0, + totalDecisions: { accept: 0, reject: 0, modify: 0, auto_accept: 0 }, + byName: {}, + }, + files: { totalLinesAdded: 0, totalLinesRemoved: 0 }, + }, + }, + }; + + return renderWithProviders(