/* eslint-disable @typescript-eslint/lines-between-class-members */ /* eslint-disable @typescript-eslint/no-unused-vars */ import EventEmitter from 'events'; import { IClientMetricsEnv, IClientMetricsEnvKey, IClientMetricsStoreV2, } from '../../lib/types/stores/client-metrics-store-v2'; export default class FakeClientMetricsStoreV2 extends EventEmitter implements IClientMetricsStoreV2 { metrics: IClientMetricsEnv[] = []; constructor() { super(); this.setMaxListeners(0); } getSeenTogglesForApp( appName: string, hoursBack?: number, ): Promise { throw new Error('Method not implemented.'); } clearMetrics(hoursBack: number): Promise { return Promise.resolve(); } getSeenAppsForFeatureToggle( featureName: string, hoursBack?: number, ): Promise { throw new Error('Method not implemented.'); } getMetricsForFeatureToggle( featureName: string, hoursBack?: number, ): Promise { throw new Error('Method not implemented.'); } batchInsertMetrics(metrics: IClientMetricsEnv[]): Promise { metrics.forEach((m) => this.metrics.push(m)); return Promise.resolve(); } get(key: IClientMetricsEnvKey): Promise { throw new Error('Method not implemented.'); } getAll(query?: Object): Promise { throw new Error('Method not implemented.'); } exists(key: IClientMetricsEnvKey): Promise { throw new Error('Method not implemented.'); } delete(key: IClientMetricsEnvKey): Promise { throw new Error('Method not implemented.'); } async getMetricsLastHour(): Promise<[]> { return Promise.resolve([]); } async insert(): Promise { return Promise.resolve(); } async deleteAll(): Promise { return Promise.resolve(undefined); } destroy(): void {} }