@miller-svt/jest-marbles
Version:
Marble testing helpers library for RxJs and Jest
30 lines (29 loc) • 1.33 kB
TypeScript
import { ColdObservable } from './src/rxjs/cold-observable';
import { HotObservable } from './src/rxjs/hot-observable';
import { Subscription } from 'rxjs';
export type ObservableWithSubscriptions = ColdObservable | HotObservable;
export { Scheduler } from './src/rxjs/scheduler';
declare global {
namespace jest {
interface Matchers<R extends void | Promise<void>> {
toBeObservable(observable: ObservableWithSubscriptions): R;
toHaveSubscriptions(marbles: string | string[]): R;
toHaveNoSubscriptions(): R;
toBeMarble(marble: string): R;
toSatisfyOnFlush(func: () => void): R;
}
}
}
declare module 'expect' {
interface Matchers<R extends void | Promise<void>> {
toBeObservable(observable: ObservableWithSubscriptions): R;
toHaveSubscriptions(marbles: string | string[]): R;
toHaveNoSubscriptions(): R;
toBeMarble(marble: string): R;
toSatisfyOnFlush(func: () => void): R;
}
}
export declare function hot(marbles: string, values?: object, error?: object): HotObservable;
export declare function cold(marbles: string, values?: object, error?: object): ColdObservable;
export declare function time(marbles: string): number;
export declare function schedule(work: () => void, delay: number): Subscription;