@case-contract-testing/case
Version:
Next-generation contract testing suite
27 lines (26 loc) • 1.81 kB
TypeScript
import { WritingCaseContract } from '../../core';
import type { MultiTestInvoker, Trigger } from '../../core/executeExample/types';
import type { CaseConfig } from '../../core/types';
import type { AnyCaseNodeType, AnyData, AnyMockDescriptorType, AnyState, CaseMockDescriptorFor, ContractDescription, DataOrCaseNodeFor, SetupInfoFor } from '../../entities/types';
export type DefinitionSuccessExample<T extends AnyMockDescriptorType, R = unknown> = MultiTestInvoker<T, R> & {
states?: Array<AnyState>;
definition: CaseMockDescriptorFor<T>;
trigger?: Trigger<T, R>;
testResponse?: (data: R, config: SetupInfoFor<T>) => unknown;
};
export type DefinitionFailingExample<T extends AnyMockDescriptorType, R = unknown> = MultiTestInvoker<T, R> & {
states?: Array<AnyState>;
definition: CaseMockDescriptorFor<T>;
trigger?: Trigger<T, R>;
testErrorResponse?: (err: Error, config: SetupInfoFor<T>) => unknown;
};
export declare class ContractDefinerConnector<M extends AnyMockDescriptorType> {
contract: WritingCaseContract;
invoker: MultiTestInvoker<M>;
config: CaseConfig;
constructor(description: ContractDescription, config: CaseConfig, invoker: MultiTestInvoker<M>, dependencies?: import("../../core/types").WriterDependencies);
runExample<T extends AnyMockDescriptorType, R>({ states, definition, trigger, triggers, testResponse, stateHandlers, }: DefinitionSuccessExample<T, R>, runConfig?: CaseConfig): Promise<unknown>;
runRejectingExample<T extends AnyMockDescriptorType, R>({ states, definition, trigger, triggers, testErrorResponse, stateHandlers, }: DefinitionFailingExample<T, R>, runConfig?: CaseConfig): Promise<unknown>;
endRecord(): Promise<unknown>;
stripMatchers<T extends AnyCaseNodeType>(matcherOrData: DataOrCaseNodeFor<T>): AnyData;
}