You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Severity: Low Type: Testing Scope: Repository-wide Labels:testing, help wanted, Official Campaign
Description
A repository-wide search for *.spec.ts files confirms a single test file exists: src/app.controller.spec.ts. None of the services (DonationsService, CampaignsService, MilestonesService, UsersService, AdminService, StellarTransactionsService, SorobanService, NotificationsService, EmailService, StellarEventService) have unit tests. The e2e/ directory contains only app.e2e-spec.ts with no positive test coverage.
Given the complexity of the donation + campaign balance + refund flows (issues #1, #2, #8, #12, #15), the absence of regression tests materially increases the cost of safe changes.
Recommendation
Cover the highest-risk service modules first: DonationsService, CampaignsService, MilestonesService, StellarTransactionsService, SorobanService. Mock prisma and Horizon/Soroban RPC.
Add e2e tests for POST /campaigns, POST /donations, POST /api-keys, and GET /campaigns/:id/stats.
Severity: Low
Type: Testing
Scope: Repository-wide
Labels:
testing,help wanted,Official CampaignDescription
A repository-wide search for
*.spec.tsfiles confirms a single test file exists:src/app.controller.spec.ts. None of the services (DonationsService,CampaignsService,MilestonesService,UsersService,AdminService,StellarTransactionsService,SorobanService,NotificationsService,EmailService,StellarEventService) have unit tests. Thee2e/directory contains onlyapp.e2e-spec.tswith no positive test coverage.Given the complexity of the donation + campaign balance + refund flows (issues #1, #2, #8, #12, #15), the absence of regression tests materially increases the cost of safe changes.
Recommendation
DonationsService,CampaignsService,MilestonesService,StellarTransactionsService,SorobanService. MockprismaandHorizon/Soroban RPC.POST /campaigns,POST /donations,POST /api-keys, andGET /campaigns/:id/stats.--coverageThreshold='{"global":{"lines":70,"functions":70,"branches":60,"statements":70}}').