wishthis/node_modules/@types/expect/index.d.ts
2022-01-21 09:28:41 +01:00

105 lines
5 KiB
TypeScript

// Type definitions for Expect 1.20
// Project: https://github.com/facebook/jest
// Definitions by: Justin Reidy <https://github.com/jmreidy>, Risto Keravuori <https://github.com/merrywhether>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace expect {
type CompareValues<T> = (a: T, b: T) => boolean;
type Comparator = (target: {}, key: string) => boolean;
type KeyType = string | number;
class Expectation<T> {
constructor(actual: any);
toExist(message?: string): Expectation<T>;
toBeTruthy(message?: string): Expectation<T>;
toNotExist(message?: string): Expectation<T>;
toBeFalsy(message?: string): Expectation<T>;
toBeNull(message?: string): Expectation<T>;
toBeDefined(message?: string): Expectation<T>;
toBeUndefined(message?: string): Expectation<T>;
toBe(value: T, message?: string): Expectation<T>;
toNotBe(value: any, message?: string): Expectation<T>;
toEqual(value: any, message?: string): Expectation<T>;
toNotEqual(value: any, message?: string): Expectation<T>;
toThrow(error?: {}, message?: string): Expectation<T>;
toNotThrow(error?: {}, message?: string): Expectation<T>;
toBeA(value: string | {}, message?: string): Expectation<T>;
toBeAn(value: string | {}, message?: string): Expectation<T>;
toNotBeA(value: string | {}, message?: string): Expectation<T>;
toNotBeAn(value: string | {}, message?: string): Expectation<T>;
toMatch(value: string | RegExp | {}, message?: string): Expectation<T>;
toNotMatch(value: string | RegExp | {}, message?: string): Expectation<T>;
toMatchObject(value: {}, message?: string): Expectation<T>;
toBeLessThan(value: number, message?: string): Expectation<T>;
toBeLessThanOrEqualTo(value: number, messasge?: string): Expectation<T>;
toBeFewerThan(value: number, message?: string): Expectation<T>;
toBeGreaterThan(value: number, message?: string): Expectation<T>;
toBeGreaterThanOrEqualTo(value: number, messasge?: string): Expectation<T>;
toBeMoreThan(value: number, message?: string): Expectation<T>;
toInclude<U>(value: any, compareValues?: CompareValues<U>, message?: string): Expectation<T>;
toContain<U>(value: any, compareValues?: CompareValues<U>, message?: string): Expectation<T>;
toExclude<U>(value: any, compareValues?: CompareValues<U>, message?: string): Expectation<T>;
toNotContain<U>(value: any, compareValues?: CompareValues<U>, message?: string): Expectation<T>;
toIncludeKeys(keys: KeyType[], comparator?: Comparator, message?: string): Expectation<T>;
toContainKeys(keys: KeyType[], comparator?: Comparator, message?: string): Expectation<T>;
toExcludeKeys(keys: KeyType[], comparator?: Comparator, message?: string): Expectation<T>;
toNotContainKeys(keys: KeyType[], comparator?: Comparator, message?: string): Expectation<T>;
toNotIncludeKeys(keys: KeyType[], comparator?: Comparator, message?: string): Expectation<T>;
toIncludeKey(key: KeyType, comparator?: Comparator, message?: string): Expectation<T>;
toContainKey(key: KeyType, comparator?: Comparator, message?: string): Expectation<T>;
toExcludeKey(key: KeyType, comparator?: Comparator, message?: string): Expectation<T>;
toNotContainKey(key: KeyType, comparator?: Comparator, message?: string): Expectation<T>;
toNotIncludeKey(key: KeyType, comparator?: Comparator, message?: string): Expectation<T>;
toHaveBeenCalled(message?: string): Expectation<T>;
toNotHaveBeenCalled(message?: string): Expectation<T>;
toHaveBeenCalledWith(...args: any[]): Expectation<T>;
toHaveBeenLastCalledWith(...args: any[]): Expectation<T>;
not: Expectation<T>;
// deprecated
withContext(context: any): Expectation<T>;
withArgs(...args: any[]): Expectation<T>;
}
interface Extension {
[name: string]: (args?: any[]) => void;
}
interface Call<T> {
context: T;
arguments: any[];
}
interface Spy<T> {
(...args: any[]): void;
__isSpy: boolean;
calls: Array<Call<T>>;
andCall(fn: (...args: any[]) => any): Spy<T>;
andCallThrough(): Spy<T>;
andThrow(object: {}): Spy<T>;
andReturn(value: any): Spy<T>;
getLastCall(): Call<T>;
restore(): void;
destroy(): void;
reset(): void;
}
function createSpy(fn?: (...args: any[]) => any, restore?: (...args: any[]) => any): Spy<any>;
function spyOn<T>(object: T, methodName: string): Spy<T>;
function isSpy(object: {}): boolean;
function restoreSpies(): void;
function assert(condition: boolean, messageFormat: string, ...extraArgs: any[]): void;
function extend(extension: Extension): void;
function any<T>(ctor: { new (): T }): T;
}
declare function expect<T>(actual: T): expect.Expectation<T>;
export = expect;