Separate PRs and issues

This commit is contained in:
François Rozet
2023-04-29 11:24:28 +00:00
parent 9900d74f3e
commit 6fe9bb0e92
3 changed files with 82 additions and 78 deletions
+51 -37
View File
@@ -5,13 +5,13 @@ describe("Test calculateRank", () => {
it("new user gets B rank", () => {
expect(
calculateRank({
totalRepos: 0,
totalCommits: 0,
contributions: 0,
followers: 0,
all_commits: false,
commits: 0,
prs: 0,
issues: 0,
stargazers: 0,
repos: 0,
stars: 0,
followers: 0,
}),
).toStrictEqual({ level: "B", score: 100 });
});
@@ -19,13 +19,27 @@ describe("Test calculateRank", () => {
it("average user gets A rank", () => {
expect(
calculateRank({
totalRepos: 10,
totalCommits: 500,
contributions: 500,
followers: 50,
prs: 12,
issues: 13,
stargazers: 100,
all_commits: false,
commits: 100,
prs: 50,
issues: 10,
repos: 0,
stars: 100,
followers: 25,
}),
).toStrictEqual({ level: "A", score: 50 });
});
it("average user gets A rank (include_all_commits)", () => {
expect(
calculateRank({
all_commits: true,
commits: 500,
prs: 50,
issues: 10,
repos: 0,
stars: 100,
followers: 25,
}),
).toStrictEqual({ level: "A", score: 50 });
});
@@ -33,42 +47,42 @@ describe("Test calculateRank", () => {
it("more than average user gets A+ rank", () => {
expect(
calculateRank({
totalRepos: 50,
totalCommits: 1500,
contributions: 1500,
followers: 150,
prs: 50,
issues: 50,
stargazers: 300,
all_commits: false,
commits: 200,
prs: 100,
issues: 20,
repos: 0,
stars: 200,
followers: 50,
}),
).toStrictEqual({ level: "A+", score: 11.458333333333332 });
).toStrictEqual({ level: "A+", score: 25 });
});
it("expert user gets S rank", () => {
expect(
calculateRank({
totalRepos: 100,
totalCommits: 2000,
contributions: 2000,
followers: 500,
prs: 100,
issues: 100,
stargazers: 500,
all_commits: false,
commits: 400,
prs: 200,
issues: 40,
repos: 0,
stars: 400,
followers: 100,
}),
).toStrictEqual({ level: "S", score: 2.685546875 });
).toStrictEqual({ level: "S", score: 6.25 });
});
it("Linus Torvalds gets S+ rank", () => {
it("ezyang gets S+ rank", () => {
expect(
calculateRank({
totalRepos: 4,
totalCommits: 20000,
contributions: 20000,
followers: 132000,
prs: 71,
issues: 2,
stargazers: 109100,
all_commits: false,
commits: 1000,
prs: 4000,
issues: 2000,
repos: 0,
stars: 5000,
followers: 2000,
}),
).toStrictEqual({ level: "S+", score: 2.2021209178513677 });
).toStrictEqual({ level: "S+", score: 0.012207031250033307 });
});
});