@netatwork/mocha-utils
Version:
Utility package for mocha based test setup
18 lines • 1.4 kB
TypeScript
/*! ********************************************************************************
* Disclaimer:
* This is influenced from internals of Aurelia2: https://github.com/aurelia/aurelia
******************************************************************************** */
export interface TestContext<TSut> {
sut?: TSut;
}
export type TestFunction<TTestContext extends TestContext<any>> = (ctx: TTestContext) => void | Promise<void>;
export type WrapperFunction<TTestContext extends TestContext<any>, TSetupContext> = (testFunction: TestFunction<TTestContext>, setupContext?: TSetupContext) => void | Promise<void>;
export type TestRunner<TSetupContext, TTestContext extends TestContext<any>> = (title: string, testFunction: (ctx: TTestContext) => void, setupContext?: TSetupContext) => void;
type spec<TTestContext extends TestContext<any>, TSetupContext> = (title: string, testFunction: TestFunction<TTestContext>, setupContext?: TSetupContext) => void;
type $It<TTestContext extends TestContext<any>, TSetupContext> = spec<TTestContext, TSetupContext> & {
only: spec<TTestContext, TSetupContext>;
skip: spec<TTestContext, TSetupContext>;
};
export declare function createSpecFunction<TTestContext extends TestContext<any>, TSetupContext>(wrap: WrapperFunction<TTestContext, TSetupContext>): $It<TTestContext, TSetupContext>;
export {};
//# sourceMappingURL=createSpecFunction.d.ts.map