test : added unit tests for calculateStreakFromDates#798
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
|
Deployment failed with the following error: |
Closes Priyanshu-byte-coder#778 Added test/calculateStreakFromDates.test.ts covering: returns 0 for empty array, single contribution today/yesterday, streak broken when last contribution older than yesterday, longest streak computation, freeze days respected, total active days, empty contributions and freeze arrays.
|
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 #778.
Summary of What Has Been Done:
Added test/calculateStreakFromDates.test.ts with vitest tests covering the calculateStreakFromDates function from src/app/api/metrics/streak/route.ts.
Changes Made:
New file: test/calculateStreakFromDates.test.ts
Test coverage:
Impact it Made:
All tests pass. Streak calculation validated across calendar edge cases including freeze days and day-boundary transitions.