src/sponsors/sponsors.service.spec.ts has describe blocks for budgetLocked, totalSpend, and dashboard (6 tests total) — there is no test for activeBounties() (the terminal-status-exclusion query builder), activeMilestones() (the FUNDED/IN_PROGRESS OR-condition query), or milestoneProgress() (the distributed / budget ratio computation, including its budget > 0 guard against division by zero). dashboard()'s test only verifies the recentPayments join condition, not that it correctly assembles all five fields including activeBounties/activeMilestones from the other (untested) methods it calls via Promise.all.
Fix: add direct test coverage for activeBounties (verifying the terminal-status exclusion list), activeMilestones (verifying both status branches of the where: [...] OR), and milestoneProgress (including the zero-budget edge case).
src/sponsors/sponsors.service.spec.ts has
describeblocks forbudgetLocked,totalSpend, anddashboard(6 tests total) — there is no test foractiveBounties()(the terminal-status-exclusion query builder),activeMilestones()(theFUNDED/IN_PROGRESSOR-condition query), ormilestoneProgress()(thedistributed / budgetratio computation, including itsbudget > 0guard against division by zero).dashboard()'s test only verifies therecentPaymentsjoin condition, not that it correctly assembles all five fields includingactiveBounties/activeMilestonesfrom the other (untested) methods it calls viaPromise.all.Fix: add direct test coverage for
activeBounties(verifying the terminal-status exclusion list),activeMilestones(verifying both status branches of thewhere: [...]OR), andmilestoneProgress(including the zero-budget edge case).