Skip to content

test: improve coverage for low-coverage modules (target 90%+ across the board) #126

@BillChirico

Description

@BillChirico

Several modules are below the 85% branch coverage threshold or have significant gaps. Raising coverage prevents regressions and improves confidence in refactors.

Low Coverage Modules (branches < 80%)

Module Statements Branches Functions Lines
`src/index.js` 89% 74% 62% 89%
`src/api/server.js` 83% 76% 82% 85%
`src/api/routes/auth.js` 81% 75% 90% 84%
`src/api/routes/guilds.js` 86% 70% 95% 88%
`src/api/utils/redisClient.js` 50% 67% 75% 43%
`src/api/ws/logStream.js` 79% 74% 68% 81%
`src/modules/config.js` 90% 69% 95% 90%
`src/modules/ai.js` 87% 62% 89% 88%
`src/modules/rateLimit.js` 90% 68% 71% 91%
`src/modules/welcome.js` 79% 69% 71% 82%
`src/modules/triage.js` 84% 75% 66% 88%
`src/modules/starboard.js` 79% 83% 100% 78%

Subtasks

  • `redisClient.js` — Mock Redis connection states, test fallback behavior (43% lines → 85%+)
  • `ai.js` — Test edge cases: token limits, streaming failures, thread reuse (62% branches → 85%+)
  • `config.js` — Test config merge, nested key access, invalid input (69% branches → 85%+)
  • `welcome.js` — Test DM failures, missing channel, disabled state (69% branches → 85%+)
  • `rateLimit.js` — Test memory cap eviction, mute escalation (68% branches → 85%+)
  • `guilds.js` — Test pagination, permission checks, channel listing (70% branches → 85%+)
  • `logStream.js` — Test WebSocket lifecycle, auth failures, reconnection (74% branches → 85%+)
  • `triage.js` — Test buffer overflow, concurrent eval, abort handling (75% branches → 85%+)
  • `auth.js` — Test OAuth flow edge cases, token refresh, session expiry (75% branches → 85%+)

Acceptance Criteria

  • All listed modules above 85% branch coverage
  • No test relies on implementation details (test behavior, not internals)
  • Tests run in <10s total (no slow network mocks)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions