Parameters
- ServiceClass: Object
- mockRepository: any
- additionalDependencies: Record<string, any> = {}
Returns {
service: T;
mockRepository: any;
mockAuth: any;
mockLogger: any;
additionalDependencies: Record<string, any>;
helpers: {
reset: () => void;
mockRepositoryMethod: (methodName: string, returnValue: any) => void;
mockRepositoryError: (methodName: string, error: Error) => void;
mockAuthMethods: (hashResult?: string, compareResult?: boolean) => void;
createMockPaginatedResult: <TData>(
data: TData[],
options?: QueryOptions,
) => PaginatedResult<TData>;
expectRepositoryCall: (methodName: string, ...expectedArgs: any[]) => void;
expectRepositoryCallCount: (methodName: string, times: number) => void;
expectLoggerCall: (
level: "error" | "warn" | "info" | "debug",
message: string,
meta?: any,
) => void;
};
}
Test setup object with service instance and helper methods
Standard pattern for service tests Sets up a service test environment with repository mocks and common dependencies