Move RepositoryHolder into test helpers, as it's shared across shared tests

This commit is contained in:
2025-11-11 10:59:20 -08:00
parent 53e120cd1e
commit c43201b867
3 changed files with 11 additions and 16 deletions

View File

@@ -4,14 +4,9 @@ import { IParkingStructure } from "../../../entities/ParkingRepositoryEntities";
import { ParkingGetterSetterRepository } from "../ParkingGetterSetterRepository"; import { ParkingGetterSetterRepository } from "../ParkingGetterSetterRepository";
import { RedisParkingRepository } from "../RedisParkingRepository"; import { RedisParkingRepository } from "../RedisParkingRepository";
import { HistoricalParkingAverageFilterArguments } from "../ParkingGetterRepository"; import { HistoricalParkingAverageFilterArguments } from "../ParkingGetterRepository";
import { RepositoryHolder } from "../../../../testHelpers/RepositoryHolder";
interface RepositoryHolder { class InMemoryParkingRepositoryHolder implements RepositoryHolder<ParkingGetterSetterRepository> {
name: string;
factory(): Promise<ParkingGetterSetterRepository>;
teardown(): Promise<void>;
}
class InMemoryParkingRepositoryHolder implements RepositoryHolder {
name = 'InMemoryParkingRepository'; name = 'InMemoryParkingRepository';
factory = async () => { factory = async () => {
return new InMemoryParkingRepository(); return new InMemoryParkingRepository();
@@ -19,7 +14,7 @@ class InMemoryParkingRepositoryHolder implements RepositoryHolder {
teardown = async () => {}; teardown = async () => {};
} }
class RedisParkingRepositoryHolder implements RepositoryHolder { class RedisParkingRepositoryHolder implements RepositoryHolder<ParkingGetterSetterRepository> {
repo: RedisParkingRepository | undefined; repo: RedisParkingRepository | undefined;
name = 'RedisParkingRepository'; name = 'RedisParkingRepository';

View File

@@ -11,14 +11,9 @@ import {
generateMockShuttles, generateMockShuttles,
generateMockStops, generateMockStops,
} from "../../../../testHelpers/mockDataGenerators"; } from "../../../../testHelpers/mockDataGenerators";
import { RepositoryHolder } from "../../../../testHelpers/RepositoryHolder";
interface RepositoryHolder { class UnoptimizedInMemoryShuttleRepositoryHolder implements RepositoryHolder<ShuttleGetterSetterRepository> {
name: string;
factory(): Promise<ShuttleGetterSetterRepository>;
teardown(): Promise<void>;
}
class UnoptimizedInMemoryShuttleRepositoryHolder implements RepositoryHolder {
name = 'UnoptimizedInMemoryShuttleRepository'; name = 'UnoptimizedInMemoryShuttleRepository';
factory = async () => { factory = async () => {
return new UnoptimizedInMemoryShuttleRepository(); return new UnoptimizedInMemoryShuttleRepository();
@@ -26,7 +21,7 @@ class UnoptimizedInMemoryShuttleRepositoryHolder implements RepositoryHolder {
teardown = async () => {}; teardown = async () => {};
} }
class RedisShuttleRepositoryHolder implements RepositoryHolder { class RedisShuttleRepositoryHolder implements RepositoryHolder<ShuttleGetterSetterRepository> {
repo: RedisShuttleRepository | undefined; repo: RedisShuttleRepository | undefined;
name = 'RedisShuttleRepository'; name = 'RedisShuttleRepository';

View File

@@ -0,0 +1,5 @@
export interface RepositoryHolder<T> {
name: string;
factory(): Promise<T>;
teardown(): Promise<void>;
}