Angular Объекты проверки кармы: невозможно прочитать свойство undefined для undefined - PullRequest
0 голосов
/ 07 мая 2020

Я застрял в этой проблеме, и сейчас я не знаю, как ее решить или найти решение.

У меня есть услуга angular, которую я использую, чтобы получить дневную запись из списка покупок в моем магазине NGXS.

Однако это вызывает ошибку в тесте ng говоря «Невозможно прочесть свойство undefined для undefined»

Код в службе выглядит так, довольно просто.

getDataFromStore(daySelected: string): DailyShopList {
    return this.store.selectSnapshot<DailyShopList>(
        state => state.shoppingList.dailyEntries[daySelected] <--- issue is here
    );
}

Если вы посмотрите на строка state => state.shoppingList.dailyEntries [daySelected] , здесь я получаю ошибку. Когда я удаляю [daySelected] с конца объекта, я не получаю ошибок.

Итак, в моем тестовом файле я попытался имитировать данные, как если бы они поступали из магазина. Но все равно выдает ошибку.

describe('ShoppingListService', () => {
    let service: ShoppingListService;
    const data = {
        state: {
            shoppingList: {
                dailyEntries: {
                    mon: {},
                    tue: {},
                },
            },
        },
    };

    beforeEach(() => {
        TestBed.configureTestingModule({
            imports: [
                HttpClientTestingModule,
                NgxsModule.forRoot([MyNGXSstate]),
            ],
        });
        service = TestBed.inject(ShoppingListService);
        const store: Store = TestBed.get(Store);

        spyOn(store, 'selectSnapshot').and.returnValue(data); // trying to mock data from store
    });

    it('should be created', () => {
        expect(service).toBeTruthy();
    });
});

Что мне не хватает?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...