ngrx 6, тестируемый опекун marable TypeError: Невозможно прочитать свойство 'add' из неопределенного - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть простой тест хранителя со следующей ошибкой:

    TypeError: Cannot read property 'add' of undefined

Я не понимаю, что я делаю неправильно.Можете ли вы сказать мне, что я делаю не так, и напишите мне любой учебник по ngrx по мрамору?

Мой код теста и опекуна:

const store: Store<OrderState> = mock(Store);
let guardian: InitVehicleGuardian;

fdescribe('InitVehicleGuardian', () => {


it('should  be created', () => {
    guardian = new InitVehicleGuardian(instance(store));
    expect(guardian).toBeTruthy();
});
fit('when vehicles loaded then return true', () => {
    when(fromStore.getLoadedVehiclesFlag).thenCall(
        () => hot('a', {a: true})
    );
    guardian = new InitVehicleGuardian(instance(store));
    const expected = cold('a', { a: true });
    expect(guardian.canActivate()).toBeObservable(expected);
});

});

И опекун

@Injectable()
export class InitVehicleGuardian implements CanActivate {
  constructor(private store: Store<OrderState>) {
  }

public canActivate(): Observable<boolean> {
    return this.checkStore().pipe(
        switchMap(() => of(true)),
        catchError(() => {
                return of(false);
            }
        )
    );
}

private checkStore(): Observable<boolean> {
    return this.store.pipe(
        select(fromStore.getLoadedVehiclesFlag),
        tap(loaded => {
            if (!loaded) {
                this.store.dispatch(new LoadVehicles());
            }
        }),
        filter(loaded => loaded),
        first()
    );
}

}

...