From 0a8f7aa39d44631f6e4ad274209f944e94c98a5d Mon Sep 17 00:00:00 2001 From: Michael C Date: Tue, 15 Jun 2021 23:01:26 -0400 Subject: [PATCH] skipSegments return 400 if bad categories --- src/routes/getSkipSegments.ts | 4 +++- test/cases/getSkipSegments.ts | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/routes/getSkipSegments.ts b/src/routes/getSkipSegments.ts index 30c965b..0af3470 100644 --- a/src/routes/getSkipSegments.ts +++ b/src/routes/getSkipSegments.ts @@ -306,7 +306,9 @@ async function endpoint(req: Request, res: Response): Promise { res.send(segments); } } catch (err) { - res.status(500).send(); + if (err instanceof SyntaxError) { + res.status(400).send("Categories parameter does not match format requirements."); + } else res.status(500).send(); } } diff --git a/test/cases/getSkipSegments.ts b/test/cases/getSkipSegments.ts index f40203c..6b59812 100644 --- a/test/cases/getSkipSegments.ts +++ b/test/cases/getSkipSegments.ts @@ -227,6 +227,14 @@ describe('getSkipSegments', () => { .catch(err => ("couldn't call endpoint")); }); + it('Should return 400 if bad categories argument', (done: Done) => { + fetch(getbaseURL() + "/api/skipSegments?videoID=testtesttest&categories=[not-quoted,not-quoted]") + .then(res => { + if (res.status !== 400) done("non 400 respone code: " + res.status); + else done(); // pass + }) + .catch(err => ("couldn't call endpoint")); + }); it('Should be able send a comma in a query param', () => { fetch(getbaseURL() + "/api/skipSegments?videoID=testtesttest,test&category=sponsor")