@contract-case/case-core
Version:
Core functionality for the ContractCase contract testing suite
37 lines • 2.3 kB
TypeScript
import { CaseError, CaseExample, MatchContextWithoutLookup } from '@contract-case/case-plugin-base';
import { AnyCaseMatcherOrData, LookupableMatcher } from '@contract-case/case-plugin-dsl-types';
import { CaseContractDescription, ContractData } from '../../entities/types';
export declare const makeContract: (description: CaseContractDescription) => ContractData;
export declare const addExample: (contract: ContractData, example: CaseExample, context: MatchContextWithoutLookup) => ContractData;
/**
* Whether the contract has any examples or not
*
* @param contract - a ContractData object
* @returns true if the contract has no examples
*/
export declare const isEmpty: (contract: ContractData) => boolean;
/**
* Whether the contract has any examples that are failures
*
* @param contract - a ContractData object
* @returns true if the contract has any failed examples
*/
export declare const hasFailure: (contract: ContractData) => boolean;
export declare const getFailures: (contract: ContractData) => CaseError[];
/**
* Counts the number of interactions that are VERIFIED (ie, have passed during this run, or previously before the contract was written)
* @param contract - a ContractData object
* @returns the number of interactions that are VERIFIED
*/
export declare const getSuccessCount: (contract: ContractData) => number;
/**
* Counts the number of interactions that are PENDING (ie, not failed or verified)
* @param contract - a ContractData object
* @returns the number of interactions that are PENDING
*/
export declare const getPendingCount: (contract: ContractData) => number;
export declare const findMatcher: (contract: ContractData, uniqueName: string, context: MatchContextWithoutLookup) => AnyCaseMatcherOrData | undefined;
export declare const addVariable: (contract: ContractData, uniqueName: string, type: "default" | "state", variable: AnyCaseMatcherOrData, context: MatchContextWithoutLookup) => ContractData;
export declare const findVariable: (contract: ContractData, uniqueName: string, context: MatchContextWithoutLookup) => AnyCaseMatcherOrData | undefined;
export declare const addLookupableMatcher: (contract: ContractData, matcher: LookupableMatcher, context: MatchContextWithoutLookup) => ContractData;
//# sourceMappingURL=structure.d.ts.map