import { Injectable } from '@angular/core'; import { ActionsSubject, ReducerManager, StateObservable, Store } from '@ngrx/store'; import { BehaviorSubject } from 'rxjs'; @Injectable() export class StoreMock<T> extends Store<T> { private stateSubject = new BehaviorSubject<T>({} as T); constructor( state$: StateObservable, actionsObserver: ActionsSubject, reducerManager: ReducerManager ) { super(state$, actionsObserver, reducerManager); this.source = this.stateSubject.asObservable(); } nextState(nextState: T) { this.stateSubject.next(nextState); } }