diff --git a/mockery/mockery-test.ts b/mockery/mockery-test.ts new file mode 100644 index 000000000..d8623b3aa --- /dev/null +++ b/mockery/mockery-test.ts @@ -0,0 +1,41 @@ +/// + +import mockery = require('mockery'); + +mockery.enable(); +mockery.enable({}); +mockery.enable({ + useCleanCache: true, + warnOnReplace: true, + warnOnUnregistered: true +}); + +mockery.disable(); + +var fsMock = { + stat: (path: any, cb: any) => { /* your mock code */ } +}; +mockery.registerMock('fs', fsMock); + +mockery.deregisterMock('fs'); + +mockery.registerSubstitute('fs', 'fs-mock'); + +mockery.deregisterSubstitute('fs'); + +mockery.registerAllowable('./my-source-under-test'); +mockery.registerAllowable('./my-source-under-test', true); + +mockery.deregisterAllowable('./my-source-under-test'); + +mockery.registerAllowables(['async', 'path', 'util']); + +mockery.deregisterAllowables(['async', 'path', 'util']); + +mockery.deregisterAll(); + +mockery.resetCache(); + +mockery.warnOnUnregistered(false); + +mockery.warnOnReplace(false); \ No newline at end of file diff --git a/mockery/mockery.d.ts b/mockery/mockery.d.ts new file mode 100644 index 000000000..5b9bda9fa --- /dev/null +++ b/mockery/mockery.d.ts @@ -0,0 +1,38 @@ +// Type definitions for mockery 1.4.0 +// Project: https://github.com/mfncooper/mockery +// Definitions by: jt000 +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module "mockery" { + + module m { + interface MockeryEnableArgs { + useCleanCache?: boolean; + warnOnReplace?: boolean; + warnOnUnregistered?: boolean; + } + + function enable(args?: MockeryEnableArgs): void; + function disable(): void; + + function registerMock(name: string, mock: any): void; + function deregisterMock(name: string): void; + + function registerSubstitute(name: string, substitute: string): void; + function deregisterSubstitute(name: string): void; + + function registerAllowable(name: string, unhook?: boolean): void; + function deregisterAllowable(name: string): void; + + function registerAllowables(names: string[]): void; + function deregisterAllowables(names: string[]): void; + + function deregisterAll(): void; + function resetCache(): void; + function warnOnUnregistered(value: boolean): void; + function warnOnReplace(value: boolean): void; + + } + + export = m; +} \ No newline at end of file