2025-02-17 14:50:13 +01:00
|
|
|
import { TelemetryRepository } from 'src/repositories/telemetry.repository';
|
|
|
|
import { RepositoryInterface } from 'src/types';
|
2024-10-18 14:50:32 -04:00
|
|
|
import { Mocked, vitest } from 'vitest';
|
|
|
|
|
|
|
|
const newMetricGroupMock = () => {
|
|
|
|
return {
|
|
|
|
addToCounter: vitest.fn(),
|
|
|
|
addToGauge: vitest.fn(),
|
|
|
|
addToHistogram: vitest.fn(),
|
|
|
|
configure: vitest.fn(),
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-02-17 14:50:13 +01:00
|
|
|
type ITelemetryRepository = RepositoryInterface<TelemetryRepository>;
|
|
|
|
|
2025-01-23 18:10:17 -05:00
|
|
|
export type ITelemetryRepositoryMock = {
|
|
|
|
[K in keyof ITelemetryRepository]: Mocked<RepositoryInterface<ITelemetryRepository[K]>>;
|
|
|
|
};
|
|
|
|
|
|
|
|
export const newTelemetryRepositoryMock = (): ITelemetryRepositoryMock => {
|
2024-10-18 14:50:32 -04:00
|
|
|
return {
|
2024-10-21 19:52:30 -04:00
|
|
|
setup: vitest.fn(),
|
2024-10-18 14:50:32 -04:00
|
|
|
api: newMetricGroupMock(),
|
|
|
|
host: newMetricGroupMock(),
|
|
|
|
jobs: newMetricGroupMock(),
|
|
|
|
repo: newMetricGroupMock(),
|
|
|
|
};
|
|
|
|
};
|