mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
Remove clearAllData from BaseRedisRepository and update tests
This commit is contained in:
@@ -33,8 +33,4 @@ export abstract class BaseRedisRepository extends EventEmitter {
|
||||
public async disconnect() {
|
||||
await this.redisClient.disconnect();
|
||||
}
|
||||
|
||||
public async clearAllData() {
|
||||
await this.redisClient.flushAll();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals";
|
||||
import { createClient, RedisClientType } from "redis";
|
||||
import { InMemoryNotificationRepository } from "../InMemoryNotificationRepository";
|
||||
import { NotificationEvent, NotificationRepository } from "../NotificationRepository";
|
||||
import { RedisNotificationRepository } from "../RedisNotificationRepository";
|
||||
@@ -19,17 +20,21 @@ class InMemoryRepositoryHolder implements RepositoryHolder {
|
||||
|
||||
class RedisNotificationRepositoryHolder implements RepositoryHolder {
|
||||
repo: RedisNotificationRepository | undefined;
|
||||
redisClient: RedisClientType | undefined;
|
||||
|
||||
name = 'RedisNotificationRepository';
|
||||
factory = async () => {
|
||||
this.repo = new RedisNotificationRepository();
|
||||
await this.repo.connect();
|
||||
this.redisClient = createClient({
|
||||
url: process.env.REDIS_URL,
|
||||
});
|
||||
await this.redisClient.connect();
|
||||
this.repo = new RedisNotificationRepository(this.redisClient);
|
||||
return this.repo;
|
||||
}
|
||||
teardown = async () => {
|
||||
if (this.repo) {
|
||||
await this.repo.clearAllData();
|
||||
await this.repo.disconnect();
|
||||
if (this.redisClient) {
|
||||
await this.redisClient.flushAll();
|
||||
await this.redisClient.disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { afterEach, beforeEach, describe, expect, it, jest } from "@jest/globals";
|
||||
import { createClient, RedisClientType } from "redis";
|
||||
import { InMemoryParkingRepository, } from "../InMemoryParkingRepository";
|
||||
import { IParkingStructure } from "../../../entities/ParkingRepositoryEntities";
|
||||
import { ParkingGetterSetterRepository } from "../ParkingGetterSetterRepository";
|
||||
@@ -16,17 +17,21 @@ class InMemoryParkingRepositoryHolder implements RepositoryHolder<ParkingGetterS
|
||||
|
||||
class RedisParkingRepositoryHolder implements RepositoryHolder<ParkingGetterSetterRepository> {
|
||||
repo: RedisParkingRepository | undefined;
|
||||
redisClient: RedisClientType | undefined;
|
||||
|
||||
name = 'RedisParkingRepository';
|
||||
factory = async () => {
|
||||
this.repo = new RedisParkingRepository();
|
||||
await this.repo.connect();
|
||||
this.redisClient = createClient({
|
||||
url: process.env.REDIS_URL,
|
||||
});
|
||||
await this.redisClient.connect();
|
||||
this.repo = new RedisParkingRepository(this.redisClient);
|
||||
return this.repo;
|
||||
};
|
||||
teardown = async () => {
|
||||
if (this.repo) {
|
||||
await this.repo.clearAllData();
|
||||
await this.repo.disconnect();
|
||||
if (this.redisClient) {
|
||||
await this.redisClient.flushAll();
|
||||
await this.redisClient.disconnect();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,9 +24,6 @@ export class RedisShuttleRepository extends BaseRedisRepository implements Shutt
|
||||
await this.redisClient.disconnect();
|
||||
}
|
||||
|
||||
public async clearAllData() {
|
||||
await this.redisClient.flushAll();
|
||||
}
|
||||
// EventEmitter override methods for type safety
|
||||
public override on<T extends ShuttleRepositoryEventName>(
|
||||
event: T,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { afterEach, beforeEach, describe, expect, jest, test } from "@jest/globals";
|
||||
import { createClient, RedisClientType } from "redis";
|
||||
import { UnoptimizedInMemoryShuttleRepository } from "../UnoptimizedInMemoryShuttleRepository";
|
||||
import { ShuttleGetterSetterRepository } from "../ShuttleGetterSetterRepository";
|
||||
import { RedisShuttleRepository } from "../RedisShuttleRepository";
|
||||
@@ -23,17 +24,21 @@ class UnoptimizedInMemoryShuttleRepositoryHolder implements RepositoryHolder<Shu
|
||||
|
||||
class RedisShuttleRepositoryHolder implements RepositoryHolder<ShuttleGetterSetterRepository> {
|
||||
repo: RedisShuttleRepository | undefined;
|
||||
redisClient: RedisClientType | undefined;
|
||||
|
||||
name = 'RedisShuttleRepository';
|
||||
factory = async () => {
|
||||
this.repo = new RedisShuttleRepository();
|
||||
await this.repo.connect();
|
||||
this.redisClient = createClient({
|
||||
url: process.env.REDIS_URL,
|
||||
});
|
||||
await this.redisClient.connect();
|
||||
this.repo = new RedisShuttleRepository(this.redisClient);
|
||||
return this.repo;
|
||||
};
|
||||
teardown = async () => {
|
||||
if (this.repo) {
|
||||
await this.repo.clearAllData();
|
||||
await this.repo.disconnect();
|
||||
if (this.redisClient) {
|
||||
await this.redisClient.flushAll();
|
||||
await this.redisClient.disconnect();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,6 +8,4 @@ export interface ExternalSourceETARepository extends ETAGetterRepository {
|
||||
addOrUpdateEtaFromExternalSource(eta: IEta): Promise<void>;
|
||||
|
||||
removeEtaIfExists(shuttleId: string, stopId: string): Promise<IEta | null>;
|
||||
|
||||
clearAllData(): Promise<void>;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,4 @@ export class RedisExternalSourceETARepository extends BaseRedisRepository implem
|
||||
removeAllListeners(eventName?: string | symbol | undefined): this {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
clearAllData(): Promise<void> {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { afterEach, beforeEach, describe, expect, test } from "@jest/globals";
|
||||
import { createClient, RedisClientType } from "redis";
|
||||
import { RepositoryHolder } from "../../../../../testHelpers/RepositoryHolder";
|
||||
import { ExternalSourceETARepository } from "../ExternalSourceETARepository";
|
||||
import { RedisExternalSourceETARepository } from "../RedisExternalSourceETARepository";
|
||||
@@ -6,17 +7,21 @@ import { generateMockEtas } from "../../../../../testHelpers/mockDataGenerators"
|
||||
|
||||
class RedisExternalSourceETARepositoryHolder implements RepositoryHolder<ExternalSourceETARepository> {
|
||||
repo: RedisExternalSourceETARepository | undefined;
|
||||
redisClient: RedisClientType | undefined;
|
||||
|
||||
name = "RedisExternalSourceETARepository"
|
||||
factory = async () => {
|
||||
this.repo = new RedisExternalSourceETARepository();
|
||||
await this.repo.connect();
|
||||
this.redisClient = createClient({
|
||||
url: process.env.REDIS_URL,
|
||||
});
|
||||
await this.redisClient.connect();
|
||||
this.repo = new RedisExternalSourceETARepository(this.redisClient);
|
||||
return this.repo;
|
||||
}
|
||||
teardown = async () => {
|
||||
if (this.repo) {
|
||||
await this.repo.clearAllData();
|
||||
await this.repo.disconnect();
|
||||
if (this.redisClient) {
|
||||
await this.redisClient.flushAll();
|
||||
await this.redisClient.disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { afterEach, beforeEach, describe, expect, test } from "@jest/globals";
|
||||
import { createClient, RedisClientType } from "redis";
|
||||
import { RepositoryHolder } from "../../../../../testHelpers/RepositoryHolder";
|
||||
import { SelfUpdatingETARepository } from "../SelfUpdatingETARepository";
|
||||
import { RedisSelfUpdatingETARepository } from "../RedisSelfUpdatingETARepository";
|
||||
@@ -8,25 +9,25 @@ import { setupRouteAndOrderedStopsForShuttleRepository } from "../../../../../te
|
||||
class RedisSelfUpdatingETARepositoryHolder implements RepositoryHolder<SelfUpdatingETARepository> {
|
||||
repo: RedisSelfUpdatingETARepository | undefined;
|
||||
shuttleRepo: RedisShuttleRepository | undefined;
|
||||
redisClient: RedisClientType | undefined;
|
||||
|
||||
name = "RedisSelfUpdatingETARepository"
|
||||
factory = async () => {
|
||||
this.shuttleRepo = new RedisShuttleRepository();
|
||||
await this.shuttleRepo.connect();
|
||||
this.redisClient = createClient({
|
||||
url: process.env.REDIS_URL,
|
||||
});
|
||||
await this.redisClient.connect();
|
||||
this.shuttleRepo = new RedisShuttleRepository(this.redisClient);
|
||||
this.repo = new RedisSelfUpdatingETARepository(
|
||||
this.shuttleRepo,
|
||||
this.redisClient,
|
||||
);
|
||||
await this.repo.connect();
|
||||
return this.repo;
|
||||
}
|
||||
teardown = async () => {
|
||||
if (this.shuttleRepo) {
|
||||
await this.shuttleRepo.clearAllData();
|
||||
await this.shuttleRepo.disconnect();
|
||||
}
|
||||
if (this.repo) {
|
||||
await this.repo.clearAllData();
|
||||
await this.repo.disconnect();
|
||||
if (this.redisClient) {
|
||||
await this.redisClient.flushAll();
|
||||
await this.redisClient.disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user