readiness-manager
Version:
👨💼 Define when your app is ready
58 lines (44 loc) • 1.32 kB
text/typescript
import { ReadinessManager } from '../src/index';
import type { ReadyCallback, ReadyAction, ActionsStatus } from '../src/types';
import type { ActionErrorHandler } from '../src/error';
export interface ReadinessManagerMock extends ReadinessManager {
setReady: (isReady: boolean) => void;
orchestrate: () => void;
}
/**
* Test mock helper class.
*/
class ReadinessManagerMockImpl implements ReadinessManagerMock {
private _ready = false;
get ready(): boolean {
return this._ready;
}
status(): ActionsStatus {
return {} as ActionsStatus;
}
setReady(isReady: boolean): void {
this._ready = isReady;
}
register(_name: string, _action: ReadyAction, _debug?: boolean): void {
return undefined;
}
run(): ReadinessManager {
return this;
}
orchestrate(): void {
this._ready = true;
}
onReady(callback: ReadyCallback): ReadinessManager {
callback();
return this;
}
onActionReady(_name: string, callback: ReadyCallback): ReadinessManager {
callback();
return this;
}
onError(_errorHandler: ActionErrorHandler): ReadinessManager {
return this;
}
}
const manager: ReadinessManagerMock = new ReadinessManagerMockImpl();
export default manager;