import {EMPTY, NEVER, Observable, of} from 'rxjs'; import {switchMap} from 'rxjs/operators'; import {ResponseAcknowledge} from '../generic'; import {MyPhoneService} from '../myphone/my-phone-service'; import {IGenericRequest, IMyPhoneSession} from '../myphone/my-phone-session'; import {ofType} from '../myphone/utils'; export class MyPhoneServiceStub implements Partial { readonly info$ = EMPTY; isLoading!: boolean; constructor(public readonly myPhoneSession$?: Observable) { } get(request: IGenericRequest): Observable { return of(new ResponseAcknowledge() as any as T); } notificationsOfType$(constructor: { new(): K }): Observable { return this.myPhoneSession$ ? this.myPhoneSession$.pipe(switchMap(session => session.messages$), ofType(constructor)) : NEVER; } }