55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import { getGithubUserContribution } from "..";
|
|
|
|
describe("getGithubUserContribution", () => {
|
|
const promise = getGithubUserContribution("platane");
|
|
|
|
it("should resolve", async () => {
|
|
await promise;
|
|
});
|
|
|
|
it("should get colorScheme", async () => {
|
|
const { colorScheme } = await promise;
|
|
|
|
expect(colorScheme).toEqual([
|
|
"#ebedf0",
|
|
"#9be9a8",
|
|
"#40c463",
|
|
"#30a14e",
|
|
"#216e39",
|
|
]);
|
|
});
|
|
|
|
it("should get around 365 cells", async () => {
|
|
const { cells } = await promise;
|
|
|
|
expect(cells.length).toBeGreaterThanOrEqual(365);
|
|
expect(cells.length).toBeLessThanOrEqual(365 + 7);
|
|
});
|
|
|
|
it("cells should have x / y coords representing to a 7 x (365/7) (minus unfilled last row)", async () => {
|
|
const { cells, colorScheme } = await promise;
|
|
|
|
expect(cells.length).toBeGreaterThan(300);
|
|
expect(colorScheme).toEqual([
|
|
"#ebedf0",
|
|
"#9be9a8",
|
|
"#40c463",
|
|
"#30a14e",
|
|
"#216e39",
|
|
]);
|
|
|
|
const undefinedDays = Array.from({ length: Math.floor(365 / 7) })
|
|
.map((x) => Array.from({ length: 7 }).map((y) => ({ x, y })))
|
|
.flat()
|
|
.filter(({ x, y }) => cells.some((c) => c.x === x && c.y === y));
|
|
|
|
expect(undefinedDays).toEqual([]);
|
|
});
|
|
});
|
|
|
|
xit("should match snapshot for year=2019", async () => {
|
|
expect(
|
|
await getGithubUserContribution("platane", { year: 2019 })
|
|
).toMatchSnapshot();
|
|
});
|