rename ISystem to IPassioSystem

This commit is contained in:
2025-04-06 10:50:51 -07:00
parent 6d762ce620
commit 940d172e87
15 changed files with 31 additions and 38 deletions

View File

@@ -6,7 +6,7 @@ export interface IEntityWithId {
id: string;
}
export interface ISystem extends IEntityWithId, IEntityWithOptionalTimestamp {
export interface IPassioSystem extends IEntityWithId, IEntityWithOptionalTimestamp {
name: string;
}

View File

@@ -1,5 +1,5 @@
import { ShuttleGetterSetterRepository } from "../repositories/ShuttleGetterSetterRepository";
import { IEntityWithId, IEta, IRoute, IShuttle, IStop, ISystem } from "../entities/entities";
import { IEntityWithId, IEta, IRoute, IShuttle, IStop, IPassioSystem } from "../entities/entities";
import { ShuttleRepositoryLoader } from "./ShuttleRepositoryLoader";
export class ApiResponseError extends Error {
@@ -52,7 +52,7 @@ export class ApiBasedShuttleRepositoryLoader implements ShuttleRepositoryLoader
// filter down to supported systems
const filteredSystem = json.all.find((jsonSystem: any) => jsonSystem.id === this.systemId);
if (filteredSystem !== undefined) {
const constructedSystem: ISystem = {
const constructedSystem: IPassioSystem = {
id: filteredSystem.id,
name: filteredSystem.fullname,
};

View File

@@ -1,8 +1,8 @@
// Mock data
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "../entities/entities";
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, IPassioSystem } from "../entities/entities";
import { ShuttleGetterSetterRepository } from "../repositories/ShuttleGetterSetterRepository";
const systems: ISystem[] = [
const systems: IPassioSystem[] = [
{
id: "1",
name: "Chapman University",
@@ -4455,9 +4455,6 @@ const etas: IEta[] = [
];
export async function loadShuttleTestData(repository: ShuttleGetterSetterRepository) {
await Promise.all(systems.map(async (system) => {
await repository.updateSystem(system);
}));
await Promise.all(routes.map(async (route) => {
await repository.addOrUpdateRoute(route);
}));

View File

@@ -1,8 +1,6 @@
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "../entities/entities";
import { IEta, IOrderedStop, IRoute, IShuttle, IStop } from "../entities/entities";
export interface ShuttleGetterRepository {
getSystemIfExists(): Promise<ISystem | null>;
getStopsBySystemId(systemId: string): Promise<IStop[]>;
getStopById(stopId: string): Promise<IStop | null>;

View File

@@ -2,7 +2,7 @@
// to convert from data repo to GraphQL schema
import { ShuttleGetterRepository } from "./ShuttleGetterRepository";
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "../entities/entities";
import { IEta, IOrderedStop, IRoute, IShuttle, IStop } from "../entities/entities";
/**
* ShuttleGetterRepository interface for data derived from Passio API.
@@ -12,7 +12,6 @@ import { IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "../entitie
*/
export interface ShuttleGetterSetterRepository extends ShuttleGetterRepository {
// Setter methods
updateSystem(system: ISystem): Promise<void>;
addOrUpdateRoute(route: IRoute): Promise<void>;
addOrUpdateShuttle(shuttle: IShuttle): Promise<void>;
addOrUpdateStop(stop: IStop): Promise<void>;
@@ -25,7 +24,6 @@ export interface ShuttleGetterSetterRepository extends ShuttleGetterRepository {
removeOrderedStopIfExists(stopId: string, routeId: string): Promise<IOrderedStop | null>;
removeEtaIfExists(shuttleId: string, stopId: string): Promise<IEta | null>;
clearSystemData(): Promise<void>;
clearRouteData(): Promise<void>;
clearShuttleData(): Promise<void>;
clearStopData(): Promise<void>;

View File

@@ -7,7 +7,7 @@ import { fetchRouteDataSuccessfulResponse } from "../jsonSnapshots/fetchRouteDat
import {
fetchStopAndPolylineDataSuccessfulResponse
} from "../jsonSnapshots/fetchStopAndPolylineData/fetchStopAndPolylineDataSuccessfulResponse";
import { generateMockRoutes, generateMockShuttles, generateMockStops, generateMockSystems } from "../testHelpers/mockDataGenerators";
import { generateMockRoutes, generateMockShuttles, generateMockStops, generateMockPassioSystems } from "../testHelpers/mockDataGenerators";
import {
fetchShuttleDataSuccessfulResponse
} from "../jsonSnapshots/fetchShuttleData/fetchShuttleDataSuccessfulResponse";
@@ -33,7 +33,7 @@ describe("ApiBasedRepositoryLoader", () => {
describe("fetchAndUpdateSystemData", () => {
it("updates system data in repository if response received", async () => {
// Arrange
const systemsToPrune = generateMockSystems();
const systemsToPrune = generateMockPassioSystems();
await Promise.all(systemsToPrune.map(async (system) => {
await loader.repository.updateSystem(system);
}));
@@ -71,7 +71,7 @@ describe("ApiBasedRepositoryLoader", () => {
test("calls fetchAndUpdateRouteDataForSystemId for system in repository", async () => {
const spy = jest.spyOn(loader, "fetchAndUpdateRouteDataForSystemId");
const systems = generateMockSystems();
const systems = generateMockPassioSystems();
await loader.repository.updateSystem(systems[0]);
@@ -120,7 +120,7 @@ describe("ApiBasedRepositoryLoader", () => {
it("calls fetchAndUpdateStopAndPolylineDataForRoutesWithSystemId for system", async () => {
const spy = jest.spyOn(loader, "fetchAndUpdateStopAndPolylineDataForRoutesWithSystemId");
const systems = generateMockSystems();
const systems = generateMockPassioSystems();
await loader.repository.updateSystem(systems[0]);
@@ -175,7 +175,7 @@ describe("ApiBasedRepositoryLoader", () => {
it("calls fetchAndUpdateShuttleDataForSystemId for every system", async () => {
const spy = jest.spyOn(loader, "fetchAndUpdateShuttleDataForSystemId");
const systems = generateMockSystems();
const systems = generateMockPassioSystems();
await loader.repository.updateSystem(systems[0]);
await loader.fetchAndUpdateShuttleDataForExistingSystemInRepository();
@@ -217,7 +217,7 @@ describe("ApiBasedRepositoryLoader", () => {
it("calls fetchAndUpdateEtaDataFoExistingStopsForSystemId for every system in repository", async () => {
const spy = jest.spyOn(loader, "fetchAndUpdateEtaDataForExistingStopsForSystemId");
const systems = generateMockSystems();
const systems = generateMockPassioSystems();
await loader.repository.updateSystem(systems[0]);
await loader.fetchAndUpdateEtaDataForExistingStopsForSystemInRepository();

View File

@@ -1,6 +1,6 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { IEta, IShuttle, IStop, ISystem } from "../../src/entities/entities";
import { IEta, IShuttle, IStop, IPassioSystem } from "../../src/entities/entities";
import {
addMockEtaToRepository, addMockShuttleToRepository,
addMockStopToRepository,
@@ -12,7 +12,7 @@ describe("EtaResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
let mockSystem: IPassioSystem;
let mockShuttle: IShuttle;
let mockStop: IStop;
let expectedEta: IEta;

View File

@@ -1,6 +1,6 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { IRoute, IStop, ISystem } from "../../src/entities/entities";
import { IRoute, IStop, IPassioSystem } from "../../src/entities/entities";
import { generateMockOrderedStops, generateMockStops } from "../testHelpers/mockDataGenerators";
import { addMockRouteToRepository, addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
@@ -9,7 +9,7 @@ describe("OrderedStopResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
let mockSystem: IPassioSystem;
let mockRoute: IRoute;
let mockStops: IStop[];

View File

@@ -1,5 +1,5 @@
import { describe, expect, it } from "@jest/globals";
import { generateMockSystems } from "../testHelpers/mockDataGenerators";
import { generateMockPassioSystems } from "../testHelpers/mockDataGenerators";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import assert = require("node:assert");
import { addMockShuttleToRepository, addMockStopToRepository } from "../testHelpers/repositorySetupHelpers";
@@ -13,7 +13,7 @@ describe("QueryResolvers", () => {
const context = setupTestServerContext();
async function addMockSystems() {
const systems = generateMockSystems();
const systems = generateMockPassioSystems();
await Promise.all(systems.map(async (system) => {
await context.shuttleRepository.updateSystem(system);
}));

View File

@@ -6,14 +6,14 @@ import {
addMockSystemToRepository
} from "../testHelpers/repositorySetupHelpers";
import { generateMockOrderedStops, generateMockShuttles } from "../testHelpers/mockDataGenerators";
import { IRoute, IStop, ISystem } from "../../src/entities/entities";
import { IRoute, IStop, IPassioSystem } from "../../src/entities/entities";
import assert = require("node:assert");
describe("RouteResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
let mockSystem: IPassioSystem;
let mockRoute: IRoute;
let mockStop: IStop;

View File

@@ -1,6 +1,6 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { generateMockEtas, generateMockRoutes } from "../testHelpers/mockDataGenerators";
import { IShuttle, ISystem } from "../../src/entities/entities";
import { IShuttle, IPassioSystem } from "../../src/entities/entities";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { addMockShuttleToRepository, addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
@@ -10,7 +10,7 @@ describe("ShuttleResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
let mockSystem: IPassioSystem;
let mockShuttle: IShuttle;
beforeEach(async () => {

View File

@@ -1,7 +1,7 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { generateMockEtas, generateMockOrderedStops } from "../testHelpers/mockDataGenerators";
import { IStop, ISystem } from "../../src/entities/entities";
import { IStop, IPassioSystem } from "../../src/entities/entities";
import { addMockStopToRepository, addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
@@ -10,7 +10,7 @@ describe("StopResolvers", () => {
const context = setupTestServerContext();
let mockStop: IStop;
let mockSystem: ISystem;
let mockSystem: IPassioSystem;
beforeEach(async () => {
mockSystem = await addMockSystemToRepository(context.shuttleRepository);

View File

@@ -7,14 +7,14 @@ import {
addMockStopToRepository,
addMockSystemToRepository
} from "../testHelpers/repositorySetupHelpers";
import { ISystem } from "../../src/entities/entities";
import { IPassioSystem } from "../../src/entities/entities";
import assert = require("node:assert");
describe("SystemResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
let mockSystem: IPassioSystem;
beforeEach(async () => {
mockSystem = await addMockSystemToRepository(context.shuttleRepository);

View File

@@ -1,9 +1,9 @@
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "../../src/entities/entities";
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, IPassioSystem } from "../../src/entities/entities";
// Use a single set of generators in case any of the
// interfaces change in the future
export function generateMockSystems(): ISystem[] {
export function generateMockPassioSystems(): IPassioSystem[] {
return [
{ id: "1", name: "System A" },
{ id: "2", name: "System B" },

View File

@@ -3,12 +3,12 @@ import {
generateMockRoutes,
generateMockShuttles,
generateMockStops,
generateMockSystems
generateMockPassioSystems
} from "./mockDataGenerators";
import { ShuttleGetterSetterRepository } from "../../src/repositories/ShuttleGetterSetterRepository";
export async function addMockSystemToRepository(repository: ShuttleGetterSetterRepository) {
const mockSystems = generateMockSystems();
const mockSystems = generateMockPassioSystems();
const mockSystem = mockSystems[0];
mockSystem.id = "1";
await repository.updateSystem(mockSystem);