diff --git a/test/loaders/ApiBasedRepositoryLoaderTests.test.ts b/test/loaders/ApiBasedRepositoryLoaderTests.test.ts index 3b7b633..bc8000d 100644 --- a/test/loaders/ApiBasedRepositoryLoaderTests.test.ts +++ b/test/loaders/ApiBasedRepositoryLoaderTests.test.ts @@ -29,7 +29,11 @@ function updateGlobalFetchMockJson( * @param obj */ function resetGlobalFetchMockJson() { - updateGlobalFetchMockJson({}) + updateGlobalFetchMockJson({}); +} + +async function assertAsyncCallbackThrowsApiResponseError(callback: () => Promise) { + await expect(callback).rejects.toThrow(ApiResponseError); } describe("ApiBasedRepositoryLoader", () => { @@ -58,18 +62,17 @@ describe("ApiBasedRepositoryLoader", () => { it("throws the correct error if the API response contains no data", async () => { updateGlobalFetchMockJson(fetchSystemDataFailedResponse); - // Jest is so confusing - await expect(async () => { + await assertAsyncCallbackThrowsApiResponseError(async () => { await loader.fetchAndUpdateSystemData(); - }).rejects.toThrow(ApiResponseError); + }); }); it("throws the correct error if HTTP status code is not 200", async () => { updateGlobalFetchMockJson(fetchSystemDataFailedResponse, 400); - await expect(async () => { + await assertAsyncCallbackThrowsApiResponseError(async () => { await loader.fetchAndUpdateSystemData(); - }).rejects.toThrow(ApiResponseError); + }); }); });