mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
update repository loader and tests to support only one system
This commit is contained in:
@@ -45,12 +45,8 @@ describe("ApiBasedRepositoryLoader", () => {
|
||||
await loader.fetchAndUpdateSystemData();
|
||||
|
||||
// Assert
|
||||
const systems = await loader.repository.getSystemIfExists();
|
||||
if (loader.supportedSystemIds.length < numberOfSystemsInResponse) {
|
||||
expect(systems).toHaveLength(loader.supportedSystemIds.length);
|
||||
} else {
|
||||
expect(systems).toHaveLength(numberOfSystemsInResponse);
|
||||
}
|
||||
const system = await loader.repository.getSystemIfExists();
|
||||
expect(system).not.toBeNull();
|
||||
});
|
||||
|
||||
it("throws the correct error if the API response contains no data", async () => {
|
||||
@@ -72,18 +68,17 @@ describe("ApiBasedRepositoryLoader", () => {
|
||||
|
||||
|
||||
describe("fetchAndUpdateRouteDataForExistingSystemsInRepository", () => {
|
||||
test("calls fetchAndUpdateRouteDataForSystemId for all systems in repository", async () => {
|
||||
test("calls fetchAndUpdateRouteDataForSystemId for system in repository", async () => {
|
||||
const spy = jest.spyOn(loader, "fetchAndUpdateRouteDataForSystemId");
|
||||
|
||||
const systems = generateMockSystems();
|
||||
|
||||
await Promise.all(systems.map(async (system) => {
|
||||
await loader.repository.updateSystem(system);
|
||||
}));
|
||||
await loader.repository.updateSystem(systems[0]);
|
||||
|
||||
await loader.fetchAndUpdateRouteDataForExistingSystemsInRepository();
|
||||
await loader.fetchAndUpdateRouteDataForExistingSystemInRepository();
|
||||
|
||||
expect(spy.mock.calls.length).toBe(systems.length);
|
||||
expect(spy.mock.calls.length).toBe(1);
|
||||
expect(spy).toHaveBeenCalledWith(systems[0].id)
|
||||
});
|
||||
});
|
||||
|
||||
@@ -122,18 +117,17 @@ describe("ApiBasedRepositoryLoader", () => {
|
||||
});
|
||||
|
||||
describe("fetchAndUpdateStopAndPolylineDataForRoutesInExistingSystemsInRepository", () => {
|
||||
it("calls fetchAndUpdateStopAndPolylineDataForRoutesWithSystemId for every system", async () => {
|
||||
it("calls fetchAndUpdateStopAndPolylineDataForRoutesWithSystemId for system", async () => {
|
||||
const spy = jest.spyOn(loader, "fetchAndUpdateStopAndPolylineDataForRoutesWithSystemId");
|
||||
|
||||
const systems = generateMockSystems();
|
||||
|
||||
await Promise.all(systems.map(async (system) => {
|
||||
await loader.repository.updateSystem(system);
|
||||
}));
|
||||
await loader.repository.updateSystem(systems[0]);
|
||||
|
||||
await loader.fetchAndUpdateStopAndPolylineDataForRoutesInExistingSystemsInRepository();
|
||||
await loader.fetchAndUpdateStopAndPolylineDataForRoutesInExistingSystemInRepository();
|
||||
|
||||
expect(spy.mock.calls.length).toBe(systems.length);
|
||||
expect(spy.mock.calls.length).toBe(1);
|
||||
expect(spy).toHaveBeenCalledWith(systems[0].id)
|
||||
});
|
||||
})
|
||||
|
||||
@@ -182,13 +176,12 @@ describe("ApiBasedRepositoryLoader", () => {
|
||||
const spy = jest.spyOn(loader, "fetchAndUpdateShuttleDataForSystemId");
|
||||
|
||||
const systems = generateMockSystems();
|
||||
await Promise.all(systems.map(async (system) => {
|
||||
await loader.repository.updateSystem(system);
|
||||
}))
|
||||
await loader.repository.updateSystem(systems[0]);
|
||||
|
||||
await loader.fetchAndUpdateShuttleDataForExistingSystemsInRepository();
|
||||
await loader.fetchAndUpdateShuttleDataForExistingSystemInRepository();
|
||||
|
||||
expect(spy.mock.calls.length).toBe(systems.length);
|
||||
expect(spy.mock.calls.length).toBe(1);
|
||||
expect(spy).toHaveBeenCalledWith(systems[0].id)
|
||||
});
|
||||
});
|
||||
|
||||
@@ -225,13 +218,12 @@ describe("ApiBasedRepositoryLoader", () => {
|
||||
const spy = jest.spyOn(loader, "fetchAndUpdateEtaDataForExistingStopsForSystemId");
|
||||
|
||||
const systems = generateMockSystems();
|
||||
await Promise.all(systems.map(async (system) => {
|
||||
await loader.repository.updateSystem(system);
|
||||
}));
|
||||
await loader.repository.updateSystem(systems[0]);
|
||||
|
||||
await loader.fetchAndUpdateEtaDataForExistingStopsForSystemsInRepository();
|
||||
await loader.fetchAndUpdateEtaDataForExistingStopsForSystemInRepository();
|
||||
|
||||
expect(spy.mock.calls.length).toBe(systems.length);
|
||||
expect(spy.mock.calls.length).toBe(1);
|
||||
expect(spy).toHaveBeenCalledWith(systems[0].id)
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user