test : added unit tests for calculateCurrentStreak in leaderboard#802
test : added unit tests for calculateCurrentStreak in leaderboard#802tmdeveloper007 wants to merge 2 commits into
Conversation
|
@TESTPERSONAL is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel. A member of the Team first needs to authorize it. |
GSSoC Label Checklist 🏷️@Priyanshu-byte-coder — please apply the appropriate labels before merging: Difficulty (pick one):
Quality (optional):
Validation (required to score):
|
Priyanshu-byte-coder
left a comment
There was a problem hiding this comment.
Tests must import from source — not reimplement the function locally.
The test file re-implements the function being tested inside the test itself. This defeats the purpose of testing — changes to the real implementation won't fail these tests.
Fix: import the actual function from its source file and test that import. Example:
import { safeCompare } from '../src/lib/crypto'
// then test safeCompare directlyAlso fix:
- Add
"test": "vitest run"toscriptsinpackage.json - Add
vitest.config.tswithresolve.alias: { '@': path.resolve(__dirname, 'src') } - Add EOF newline to test file
d75af7a to
f9ad610
Compare
Closes Priyanshu-byte-coder#782 Added test/leaderboard-streak.test.ts covering: - calculateCurrentStreak: empty array, single contribution today/yesterday, 0 when last contribution before yesterday, consecutive day streak count, today/yesterday boundary, duplicate dates - dateDiffDays: consecutive days, reverse order, same day, year boundary - toDateStr: YYYY-MM-DD format, zero-padding Impact: All 15 tests pass. Leaderboard streak ranking validated.
…test for type checking
|
This pull request is fully up-to-date with the latest upstream merges, all review items are addressed, local tests are passing cleanly, and it is fully ready to be merged! 🚀 |
Closes #782.
Summary of What Has Been Done:
Added test/leaderboard-streak.test.ts with 15 vitest tests covering the calculateCurrentStreak function from src/app/api/leaderboard/route.ts.
Changes Made:
New file: test/leaderboard-streak.test.ts
Test coverage:
Impact it Made:
All 15 tests pass. Streak ranking calculation validated across year boundaries and day-edge cases.