From e25a96f7049505395960d53cdbf4332fca98bb57 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Thu, 10 Apr 2025 16:46:59 -0700 Subject: [PATCH] add test for ApiResponseError --- ...nTimedApiBasedParkingRepositoryLoaderTests.test.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoaderTests.test.ts b/test/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoaderTests.test.ts index 582d7e8..73cf7e2 100644 --- a/test/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoaderTests.test.ts +++ b/test/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoaderTests.test.ts @@ -3,11 +3,16 @@ import { ChapmanTimedApiBasedParkingRepositoryLoader } from "../../../src/loaders/ParkingRepositoryLoaders/ChapmanTimedApiBasedParkingRepositoryLoader"; import { InMemoryParkingRepository } from "../../../src/repositories/InMemoryParkingRepository"; -import { resetGlobalFetchMockJson, updateGlobalFetchMockJson } from "../../testHelpers/fetchMockHelpers"; +import { + resetGlobalFetchMockJson, + updateGlobalFetchMockJson, + updateGlobalFetchMockJsonToThrowSyntaxError +} from "../../testHelpers/fetchMockHelpers"; import { chapmanParkingStructureData } from "../../jsonSnapshots/chapmanParkingStructureData/chapmanParkingStructureData"; import { IParkingStructure } from "../../../src/entities/ParkingRepositoryEntities"; +import { assertAsyncCallbackThrowsApiResponseError } from "../../testHelpers/assertAsyncCallbackThrowsApiResponseError"; describe("ChapmanTimedApiBasedParkingRepositoryLoader", () => { let loader: ChapmanTimedApiBasedParkingRepositoryLoader; @@ -57,7 +62,11 @@ describe("ChapmanTimedApiBasedParkingRepositoryLoader", () => { }); it("throws ApiResponseError if data is incorrect", async () => { + updateGlobalFetchMockJsonToThrowSyntaxError(); + await assertAsyncCallbackThrowsApiResponseError(async () => { + await loader.fetchAndUpdateParkingStructures(); + }); }) }); });