feat(gist): handle missing param error (#3101)

This commit is contained in:
Alexandr Garbuzov 2023-08-19 09:35:52 +03:00 committed by GitHub
parent ea79314a85
commit 2e619cc8a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 1 deletions

View file

@ -1,6 +1,6 @@
// @ts-check
import { request } from "../common/utils.js";
import { request, MissingParamError } from "../common/utils.js";
import { retryer } from "../common/retryer.js";
/**
@ -57,6 +57,7 @@ const fetcher = async (variables, token) => {
* @returns {Promise<GistData>} Gist data.
*/
const fetchGist = async (id) => {
if (!id) throw new MissingParamError(["id"], "/api/gist?id=GIST_ID");
const res = await retryer(fetcher, { gistName: id });
if (res.data.errors) throw new Error(res.data.errors[0].message);
const data = res.data.data.viewer.gist;

View file

@ -69,4 +69,10 @@ describe("Test fetchGist", () => {
"Some test GraphQL error",
);
});
it("should throw error if id is not provided", async () => {
await expect(fetchGist()).rejects.toThrow(
'Missing params "id" make sure you pass the parameters in URL',
);
});
});

View file

@ -70,6 +70,7 @@ describe("Test /api/gist", () => {
it("should get the query options", async () => {
const req = {
query: {
id: "bbfce31e0217a3689c8d961a356cb10d",
title_color: "fff",
icon_color: "fff",
text_color: "fff",