inceptum
Version:
hipages take on the foundational library for enterprise-grade apps written in NodeJS
30 lines (29 loc) • 1.09 kB
TypeScript
export declare class MockObj {
objProto: Object;
constructor(objProto: Object);
}
export declare class MyProxyHandler<T extends Object> implements ProxyHandler<T> {
expects: any[];
baseClass: Function;
constructor(baseClass: Function);
get(target: T, p: PropertyKey, receiver: any): any;
registerExpect(funcName: string, args: Array<any>, resp: any): void;
doCall(target: T, p: PropertyKey, args: Array<any>): any;
}
export declare function mock<H extends Object>(clazz: Function, target?: H): H;
export declare class ResponseCapture {
args: any[];
functionName: string;
handler: MyProxyHandler<any>;
constructor(handler: MyProxyHandler<any>, functionName: string, args: Array<any>);
thenReturn(resp: any): void;
}
export declare class CallCapture {
functionName: string;
args: any[];
handler: MyProxyHandler<any>;
constructor(handler: MyProxyHandler<any>, functionName: string);
isCalled(): ResponseCapture;
isCalledWith(...args: any[]): ResponseCapture;
}
export declare function when(f: Function): CallCapture;