refactor(stats card fetcher): improve could not fetch total commits error message (#3255)

This commit is contained in:
Alexandr Garbuzov 2023-09-21 21:30:24 +03:00 committed by GitHub
parent 12f84f89c8
commit 65c3300189
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View file

@ -180,7 +180,10 @@ const totalCommitsFetcher = async (username) => {
const totalCount = res.data.total_count;
if (!totalCount || isNaN(totalCount)) {
throw new Error("Could not fetch total commits.");
throw new CustomError(
"Could not fetch total commits.",
CustomError.GRAPHQL_ERROR,
);
}
return totalCount;
};

View file

@ -304,4 +304,22 @@ describe("Test /api/", () => {
renderError("Something went wrong", "Language not found"),
);
});
it("should render error card when include_all_commits true and upstream API fails", async () => {
mock
.onGet("https://api.github.com/search/commits?q=author:anuraghazra")
.reply(200, { error: "Some test error message" });
const { req, res } = faker(
{ username: "anuraghazra", include_all_commits: true },
data_stats,
);
await api(req, res);
expect(res.setHeader).toBeCalledWith("Content-Type", "image/svg+xml");
expect(res.send).toBeCalledWith(
renderError("Could not fetch total commits.", "Please try again later"),
);
});
});