Move all tests to subdirectories underneath code to be tested

This commit is contained in:
2025-07-31 22:35:49 -04:00
parent 0fd8de13f9
commit b7299b8359
20 changed files with 79 additions and 79 deletions

View File

@@ -1,8 +1,8 @@
import { afterEach, beforeAll, beforeEach, describe, expect, it, jest } from "@jest/globals";
import { TimedApiBasedRepositoryLoader } from "../../src/loaders/TimedApiBasedRepositoryLoader";
import { resetGlobalFetchMockJson } from "../testHelpers/fetchMockHelpers";
import { UnoptimizedInMemoryShuttleRepository } from "../../src/repositories/shuttle/UnoptimizedInMemoryShuttleRepository";
import { ApiBasedShuttleRepositoryLoader } from "../../src/loaders/shuttle/ApiBasedShuttleRepositoryLoader";
import { TimedApiBasedRepositoryLoader } from "../TimedApiBasedRepositoryLoader";
import { resetGlobalFetchMockJson } from "../../../test/testHelpers/fetchMockHelpers";
import { UnoptimizedInMemoryShuttleRepository } from "../../repositories/shuttle/UnoptimizedInMemoryShuttleRepository";
import { ApiBasedShuttleRepositoryLoader } from "../shuttle/ApiBasedShuttleRepositoryLoader";
describe("TimedApiBasedRepositoryLoader", () => {
let timedLoader: TimedApiBasedRepositoryLoader;

View File

@@ -1,18 +1,18 @@
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
import {
ChapmanApiBasedParkingRepositoryLoader
} from "../../../src/loaders/parking/ChapmanApiBasedParkingRepositoryLoader";
import { InMemoryParkingRepository } from "../../../src/repositories/parking/InMemoryParkingRepository";
} from "../ChapmanApiBasedParkingRepositoryLoader";
import { InMemoryParkingRepository } from "../../../repositories/parking/InMemoryParkingRepository";
import {
resetGlobalFetchMockJson,
updateGlobalFetchMockJson,
updateGlobalFetchMockJsonToThrowSyntaxError
} from "../../testHelpers/fetchMockHelpers";
} from "../../../../test/testHelpers/fetchMockHelpers";
import {
chapmanParkingStructureData
} from "../../jsonSnapshots/chapmanParkingStructureData/chapmanParkingStructureData";
import { IParkingStructure } from "../../../src/entities/ParkingRepositoryEntities";
import { assertAsyncCallbackThrowsApiResponseError } from "../../testHelpers/assertAsyncCallbackThrowsApiResponseError";
} from "../../../../test/jsonSnapshots/chapmanParkingStructureData/chapmanParkingStructureData";
import { IParkingStructure } from "../../../entities/ParkingRepositoryEntities";
import { assertAsyncCallbackThrowsApiResponseError } from "../../../../test/testHelpers/assertAsyncCallbackThrowsApiResponseError";
describe("ChapmanApiBasedParkingRepositoryLoader", () => {
let loader: ChapmanApiBasedParkingRepositoryLoader;

View File

@@ -1,21 +1,21 @@
import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals";
import { ApiBasedShuttleRepositoryLoader } from "../../../src/loaders/shuttle/ApiBasedShuttleRepositoryLoader";
import { UnoptimizedInMemoryShuttleRepository } from "../../../src/repositories/shuttle/UnoptimizedInMemoryShuttleRepository";
import { fetchRouteDataSuccessfulResponse } from "../../jsonSnapshots/fetchRouteData/fetchRouteDataSuccessfulResponse";
import { ApiBasedShuttleRepositoryLoader } from "../ApiBasedShuttleRepositoryLoader";
import { UnoptimizedInMemoryShuttleRepository } from "../../../repositories/shuttle/UnoptimizedInMemoryShuttleRepository";
import { fetchRouteDataSuccessfulResponse } from "../../../../test/jsonSnapshots/fetchRouteData/fetchRouteDataSuccessfulResponse";
import {
fetchStopAndPolylineDataSuccessfulResponse
} from "../../jsonSnapshots/fetchStopAndPolylineData/fetchStopAndPolylineDataSuccessfulResponse";
import { generateMockRoutes, generateMockShuttles, generateMockStops } from "../../testHelpers/mockDataGenerators";
} from "../../../../test/jsonSnapshots/fetchStopAndPolylineData/fetchStopAndPolylineDataSuccessfulResponse";
import { generateMockRoutes, generateMockShuttles, generateMockStops } from "../../../../test/testHelpers/mockDataGenerators";
import {
fetchShuttleDataSuccessfulResponse
} from "../../jsonSnapshots/fetchShuttleData/fetchShuttleDataSuccessfulResponse";
import { fetchEtaDataSuccessfulResponse } from "../../jsonSnapshots/fetchEtaData/fetchEtaDataSuccessfulResponse";
} from "../../../../test/jsonSnapshots/fetchShuttleData/fetchShuttleDataSuccessfulResponse";
import { fetchEtaDataSuccessfulResponse } from "../../../../test/jsonSnapshots/fetchEtaData/fetchEtaDataSuccessfulResponse";
import {
resetGlobalFetchMockJson,
updateGlobalFetchMockJson,
updateGlobalFetchMockJsonToThrowSyntaxError
} from "../../testHelpers/fetchMockHelpers";
import { assertAsyncCallbackThrowsApiResponseError } from "../../testHelpers/assertAsyncCallbackThrowsApiResponseError";
} from "../../../../test/testHelpers/fetchMockHelpers";
import { assertAsyncCallbackThrowsApiResponseError } from "../../../../test/testHelpers/assertAsyncCallbackThrowsApiResponseError";
describe("ApiBasedShuttleRepositoryLoader", () => {
let loader: ApiBasedShuttleRepositoryLoader;

View File

@@ -1,14 +1,14 @@
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
import { ETANotificationScheduler } from "../../../src/notifications/schedulers/ETANotificationScheduler";
import { UnoptimizedInMemoryShuttleRepository } from "../../../src/repositories/shuttle/UnoptimizedInMemoryShuttleRepository";
import { IEta, IShuttle, IStop } from "../../../src/entities/ShuttleRepositoryEntities";
import { addMockShuttleToRepository, addMockStopToRepository } from "../../testHelpers/repositorySetupHelpers";
import { AppleNotificationSender } from "../../../src/notifications/senders/AppleNotificationSender";
import { InMemoryNotificationRepository } from "../../../src/repositories/notifications/InMemoryNotificationRepository";
import { NotificationRepository } from "../../../src/repositories/notifications/NotificationRepository";
import { ETANotificationScheduler } from "../ETANotificationScheduler";
import { UnoptimizedInMemoryShuttleRepository } from "../../../repositories/shuttle/UnoptimizedInMemoryShuttleRepository";
import { IEta, IShuttle, IStop } from "../../../entities/ShuttleRepositoryEntities";
import { addMockShuttleToRepository, addMockStopToRepository } from "../../../../test/testHelpers/repositorySetupHelpers";
import { AppleNotificationSender } from "../../senders/AppleNotificationSender";
import { InMemoryNotificationRepository } from "../../../repositories/notifications/InMemoryNotificationRepository";
import { NotificationRepository } from "../../../repositories/notifications/NotificationRepository";
jest.mock("http2");
jest.mock("../../../src/notifications/senders/AppleNotificationSender");
jest.mock("../../senders/AppleNotificationSender");
const MockAppleNotificationSender = AppleNotificationSender as jest.MockedClass<typeof AppleNotificationSender>;

View File

@@ -4,7 +4,7 @@ import { EventEmitter } from "node:events";
import {
AppleNotificationSender,
NotificationAlertArguments
} from "../../../src/notifications/senders/AppleNotificationSender";
} from "../AppleNotificationSender";
import { ClientHttp2Session } from "node:http2";
jest.mock("http2");

View File

@@ -1,7 +1,7 @@
import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals";
import { InMemoryNotificationRepository } from "../../src/repositories/notifications/InMemoryNotificationRepository";
import { NotificationEvent, NotificationRepository } from "../../src/repositories/notifications/NotificationRepository";
import { RedisNotificationRepository } from "../../src/repositories/notifications/RedisNotificationRepository";
import { InMemoryNotificationRepository } from "../InMemoryNotificationRepository";
import { NotificationEvent, NotificationRepository } from "../NotificationRepository";
import { RedisNotificationRepository } from "../RedisNotificationRepository";
interface RepositoryHolder {
name: string;

View File

@@ -1,9 +1,9 @@
import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals";
import { InMemoryParkingRepository, } from "../../src/repositories/parking/InMemoryParkingRepository";
import { IParkingStructure } from "../../src/entities/ParkingRepositoryEntities";
import { HistoricalParkingAverageQueryArguments } from "../../src/repositories/parking/ParkingGetterRepository";
import { ParkingGetterSetterRepository } from "../../src/repositories/parking/ParkingGetterSetterRepository";
import { RedisParkingRepository } from "../../src/repositories/parking/RedisParkingRepository";
import { InMemoryParkingRepository, } from "../InMemoryParkingRepository";
import { IParkingStructure } from "../../../entities/ParkingRepositoryEntities";
import { HistoricalParkingAverageQueryArguments } from "../ParkingGetterRepository";
import { ParkingGetterSetterRepository } from "../ParkingGetterSetterRepository";
import { RedisParkingRepository } from "../RedisParkingRepository";
interface RepositoryHolder {
name: string;

View File

@@ -1,12 +1,12 @@
import { beforeEach, describe, expect, jest, test } from "@jest/globals";
import { UnoptimizedInMemoryShuttleRepository } from "../../src/repositories/shuttle/UnoptimizedInMemoryShuttleRepository";
import { UnoptimizedInMemoryShuttleRepository } from "../UnoptimizedInMemoryShuttleRepository";
import {
generateMockEtas,
generateMockOrderedStops,
generateMockRoutes,
generateMockShuttles,
generateMockStops,
} from "../testHelpers/mockDataGenerators";
} from "../../../../test/testHelpers/mockDataGenerators";
// For repositories created in the future, reuse core testing
// logic from here and differentiate setup (e.g. creating mocks)

View File

@@ -1,11 +1,11 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { IEta, IShuttle, IStop } from "../../src/entities/ShuttleRepositoryEntities";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import { IEta, IShuttle, IStop } from "../../entities/ShuttleRepositoryEntities";
import {
addMockEtaToRepository,
addMockShuttleToRepository,
addMockStopToRepository,
} from "../testHelpers/repositorySetupHelpers";
} from "../../../test/testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
describe("EtaResolvers", () => {

View File

@@ -1,11 +1,11 @@
import { describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import {
addMockShuttleToRepository,
addMockStopToRepository,
} from "../testHelpers/repositorySetupHelpers";
} from "../../../test/testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
import { NotificationInput } from "../../src/generated/graphql";
import { NotificationInput } from "../../generated/graphql";
describe("MutationResolvers", () => {
const holder = setupTestServerHolder()

View File

@@ -1,8 +1,8 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { IRoute, IStop } from "../../src/entities/ShuttleRepositoryEntities";
import { generateMockOrderedStops, generateMockStops } from "../testHelpers/mockDataGenerators";
import { addMockRouteToRepository } from "../testHelpers/repositorySetupHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import { IRoute, IStop } from "../../entities/ShuttleRepositoryEntities";
import { generateMockOrderedStops, generateMockStops } from "../../../test/testHelpers/mockDataGenerators";
import { addMockRouteToRepository } from "../../../test/testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
describe("OrderedStopResolvers", () => {

View File

@@ -1,11 +1,11 @@
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { InterchangeSystem } from "../../src/entities/InterchangeSystem";
import { generateParkingStructures } from "../testHelpers/mockDataGenerators";
import { HistoricalParkingAverageQueryInput } from "../../src/generated/graphql";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import { InterchangeSystem } from "../../entities/InterchangeSystem";
import { generateParkingStructures } from "../../../test/testHelpers/mockDataGenerators";
import { HistoricalParkingAverageQueryInput } from "../../generated/graphql";
import assert = require("node:assert");
jest.mock("../../src/environment");
jest.mock("../../environment");
describe("ParkingStructureResolver", () => {
const holder = setupTestServerHolder();

View File

@@ -1,7 +1,7 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { generateParkingStructures } from "../testHelpers/mockDataGenerators";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { InterchangeSystem } from "../../src/entities/InterchangeSystem";
import { generateParkingStructures } from "../../../test/testHelpers/mockDataGenerators";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import { InterchangeSystem } from "../../entities/InterchangeSystem";
import assert = require("node:assert");

View File

@@ -3,10 +3,10 @@ import {
buildSystemForTesting,
setupTestServerContext,
setupTestServerHolder
} from "../testHelpers/apolloTestServerHelpers";
} from "../../../test/testHelpers/apolloTestServerHelpers";
import assert = require("node:assert");
import { addMockShuttleToRepository, addMockStopToRepository } from "../testHelpers/repositorySetupHelpers";
import { ScheduledNotification } from "../../src/repositories/notifications/NotificationRepository";
import { addMockShuttleToRepository, addMockStopToRepository } from "../../../test/testHelpers/repositorySetupHelpers";
import { ScheduledNotification } from "../../repositories/notifications/NotificationRepository";
// See Apollo documentation for integration test guide
// https://www.apollographql.com/docs/apollo-server/testing/testing

View File

@@ -1,13 +1,13 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import {
addMockRouteToRepository,
addMockStopToRepository
} from "../testHelpers/repositorySetupHelpers";
import { generateMockOrderedStops, generateMockShuttles } from "../testHelpers/mockDataGenerators";
import { IRoute, IStop } from "../../src/entities/ShuttleRepositoryEntities";
} from "../../../test/testHelpers/repositorySetupHelpers";
import { generateMockOrderedStops, generateMockShuttles } from "../../../test/testHelpers/mockDataGenerators";
import { IRoute, IStop } from "../../entities/ShuttleRepositoryEntities";
import assert = require("node:assert");
import { InterchangeSystem } from "../../src/entities/InterchangeSystem";
import { InterchangeSystem } from "../../entities/InterchangeSystem";
describe("RouteResolvers", () => {
const holder = setupTestServerHolder();

View File

@@ -1,10 +1,10 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { generateMockEtas, generateMockRoutes } from "../testHelpers/mockDataGenerators";
import { IShuttle } from "../../src/entities/ShuttleRepositoryEntities";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { addMockShuttleToRepository } from "../testHelpers/repositorySetupHelpers";
import { generateMockEtas, generateMockRoutes } from "../../../test/testHelpers/mockDataGenerators";
import { IShuttle } from "../../entities/ShuttleRepositoryEntities";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import { addMockShuttleToRepository } from "../../../test/testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
import { InterchangeSystem } from "../../src/entities/InterchangeSystem";
import { InterchangeSystem } from "../../entities/InterchangeSystem";
describe("ShuttleResolvers", () => {

View File

@@ -2,10 +2,10 @@ import { beforeEach, describe, expect, it } from "@jest/globals";
import {
setupTestServerContext,
setupTestServerHolder
} from "../testHelpers/apolloTestServerHelpers";
import { generateMockEtas, generateMockOrderedStops } from "../testHelpers/mockDataGenerators";
import { IStop } from "../../src/entities/ShuttleRepositoryEntities";
import { addMockStopToRepository } from "../testHelpers/repositorySetupHelpers";
} from "../../../test/testHelpers/apolloTestServerHelpers";
import { generateMockEtas, generateMockOrderedStops } from "../../../test/testHelpers/mockDataGenerators";
import { IStop } from "../../entities/ShuttleRepositoryEntities";
import { addMockStopToRepository } from "../../../test/testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
describe("StopResolvers", () => {

View File

@@ -1,18 +1,18 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../../../test/testHelpers/apolloTestServerHelpers";
import {
generateMockRoutes,
generateMockShuttles,
generateMockStops,
generateParkingStructures
} from "../testHelpers/mockDataGenerators";
} from "../../../test/testHelpers/mockDataGenerators";
import {
addMockRouteToRepository,
addMockShuttleToRepository,
addMockStopToRepository,
} from "../testHelpers/repositorySetupHelpers";
} from "../../../test/testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
import { InterchangeSystem } from "../../src/entities/InterchangeSystem";
import { InterchangeSystem } from "../../entities/InterchangeSystem";
describe("SystemResolvers", () => {
const holder = setupTestServerHolder();

View File

@@ -1,5 +1,5 @@
import { describe, expect, it } from "@jest/globals";
import { CircularQueue } from "../../src/types/CircularQueue";
import { CircularQueue } from "../CircularQueue";
interface TestItem {
id: number;

View File

@@ -1,5 +1,5 @@
import { describe, expect, it } from "@jest/globals";
import { TupleKey } from "../../src/types/TupleKey";
import { TupleKey } from "../TupleKey";
describe("TupleKey", () => {
it("stores a value copy of the original tuple", () => {