ts-mock-imports
Version:
Intuitive mocking for Typescript class imports
22 lines (21 loc) • 915 B
TypeScript
/// <reference types="sinon" />
import { IConstruct, IModule, StringKeyOf } from '../types';
import { Manager } from './manager';
export interface IMockOptions {
returns?: any;
}
export declare class MockManager<T> extends Manager {
protected module: IModule;
protected importName: string;
protected original: IConstruct<T>;
protected stubClass: IConstruct<T>;
constructor(module: IModule, importName: string);
mock(funcName: StringKeyOf<T>, returns?: any): sinon.SinonStub;
set<K extends keyof T & string>(varName: K, replaceWith?: Partial<T[K]>): void;
getMockInstance(): T;
protected mockFunction(funcName: string, returns?: any): sinon.SinonStub;
protected replaceFunction(funcName: string, newFunc: () => any): void;
protected replace(name: string, arg: any): void;
protected getAllFunctionNames(obj: any): string[];
protected createStubClass(): void;
}