mirror of
https://github.com/immich-app/immich.git
synced 2025-04-13 11:36:24 +02:00
28 lines
797 B
TypeScript
28 lines
797 B
TypeScript
import { TelemetryRepository } from 'src/repositories/telemetry.repository';
|
|
import { RepositoryInterface } from 'src/types';
|
|
import { Mocked, vitest } from 'vitest';
|
|
|
|
const newMetricGroupMock = () => {
|
|
return {
|
|
addToCounter: vitest.fn(),
|
|
addToGauge: vitest.fn(),
|
|
addToHistogram: vitest.fn(),
|
|
configure: vitest.fn(),
|
|
};
|
|
};
|
|
|
|
type ITelemetryRepository = RepositoryInterface<TelemetryRepository>;
|
|
|
|
export type ITelemetryRepositoryMock = {
|
|
[K in keyof ITelemetryRepository]: Mocked<RepositoryInterface<ITelemetryRepository[K]>>;
|
|
};
|
|
|
|
export const newTelemetryRepositoryMock = (): ITelemetryRepositoryMock => {
|
|
return {
|
|
setup: vitest.fn(),
|
|
api: newMetricGroupMock(),
|
|
host: newMetricGroupMock(),
|
|
jobs: newMetricGroupMock(),
|
|
repo: newMetricGroupMock(),
|
|
};
|
|
};
|