From 6c9f4691fd7c855ab469882eea2cb537c1c515d0 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Wed, 22 Jan 2025 13:44:13 -0800 Subject: [PATCH] add test case for successful system response --- test/loaders/ApiBasedRepositoryLoaderTests.test.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test/loaders/ApiBasedRepositoryLoaderTests.test.ts b/test/loaders/ApiBasedRepositoryLoaderTests.test.ts index f14a794..177cf8b 100644 --- a/test/loaders/ApiBasedRepositoryLoaderTests.test.ts +++ b/test/loaders/ApiBasedRepositoryLoaderTests.test.ts @@ -1,6 +1,7 @@ -import { beforeEach, describe, it, jest, test } from "@jest/globals"; +import { beforeEach, describe, expect, it, jest, test } from "@jest/globals"; import { ApiBasedRepositoryLoader } from "../../src/loaders/ApiBasedRepositoryLoader"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; +import { getAllSystemsResponse } from "../jsonSnapshots/getAllSystemsResponse"; function updateGlobalFetchMockJson(obj: any) { // @ts-ignore @@ -29,7 +30,17 @@ describe("ApiBasedRepositoryLoader", () => { describe("fetchAndUpdateSystemData", () => { it("updates system data in repository if response received", async () => { + const numberOfSystemsInResponse = getAllSystemsResponse.all.length; + updateGlobalFetchMockJson(getAllSystemsResponse); + await loader.fetchAndUpdateSystemData(); + + const systems = await loader.repository.getSystems(); + if (loader.supportedSystemIds.length < numberOfSystemsInResponse) { + expect(systems).toHaveLength(loader.supportedSystemIds.length); + } else { + expect(systems).toHaveLength(numberOfSystemsInResponse); + } }); it("throws the correct error if the API response contains no data", async () => {