diff --git a/tests/renderStatsCard.test.js b/tests/renderStatsCard.test.js index fbc02a9..abbf210 100644 --- a/tests/renderStatsCard.test.js +++ b/tests/renderStatsCard.test.js @@ -6,6 +6,7 @@ import { import { cssToObject } from "@uppercod/css-to-object"; import { renderStatsCard } from "../src/cards/stats-card.js"; import { expect, it, describe } from "@jest/globals"; +import { CustomError } from "../src/common/utils.js"; // adds special assertions like toHaveTextContent import "@testing-library/jest-dom"; @@ -449,4 +450,18 @@ describe("Test renderStatsCard", () => { queryByTestId(document.body, "percentile-rank-value").textContent.trim(), ).toBe(stats.rank.percentile.toFixed(1) + "%"); }); + + it("should throw error if all stats and rank icon are hidden", () => { + expect(() => + renderStatsCard(stats, { + hide: ["stars", "commits", "prs", "issues", "contribs"], + hide_rank: true, + }), + ).toThrow( + new CustomError( + "Could not render stats card.", + "Either stats or rank are required.", + ), + ); + }); });