test(cliproxy): add unit tests for quota fetchers and auth utilities

Add comprehensive unit tests for:
- buildCodexQuotaWindows(): window parsing, clamping, reset time calculation
- buildGeminiCliBuckets(): bucket grouping, model series, token types
- resolveGeminiCliProjectId(): project ID extraction from account field
- sanitizeEmail(): email to filename conversion
- isTokenExpired(): token expiry validation

Also removes unused 'preferred' field from GEMINI_CLI_GROUPS (YAGNI)

39 new tests covering edge cases:
- Percentage clamping (0-100, 0-1)
- Missing/null fields
- camelCase/snake_case API responses
- Empty inputs
- Invalid date strings

Addresses code review feedback on PR #395
This commit is contained in:
kaitranntt committed 2026-01-29 15:01:26 -05:00
1 parent 38ba6a9fea
commit ad8327d17e
4 files changed
+474 -3

No files matched your search

-3
View File
@@ -25,18 +25,15 @@ const GEMINI_CLI_GROUPS: Record<
{
label: string;
models: string[];
preferred: string;
}
> = {
'gemini-flash-series': {
label: 'Gemini Flash Series',
models: ['gemini-3-flash-preview', 'gemini-2.5-flash', 'gemini-2.5-flash-lite'],
preferred: 'gemini-3-flash-preview',
},
'gemini-pro-series': {
label: 'Gemini Pro Series',
models: ['gemini-3-pro-preview', 'gemini-2.5-pro'],
preferred: 'gemini-3-pro-preview',
},
};