From 549b5c8539d515926c7ff732c4e57947e310e5c2 Mon Sep 17 00:00:00 2001 From: vardhan30016 Date: Tue, 4 Nov 2025 21:59:54 +0530 Subject: [PATCH 1/2] test(calculateRank): fix floating-point precision in B- rank test --- package-lock.json | 22 ++++++++++++++++++++-- tests/calculateRank.test.js | 26 ++++++++++++++------------ 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ee0d2fc51451..8269c952d9459 100644 --- a/package-lock.json +++ b/package-lock.json @@ -157,6 +157,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -686,6 +687,7 @@ "url": "https://opencollective.com/csstools" } ], + "peer": true, "engines": { "node": ">=18" }, @@ -708,6 +710,7 @@ "url": "https://opencollective.com/csstools" } ], + "peer": true, "engines": { "node": ">=18" } @@ -1494,6 +1497,7 @@ "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -2207,6 +2211,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2333,6 +2338,7 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.0.tgz", "integrity": "sha512-zt40Pz4zcRXra9CVV31KeyofwiNvAbJ5B6YPz9pMJ+yOSLikvPT4Yi5LjfgjRa9CawVYBaD1JQzIVcIvBejKeA==", + "peer": true, "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -2527,6 +2533,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.9", "caniuse-lite": "^1.0.30001746", @@ -3246,6 +3253,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -5481,6 +5489,7 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, + "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -7951,6 +7960,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, + "peer": true, "requires": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -8297,13 +8307,15 @@ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "dev": true, + "peer": true, "requires": {} }, "@csstools/css-tokenizer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", - "dev": true + "dev": true, + "peer": true }, "@emnapi/core": { "version": "1.5.0", @@ -8901,6 +8913,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.1.tgz", "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==", "dev": true, + "peer": true, "requires": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -9425,7 +9438,8 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true + "dev": true, + "peer": true }, "acorn-jsx": { "version": "5.3.2", @@ -9516,6 +9530,7 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.0.tgz", "integrity": "sha512-zt40Pz4zcRXra9CVV31KeyofwiNvAbJ5B6YPz9pMJ+yOSLikvPT4Yi5LjfgjRa9CawVYBaD1JQzIVcIvBejKeA==", + "peer": true, "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -9661,6 +9676,7 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", "dev": true, + "peer": true, "requires": { "baseline-browser-mapping": "^2.8.9", "caniuse-lite": "^1.0.30001746", @@ -10169,6 +10185,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", "dev": true, + "peer": true, "requires": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -11769,6 +11786,7 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, + "peer": true, "requires": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", diff --git a/tests/calculateRank.test.js b/tests/calculateRank.test.js index 662dd2677f9ee..23d71aba92829 100644 --- a/tests/calculateRank.test.js +++ b/tests/calculateRank.test.js @@ -19,18 +19,20 @@ describe("Test calculateRank", () => { }); it("beginner user gets B- rank", () => { - expect( - calculateRank({ - all_commits: false, - commits: 125, - prs: 25, - issues: 10, - reviews: 5, - repos: 0, - stars: 25, - followers: 5, - }), - ).toStrictEqual({ level: "B-", percentile: 65.02918514848255 }); + const result = calculateRank({ + all_commits: false, + commits: 125, + prs: 25, + issues: 10, + reviews: 5, + repos: 0, + stars: 25, + followers: 5, + }); + + expect(result.level).toBe("B-"); + // Allow for small floating-point precision differences + expect(result.percentile).toBeCloseTo(65.02918514848255, 5); }); it("median user gets B+ rank", () => { From 11979a47201e572967231f3446372074bfc06c23 Mon Sep 17 00:00:00 2001 From: vardhan30016 Date: Tue, 4 Nov 2025 22:10:06 +0530 Subject: [PATCH 2/2] test(calculateRank): fix floating-point precision for B- rank --- tests/calculateRank.test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/calculateRank.test.js b/tests/calculateRank.test.js index 23d71aba92829..21c51804c07c2 100644 --- a/tests/calculateRank.test.js +++ b/tests/calculateRank.test.js @@ -31,7 +31,6 @@ describe("Test calculateRank", () => { }); expect(result.level).toBe("B-"); - // Allow for small floating-point precision differences expect(result.percentile).toBeCloseTo(65.02918514848255, 5); });