@case-contract-testing/case
Version:
Next-generation contract testing suite
14 lines (13 loc) • 1.28 kB
TypeScript
import type { ContractData, MatchContext, ContractDescription, LogLevelContext, Logger, MatchContextWithoutLookup, AnyCaseNodeOrData, LookupableMatcher, AnyCaseNodeType, DataOrCaseNodeFor, AnyData, MatchResult, ResultPrinter } from '../entities/types';
import type { CaseConfig } from './config/types';
export declare class BaseCaseContract {
currentContract: ContractData;
initialContext: MatchContext;
constructor(description: ContractDescription, config: CaseConfig, defaultConfig: CaseConfig, resultPrinter: ResultPrinter, makeLogger: (context: LogLevelContext) => Logger);
lookupVariable(name: string, context: MatchContextWithoutLookup): AnyCaseNodeOrData;
addVariable(name: string, type: 'default' | 'state', stateName: string, value: AnyCaseNodeOrData, context: MatchContextWithoutLookup): [name: string, value: AnyCaseNodeOrData];
saveLookupableMatcher(namedMatcher: LookupableMatcher, context: MatchContextWithoutLookup): ContractData;
lookupMatcher(uniqueName: string, context: MatchContextWithoutLookup): AnyCaseNodeOrData;
stripMatchers<T extends AnyCaseNodeType>(matcherOrData: DataOrCaseNodeFor<T>): AnyData;
checkMatch<T extends AnyCaseNodeType>(matcherOrData: DataOrCaseNodeFor<T>, actual: unknown): Promise<MatchResult>;
}