diff --git a/test/repositories/ApiBasedRepositoryTests.test.ts b/test/repositories/ApiBasedRepositoryTests.test.ts index 1ae6272..8511959 100644 --- a/test/repositories/ApiBasedRepositoryTests.test.ts +++ b/test/repositories/ApiBasedRepositoryTests.test.ts @@ -479,7 +479,34 @@ describe("getShuttleById", () => { }); test("getShuttleById returns fresh data if expired", async () => { + updateGlobalFetchMockJson(genericShuttleDataBySystemId); + const initialCacheShuttle = { + coordinates: { + latitude: 33.791781, + longitude: -117.8589646, + }, + name: "08", + routeId: "53966", + systemId: "1", + id: "5577", + millisecondsSinceEpoch: Date.now() - 100000, + } + + const initialCache: ApiBasedRepositoryCache = { + shuttleByShuttleId: { + "5577": initialCacheShuttle + } + }; + + const ttls: ApiBasedRepositoryMillisecondTTLs = { + shuttleByShuttleId: 1000, + }; + + const repository = new ApiBasedRepository(initialCache, ttls); + const shuttle = await repository.getShuttleById("5577"); + expect(shuttle?.id).toEqual(initialCacheShuttle.id); + expect(initialCacheShuttle.millisecondsSinceEpoch).not.toEqual(shuttle?.millisecondsSinceEpoch); }); });