From a64b8dc098145fd1f1eefc0ba8152733a8f98d1b Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Wed, 18 Oct 2023 18:15:08 +0100 Subject: [PATCH 1/2] Fix fetch not using error system when unable to fetch --- src/index.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 4c2b31c..26195c4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -15,7 +15,13 @@ const sortable = [ export default async function randomBunny(subreddit: string, sortBy: string = 'hot'): Promise { if (!sortable.includes(sortBy)) sortBy = 'hot'; - const result = await fetch(`https://reddit.com/r/${subreddit}/${sortBy}.json`); + const result = await fetch(`https://reddit.com/r/${subreddit}/${sortBy}.json`) + .then((res) => { + return res; + }) + .catch(() => { + return null; + }); if (!result) { return { -- 2.45.2 From bc41162f3877afb0de812d21b431b15448fee790 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Wed, 18 Oct 2023 18:24:10 +0100 Subject: [PATCH 2/2] Update tests to better match rejecting a fetch --- tests/index.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/index.test.ts b/tests/index.test.ts index 107e7ff..2fb1a14 100644 --- a/tests/index.test.ts +++ b/tests/index.test.ts @@ -1,7 +1,7 @@ import { ErrorCode } from "../src/constants/ErrorCode"; import ErrorMessages from "../src/constants/ErrorMessages"; import randomBunny from "../src/index"; -import fetch from "got-cjs"; +import fetch, { CancelableRequest } from "got-cjs"; jest.mock('got-cjs'); const fetchMock = jest.mocked(fetch); @@ -104,7 +104,7 @@ describe('randomBunny', () => { }); test('GIVEN the fetch fails, EXPECT failure result', async () => { - fetchMock.mockResolvedValue(null); + fetchMock.mockRejectedValue('Test Reason') const result = await randomBunny('rabbits', 'new'); -- 2.45.2